Migrate more strings to translation keys (#11637)
This commit is contained in:
parent
fc9caa3269
commit
d77b871769
107 changed files with 7689 additions and 6497 deletions
|
@ -119,7 +119,7 @@ const FileDropTarget: React.FC<IProps> = ({ parent, onFileDrop }) => {
|
|||
className="mx_FileDropTarget_image"
|
||||
alt=""
|
||||
/>
|
||||
{_t("Drop file here to upload")}
|
||||
{_t("room|drop_file_prompt")}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -231,7 +231,7 @@ class FilePanel extends React.Component<IProps, IState> {
|
|||
<BaseCard className="mx_FilePanel mx_RoomView_messageListWrapper" onClose={this.props.onClose}>
|
||||
<div className="mx_RoomView_empty">
|
||||
{_t(
|
||||
"You must <a>register</a> to use this functionality",
|
||||
"file_panel|guest_note",
|
||||
{},
|
||||
{
|
||||
a: (sub) => (
|
||||
|
@ -247,7 +247,7 @@ class FilePanel extends React.Component<IProps, IState> {
|
|||
} else if (this.noRoom) {
|
||||
return (
|
||||
<BaseCard className="mx_FilePanel mx_RoomView_messageListWrapper" onClose={this.props.onClose}>
|
||||
<div className="mx_RoomView_empty">{_t("You must join the room to see its files")}</div>
|
||||
<div className="mx_RoomView_empty">{_t("file_panel|peek_note")}</div>
|
||||
</BaseCard>
|
||||
);
|
||||
}
|
||||
|
@ -256,8 +256,8 @@ class FilePanel extends React.Component<IProps, IState> {
|
|||
|
||||
const emptyState = (
|
||||
<div className="mx_RightPanel_empty mx_FilePanel_empty">
|
||||
<h2>{_t("No files visible in this room")}</h2>
|
||||
<p>{_t("Attach files from chat or just drag and drop them anywhere in a room.")}</p>
|
||||
<h2>{_t("file_panel|empty_heading")}</h2>
|
||||
<p>{_t("file_panel|empty_description")}</p>
|
||||
</div>
|
||||
);
|
||||
|
||||
|
|
|
@ -515,12 +515,8 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
|||
const normalFontSize = "15px";
|
||||
|
||||
const waitText = _t("Wait!");
|
||||
const scamText = _t(
|
||||
"If someone told you to copy/paste something here, there is a high likelihood you're being scammed!",
|
||||
);
|
||||
const devText = _t(
|
||||
"If you know what you're doing, Element is open-source, be sure to check out our GitHub (https://github.com/vector-im/element-web/) and contribute!",
|
||||
);
|
||||
const scamText = _t("console_scam_warning");
|
||||
const devText = _t("console_dev_note");
|
||||
|
||||
global.mx_rage_logger.bypassRageshake(
|
||||
"log",
|
||||
|
|
|
@ -1232,9 +1232,9 @@ class CreationGrouper extends BaseGrouper {
|
|||
const roomId = ev.getRoomId();
|
||||
const creator = ev.sender?.name ?? ev.getSender();
|
||||
if (roomId && DMRoomMap.shared().getUserIdForRoomId(roomId)) {
|
||||
summaryText = _t("%(creator)s created this DM.", { creator });
|
||||
summaryText = _t("timeline|creation_summary_dm", { creator });
|
||||
} else {
|
||||
summaryText = _t("%(creator)s created and configured the room.", { creator });
|
||||
summaryText = _t("timeline|creation_summary_room", { creator });
|
||||
}
|
||||
|
||||
ret.push(<NewRoomIntro key="newroomintro" />);
|
||||
|
|
|
@ -58,8 +58,8 @@ export default class NotificationPanel extends React.PureComponent<IProps, IStat
|
|||
public render(): React.ReactNode {
|
||||
const emptyState = (
|
||||
<div className="mx_RightPanel_empty mx_NotificationPanel_empty">
|
||||
<h2>{_t("You're all caught up")}</h2>
|
||||
<p>{_t("You have no visible notifications.")}</p>
|
||||
<h2>{_t("notif_panel|empty_heading")}</h2>
|
||||
<p>{_t("notif_panel|empty_description")}</p>
|
||||
</div>
|
||||
);
|
||||
|
||||
|
|
|
@ -245,9 +245,7 @@ const Tile: React.FC<ITileProps> = ({
|
|||
|
||||
let suggestedSection: ReactElement | undefined;
|
||||
if (suggested && (!joinedRoom || hasPermissions)) {
|
||||
suggestedSection = (
|
||||
<InfoTooltip tooltip={_t("This room is suggested as a good one to join")}>{_t("Suggested")}</InfoTooltip>
|
||||
);
|
||||
suggestedSection = <InfoTooltip tooltip={_t("space|suggested_tooltip")}>{_t("space|suggested")}</InfoTooltip>;
|
||||
}
|
||||
|
||||
const content = (
|
||||
|
@ -670,14 +668,14 @@ const ManageButtons: React.FC<IManageButtonsProps> = ({ hierarchy, selected, set
|
|||
if (!selectedRelations.length) {
|
||||
Button = AccessibleTooltipButton;
|
||||
props = {
|
||||
tooltip: _t("Select a room below first"),
|
||||
tooltip: _t("space|select_room_below"),
|
||||
alignment: Alignment.Top,
|
||||
};
|
||||
}
|
||||
|
||||
let buttonText = _t("Saving…");
|
||||
if (!saving) {
|
||||
buttonText = selectionAllSuggested ? _t("Mark as not suggested") : _t("Mark as suggested");
|
||||
buttonText = selectionAllSuggested ? _t("space|unmark_suggested") : _t("space|mark_suggested");
|
||||
}
|
||||
|
||||
return (
|
||||
|
@ -707,7 +705,7 @@ const ManageButtons: React.FC<IManageButtonsProps> = ({ hierarchy, selected, set
|
|||
hierarchy.removeRelation(parentId, childId);
|
||||
}
|
||||
} catch (e) {
|
||||
setError(_t("Failed to remove some rooms. Try again later"));
|
||||
setError(_t("space|failed_remove_rooms"));
|
||||
}
|
||||
setRemoving(false);
|
||||
setSelected(new Map());
|
||||
|
@ -788,13 +786,13 @@ const SpaceHierarchy: React.FC<IProps> = ({ space, initialText = "", showRoom, a
|
|||
const [error, setError] = useState("");
|
||||
let errorText = error;
|
||||
if (!error && hierarchyError) {
|
||||
errorText = _t("Failed to load list of rooms.");
|
||||
errorText = _t("space|failed_load_rooms");
|
||||
}
|
||||
|
||||
const loaderRef = useIntersectionObserver(loadMore);
|
||||
|
||||
if (!loading && hierarchy!.noSupport) {
|
||||
return <p>{_t("Your server does not support showing space hierarchies.")}</p>;
|
||||
return <p>{_t("space|incompatible_server_hierarchy")}</p>;
|
||||
}
|
||||
|
||||
const onKeyDown = (ev: KeyboardEvent, state: IState): void => {
|
||||
|
|
|
@ -354,7 +354,7 @@ export default class UserMenu extends React.Component<IProps, IState> {
|
|||
/>
|
||||
<IconizedContextMenuOption
|
||||
iconClassName="mx_UserMenu_iconLock"
|
||||
label={_t("Security & Privacy")}
|
||||
label={_t("room_settings|security|title")}
|
||||
onClick={(e) => this.onSettingsOpen(e, UserTab.Security)}
|
||||
/>
|
||||
<IconizedContextMenuOption
|
||||
|
@ -410,11 +410,16 @@ export default class UserMenu extends React.Component<IProps, IState> {
|
|||
<RovingAccessibleTooltipButton
|
||||
className="mx_UserMenu_contextMenu_themeButton"
|
||||
onClick={this.onSwitchThemeClick}
|
||||
title={this.state.isDarkTheme ? _t("Switch to light mode") : _t("Switch to dark mode")}
|
||||
title={
|
||||
this.state.isDarkTheme
|
||||
? _t("user_menu|switch_theme_light")
|
||||
: _t("user_menu|switch_theme_dark")
|
||||
}
|
||||
>
|
||||
<img
|
||||
src={require("../../../res/img/element-icons/roomlist/dark-light-mode.svg").default}
|
||||
alt={_t("Switch theme")}
|
||||
role="presentation"
|
||||
alt=""
|
||||
width={16}
|
||||
/>
|
||||
</RovingAccessibleTooltipButton>
|
||||
|
|
|
@ -79,14 +79,16 @@ export default class ViewSource extends React.Component<IProps, IState> {
|
|||
<>
|
||||
<details open className="mx_ViewSource_details">
|
||||
<summary>
|
||||
<span className="mx_ViewSource_heading">{_t("Decrypted event source")}</span>
|
||||
<span className="mx_ViewSource_heading">
|
||||
{_t("devtools|view_source_decrypted_event_source")}
|
||||
</span>
|
||||
</summary>
|
||||
{decryptedEventSource ? (
|
||||
<CopyableText getTextToCopy={copyDecryptedFunc}>
|
||||
<SyntaxHighlight language="json">{stringify(decryptedEventSource)}</SyntaxHighlight>
|
||||
</CopyableText>
|
||||
) : (
|
||||
<div>{_t("Decrypted source unavailable")}</div>
|
||||
<div>{_t("devtools|view_source_decrypted_event_source_unavailable")}</div>
|
||||
)}
|
||||
</details>
|
||||
<details className="mx_ViewSource_details">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue