Align action_*
strings with Element X project in Localazy (#11437)
This commit is contained in:
parent
bdd3710f25
commit
df4a2218d7
166 changed files with 1697 additions and 1555 deletions
|
@ -840,7 +840,7 @@ export default class LegacyCallHandler extends EventEmitter {
|
||||||
button: _t("Try using %(server)s", {
|
button: _t("Try using %(server)s", {
|
||||||
server: new URL(FALLBACK_ICE_SERVER).pathname,
|
server: new URL(FALLBACK_ICE_SERVER).pathname,
|
||||||
}),
|
}),
|
||||||
cancelButton: _t("OK"),
|
cancelButton: _t("action|ok"),
|
||||||
onFinished: (allow) => {
|
onFinished: (allow) => {
|
||||||
SettingsStore.setValue("fallbackICEServerAllowed", null, SettingLevel.DEVICE, allow);
|
SettingsStore.setValue("fallbackICEServerAllowed", null, SettingLevel.DEVICE, allow);
|
||||||
cli.setFallbackICEServerAllowed(!!allow);
|
cli.setFallbackICEServerAllowed(!!allow);
|
||||||
|
|
|
@ -612,7 +612,7 @@ async function checkServerVersions(): Promise<void> {
|
||||||
brand: SdkConfig.get().brand,
|
brand: SdkConfig.get().brand,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
acceptLabel: _t("OK"),
|
acceptLabel: _t("action|ok"),
|
||||||
onAccept: () => {
|
onAccept: () => {
|
||||||
ToastStore.sharedInstance().dismissToast(toastKey);
|
ToastStore.sharedInstance().dismissToast(toastKey);
|
||||||
},
|
},
|
||||||
|
|
|
@ -407,7 +407,7 @@ export const Commands = [
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
),
|
),
|
||||||
button: _t("Continue"),
|
button: _t("action|continue"),
|
||||||
});
|
});
|
||||||
|
|
||||||
prom = finished.then(([useDefault]) => {
|
prom = finished.then(([useDefault]) => {
|
||||||
|
@ -457,7 +457,7 @@ export const Commands = [
|
||||||
new Command({
|
new Command({
|
||||||
command: "part",
|
command: "part",
|
||||||
args: "[<room-address>]",
|
args: "[<room-address>]",
|
||||||
description: _td("Leave room"),
|
description: _td("action|leave_room"),
|
||||||
analyticsName: "Part",
|
analyticsName: "Part",
|
||||||
isEnabled: (cli) => !isCurrentLocalRoom(cli),
|
isEnabled: (cli) => !isCurrentLocalRoom(cli),
|
||||||
runFn: function (cli, roomId, threadId, args) {
|
runFn: function (cli, roomId, threadId, args) {
|
||||||
|
|
|
@ -62,7 +62,7 @@ export default class DisableEventIndexDialog extends React.Component<IProps, ISt
|
||||||
{_t("If disabled, messages from encrypted rooms won't appear in search results.")}
|
{_t("If disabled, messages from encrypted rooms won't appear in search results.")}
|
||||||
{this.state.disabling ? <Spinner /> : <div />}
|
{this.state.disabling ? <Spinner /> : <div />}
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Disable")}
|
primaryButton={_t("action|disable")}
|
||||||
onPrimaryButtonClick={this.onDisable}
|
onPrimaryButtonClick={this.onDisable}
|
||||||
primaryButtonClass="danger"
|
primaryButtonClass="danger"
|
||||||
cancelButtonClass="warning"
|
cancelButtonClass="warning"
|
||||||
|
|
|
@ -195,10 +195,10 @@ export default class ManageEventIndexDialog extends React.Component<IProps, ISta
|
||||||
>
|
>
|
||||||
{eventIndexingSettings}
|
{eventIndexingSettings}
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Done")}
|
primaryButton={_t("action|done")}
|
||||||
onPrimaryButtonClick={this.props.onFinished}
|
onPrimaryButtonClick={this.props.onFinished}
|
||||||
primaryButtonClass="primary"
|
primaryButtonClass="primary"
|
||||||
cancelButton={_t("Disable")}
|
cancelButton={_t("action|disable")}
|
||||||
onCancel={this.onDisable}
|
onCancel={this.onDisable}
|
||||||
cancelButtonClass="danger"
|
cancelButtonClass="danger"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -131,7 +131,7 @@ export default class CreateKeyBackupDialog extends React.PureComponent<IProps, I
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<p>{_t("Your keys are being backed up (the first backup could take a few minutes).")}</p>
|
<p>{_t("Your keys are being backed up (the first backup could take a few minutes).")}</p>
|
||||||
<DialogButtons primaryButton={_t("OK")} onPrimaryButtonClick={this.onDone} hasCancel={false} />
|
<DialogButtons primaryButton={_t("action|ok")} onPrimaryButtonClick={this.onDone} hasCancel={false} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -154,7 +154,7 @@ export default class CreateKeyBackupDialog extends React.PureComponent<IProps, I
|
||||||
<div>
|
<div>
|
||||||
<p>{_t("Unable to create key backup")}</p>
|
<p>{_t("Unable to create key backup")}</p>
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Retry")}
|
primaryButton={_t("action|retry")}
|
||||||
onPrimaryButtonClick={this.createBackup}
|
onPrimaryButtonClick={this.createBackup}
|
||||||
hasCancel={true}
|
hasCancel={true}
|
||||||
onCancel={this.onCancel}
|
onCancel={this.onCancel}
|
||||||
|
|
|
@ -567,7 +567,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
||||||
{optionPassphrase}
|
{optionPassphrase}
|
||||||
</div>
|
</div>
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Continue")}
|
primaryButton={_t("action|continue")}
|
||||||
onPrimaryButtonClick={this.onChooseKeyPassphraseFormSubmit}
|
onPrimaryButtonClick={this.onChooseKeyPassphraseFormSubmit}
|
||||||
onCancel={this.onCancelClick}
|
onCancel={this.onCancelClick}
|
||||||
hasCancel={this.state.canSkip}
|
hasCancel={this.state.canSkip}
|
||||||
|
@ -578,7 +578,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
||||||
|
|
||||||
private renderPhaseMigrate(): JSX.Element {
|
private renderPhaseMigrate(): JSX.Element {
|
||||||
let authPrompt;
|
let authPrompt;
|
||||||
let nextCaption = _t("Next");
|
let nextCaption = _t("action|next");
|
||||||
if (this.state.canUploadKeysWithPasswordOnly) {
|
if (this.state.canUploadKeysWithPasswordOnly) {
|
||||||
authPrompt = (
|
authPrompt = (
|
||||||
<div>
|
<div>
|
||||||
|
@ -654,7 +654,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Continue")}
|
primaryButton={_t("action|continue")}
|
||||||
onPrimaryButtonClick={this.onPassPhraseNextClick}
|
onPrimaryButtonClick={this.onPassPhraseNextClick}
|
||||||
hasCancel={false}
|
hasCancel={false}
|
||||||
disabled={!this.state.passPhraseValid}
|
disabled={!this.state.passPhraseValid}
|
||||||
|
@ -712,7 +712,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
||||||
<div className="mx_CreateSecretStorageDialog_passPhraseMatch">{passPhraseMatch}</div>
|
<div className="mx_CreateSecretStorageDialog_passPhraseMatch">{passPhraseMatch}</div>
|
||||||
</div>
|
</div>
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Continue")}
|
primaryButton={_t("action|continue")}
|
||||||
onPrimaryButtonClick={this.onPassPhraseConfirmNextClick}
|
onPrimaryButtonClick={this.onPassPhraseConfirmNextClick}
|
||||||
hasCancel={false}
|
hasCancel={false}
|
||||||
disabled={this.state.passPhrase !== this.state.passPhraseConfirm}
|
disabled={this.state.passPhrase !== this.state.passPhraseConfirm}
|
||||||
|
@ -730,7 +730,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
||||||
if (this.state.phase === Phase.ShowKey) {
|
if (this.state.phase === Phase.ShowKey) {
|
||||||
continueButton = (
|
continueButton = (
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Continue")}
|
primaryButton={_t("action|continue")}
|
||||||
disabled={!this.state.downloaded && !this.state.copied && !this.state.setPassphrase}
|
disabled={!this.state.downloaded && !this.state.copied && !this.state.setPassphrase}
|
||||||
onPrimaryButtonClick={this.onShowKeyContinueClick}
|
onPrimaryButtonClick={this.onShowKeyContinueClick}
|
||||||
hasCancel={false}
|
hasCancel={false}
|
||||||
|
@ -777,7 +777,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
||||||
onClick={this.onCopyClick}
|
onClick={this.onCopyClick}
|
||||||
disabled={this.state.phase === Phase.Storing}
|
disabled={this.state.phase === Phase.Storing}
|
||||||
>
|
>
|
||||||
{this.state.copied ? _t("Copied!") : _t("Copy")}
|
{this.state.copied ? _t("Copied!") : _t("action|copy")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -800,7 +800,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
||||||
<>
|
<>
|
||||||
<p className="mx_Dialog_content">{_t("Your keys are now being backed up from this device.")}</p>
|
<p className="mx_Dialog_content">{_t("Your keys are now being backed up from this device.")}</p>
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Done")}
|
primaryButton={_t("action|done")}
|
||||||
onPrimaryButtonClick={() => this.props.onFinished(true)}
|
onPrimaryButtonClick={() => this.props.onFinished(true)}
|
||||||
hasCancel={false}
|
hasCancel={false}
|
||||||
/>
|
/>
|
||||||
|
@ -814,7 +814,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
||||||
<p>{_t("Unable to query secret storage status")}</p>
|
<p>{_t("Unable to query secret storage status")}</p>
|
||||||
<div className="mx_Dialog_buttons">
|
<div className="mx_Dialog_buttons">
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Retry")}
|
primaryButton={_t("action|retry")}
|
||||||
onPrimaryButtonClick={this.onLoadRetryClick}
|
onPrimaryButtonClick={this.onLoadRetryClick}
|
||||||
hasCancel={this.state.canSkip}
|
hasCancel={this.state.canSkip}
|
||||||
onCancel={this.onCancel}
|
onCancel={this.onCancel}
|
||||||
|
@ -889,7 +889,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
|
||||||
<p>{_t("Unable to set up secret storage")}</p>
|
<p>{_t("Unable to set up secret storage")}</p>
|
||||||
<div className="mx_Dialog_buttons">
|
<div className="mx_Dialog_buttons">
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Retry")}
|
primaryButton={_t("action|retry")}
|
||||||
onPrimaryButtonClick={this.bootstrapSecretStorage}
|
onPrimaryButtonClick={this.bootstrapSecretStorage}
|
||||||
hasCancel={this.state.canSkip}
|
hasCancel={this.state.canSkip}
|
||||||
onCancel={this.onCancel}
|
onCancel={this.onCancel}
|
||||||
|
|
|
@ -75,7 +75,7 @@ export default class NewRecoveryMethodDialog extends React.PureComponent<IProps>
|
||||||
<p>{_t("This session is encrypting history using the new recovery method.")}</p>
|
<p>{_t("This session is encrypting history using the new recovery method.")}</p>
|
||||||
{hackWarning}
|
{hackWarning}
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("OK")}
|
primaryButton={_t("action|ok")}
|
||||||
onPrimaryButtonClick={this.onOkClick}
|
onPrimaryButtonClick={this.onOkClick}
|
||||||
cancelButton={_t("Go to Settings")}
|
cancelButton={_t("Go to Settings")}
|
||||||
onCancel={this.onGoToSettingsClick}
|
onCancel={this.onGoToSettingsClick}
|
||||||
|
|
|
@ -1196,7 +1196,7 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
||||||
|
|
||||||
const isSpace = roomToLeave?.isSpaceRoom();
|
const isSpace = roomToLeave?.isSpaceRoom();
|
||||||
Modal.createDialog(QuestionDialog, {
|
Modal.createDialog(QuestionDialog, {
|
||||||
title: isSpace ? _t("Leave space") : _t("Leave room"),
|
title: isSpace ? _t("Leave space") : _t("action|leave_room"),
|
||||||
description: (
|
description: (
|
||||||
<span>
|
<span>
|
||||||
{isSpace
|
{isSpace
|
||||||
|
@ -1209,7 +1209,7 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
||||||
{warnings}
|
{warnings}
|
||||||
</span>
|
</span>
|
||||||
),
|
),
|
||||||
button: _t("Leave"),
|
button: _t("action|leave"),
|
||||||
onFinished: async (shouldLeave) => {
|
onFinished: async (shouldLeave) => {
|
||||||
if (shouldLeave) {
|
if (shouldLeave) {
|
||||||
await leaveRoomBehaviour(cli, roomId);
|
await leaveRoomBehaviour(cli, roomId);
|
||||||
|
@ -1398,7 +1398,7 @@ export default class MatrixChat extends React.PureComponent<IProps, IState> {
|
||||||
title: userNotice.title,
|
title: userNotice.title,
|
||||||
props: {
|
props: {
|
||||||
description: <Linkify>{userNotice.description}</Linkify>,
|
description: <Linkify>{userNotice.description}</Linkify>,
|
||||||
acceptLabel: _t("OK"),
|
acceptLabel: _t("action|ok"),
|
||||||
onAccept: () => {
|
onAccept: () => {
|
||||||
ToastStore.sharedInstance().dismissToast(key);
|
ToastStore.sharedInstance().dismissToast(key);
|
||||||
localStorage.setItem(key, "1");
|
localStorage.setItem(key, "1");
|
||||||
|
|
|
@ -286,7 +286,7 @@ function LocalRoomView(props: LocalRoomViewProps): ReactElement {
|
||||||
if (room.isError) {
|
if (room.isError) {
|
||||||
const buttons = (
|
const buttons = (
|
||||||
<AccessibleButton onClick={onRetryClicked} className="mx_RoomStatusBar_unsentRetry">
|
<AccessibleButton onClick={onRetryClicked} className="mx_RoomStatusBar_unsentRetry">
|
||||||
{_t("Retry")}
|
{_t("action|retry")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -716,7 +716,7 @@ const ManageButtons: React.FC<IManageButtonsProps> = ({ hierarchy, selected, set
|
||||||
kind="danger_outline"
|
kind="danger_outline"
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
>
|
>
|
||||||
{removing ? _t("Removing…") : _t("Remove")}
|
{removing ? _t("Removing…") : _t("action|remove")}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
{...props}
|
{...props}
|
||||||
|
|
|
@ -232,7 +232,7 @@ const SpaceLanding: React.FC<{ space: Room }> = ({ space }) => {
|
||||||
showSpaceInvite(space);
|
showSpaceInvite(space);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{_t("Invite")}
|
{_t("action|invite")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -364,7 +364,7 @@ const SpaceSetupFirstRooms: React.FC<{
|
||||||
let buttonLabel = _t("Skip for now");
|
let buttonLabel = _t("Skip for now");
|
||||||
if (roomNames.some((name) => name.trim())) {
|
if (roomNames.some((name) => name.trim())) {
|
||||||
onClick = onNextClick;
|
onClick = onNextClick;
|
||||||
buttonLabel = busy ? _t("Creating rooms…") : _t("Continue");
|
buttonLabel = busy ? _t("Creating rooms…") : _t("action|continue");
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -572,7 +572,7 @@ const SpaceSetupPrivateInvite: React.FC<{
|
||||||
let buttonLabel = _t("Skip for now");
|
let buttonLabel = _t("Skip for now");
|
||||||
if (emailAddresses.some((name) => name.trim())) {
|
if (emailAddresses.some((name) => name.trim())) {
|
||||||
onClick = onNextClick;
|
onClick = onNextClick;
|
||||||
buttonLabel = busy ? _t("Inviting…") : _t("Continue");
|
buttonLabel = busy ? _t("Inviting…") : _t("action|continue");
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -157,7 +157,7 @@ export default class ViewSource extends React.Component<IProps, IState> {
|
||||||
? this.canSendStateEvent(mxEvent)
|
? this.canSendStateEvent(mxEvent)
|
||||||
: canEditContent(MatrixClientPeg.safeGet(), this.props.mxEvent);
|
: canEditContent(MatrixClientPeg.safeGet(), this.props.mxEvent);
|
||||||
return (
|
return (
|
||||||
<BaseDialog className="mx_ViewSource" onFinished={this.props.onFinished} title={_t("View Source")}>
|
<BaseDialog className="mx_ViewSource" onFinished={this.props.onFinished} title={_t("action|view_source")}>
|
||||||
<div className="mx_ViewSource_header">
|
<div className="mx_ViewSource_header">
|
||||||
<CopyableText getTextToCopy={() => roomId} border={false}>
|
<CopyableText getTextToCopy={() => roomId} border={false}>
|
||||||
{_t("Room ID: %(roomId)s", { roomId })}
|
{_t("Room ID: %(roomId)s", { roomId })}
|
||||||
|
@ -176,7 +176,7 @@ export default class ViewSource extends React.Component<IProps, IState> {
|
||||||
{isEditing ? this.editSourceContent() : this.viewSourceContent()}
|
{isEditing ? this.editSourceContent() : this.viewSourceContent()}
|
||||||
{!isEditing && canEdit && (
|
{!isEditing && canEdit && (
|
||||||
<div className="mx_Dialog_buttons">
|
<div className="mx_Dialog_buttons">
|
||||||
<button onClick={() => this.onEdit()}>{_t("Edit")}</button>
|
<button onClick={() => this.onEdit()}>{_t("action|edit")}</button>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</BaseDialog>
|
</BaseDialog>
|
||||||
|
|
|
@ -364,7 +364,7 @@ export default class ForgotPassword extends React.Component<Props, State> {
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
button: _t("Continue"),
|
button: _t("action|continue"),
|
||||||
});
|
});
|
||||||
const [confirmed] = await finished;
|
const [confirmed] = await finished;
|
||||||
return !!confirmed;
|
return !!confirmed;
|
||||||
|
|
|
@ -481,7 +481,7 @@ export default class LoginComponent extends React.PureComponent<IProps, IState>
|
||||||
);
|
);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{_t("Continue")}
|
{_t("action|continue")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -244,7 +244,7 @@ export default class SetupEncryptionBody extends React.Component<IProps, IState>
|
||||||
{message}
|
{message}
|
||||||
<div className="mx_CompleteSecurity_actionRow">
|
<div className="mx_CompleteSecurity_actionRow">
|
||||||
<AccessibleButton kind="primary" onClick={this.onDoneClick}>
|
<AccessibleButton kind="primary" onClick={this.onDoneClick}>
|
||||||
{_t("Done")}
|
{_t("action|done")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -66,7 +66,7 @@ export const CheckEmail: React.FC<CheckEmailProps> = ({
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{errorText && <ErrorMessage message={errorText} />}
|
{errorText && <ErrorMessage message={errorText} />}
|
||||||
<input onClick={onSubmitForm} type="button" className="mx_Login_submit" value={_t("Next")} />
|
<input onClick={onSubmitForm} type="button" className="mx_Login_submit" value={_t("action|next")} />
|
||||||
<div className="mx_AuthBody_did-not-receive">
|
<div className="mx_AuthBody_did-not-receive">
|
||||||
<span className="mx_VerifyEMailDialog_text-light">{_t("Did not receive it?")}</span>
|
<span className="mx_VerifyEMailDialog_text-light">{_t("Did not receive it?")}</span>
|
||||||
<AccessibleButton
|
<AccessibleButton
|
||||||
|
|
|
@ -153,7 +153,7 @@ export class PasswordAuthEntry extends React.Component<IAuthEntryProps, IPasswor
|
||||||
type="submit"
|
type="submit"
|
||||||
className="mx_Dialog_primary"
|
className="mx_Dialog_primary"
|
||||||
disabled={!this.state.password}
|
disabled={!this.state.password}
|
||||||
value={_t("Continue")}
|
value={_t("action|continue")}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -745,7 +745,7 @@ export class RegistrationTokenAuthEntry extends React.Component<IAuthEntryProps,
|
||||||
} else {
|
} else {
|
||||||
submitButtonOrSpinner = (
|
submitButtonOrSpinner = (
|
||||||
<AccessibleButton onClick={this.onSubmit} kind="primary" disabled={!this.state.registrationToken}>
|
<AccessibleButton onClick={this.onSubmit} kind="primary" disabled={!this.state.registrationToken}>
|
||||||
{_t("Continue")}
|
{_t("action|continue")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ const OwnBeaconStatus: React.FC<Props & HTMLProps<HTMLDivElement>> = ({ beacon,
|
||||||
onClick={preventDefaultWrapper(onResetLocationPublishError)}
|
onClick={preventDefaultWrapper(onResetLocationPublishError)}
|
||||||
className="mx_OwnBeaconStatus_button mx_OwnBeaconStatus_destructiveButton"
|
className="mx_OwnBeaconStatus_button mx_OwnBeaconStatus_destructiveButton"
|
||||||
>
|
>
|
||||||
{_t("Retry")}
|
{_t("action|retry")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
)}
|
)}
|
||||||
{hasStopSharingError && (
|
{hasStopSharingError && (
|
||||||
|
@ -89,7 +89,7 @@ const OwnBeaconStatus: React.FC<Props & HTMLProps<HTMLDivElement>> = ({ beacon,
|
||||||
onClick={preventDefaultWrapper(onStopSharing)}
|
onClick={preventDefaultWrapper(onStopSharing)}
|
||||||
className="mx_OwnBeaconStatus_button mx_OwnBeaconStatus_destructiveButton"
|
className="mx_OwnBeaconStatus_button mx_OwnBeaconStatus_destructiveButton"
|
||||||
>
|
>
|
||||||
{_t("Retry")}
|
{_t("action|retry")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
)}
|
)}
|
||||||
</BeaconStatus>
|
</BeaconStatus>
|
||||||
|
|
|
@ -111,7 +111,7 @@ const RoomLiveShareWarningInner: React.FC<RoomLiveShareWarningInnerProps> = ({ l
|
||||||
element="button"
|
element="button"
|
||||||
disabled={stoppingInProgress}
|
disabled={stoppingInProgress}
|
||||||
>
|
>
|
||||||
{hasError ? _t("Retry") : _t("Stop")}
|
{hasError ? _t("action|retry") : _t("Stop")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
{hasLocationPublishError && (
|
{hasLocationPublishError && (
|
||||||
<AccessibleButton
|
<AccessibleButton
|
||||||
|
|
|
@ -425,7 +425,7 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
|
||||||
redactButton = (
|
redactButton = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
iconClassName="mx_MessageContextMenu_iconRedact"
|
iconClassName="mx_MessageContextMenu_iconRedact"
|
||||||
label={_t("Remove")}
|
label={_t("action|remove")}
|
||||||
onClick={this.onRedactClick}
|
onClick={this.onRedactClick}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
@ -456,7 +456,7 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
|
||||||
forwardButton = (
|
forwardButton = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
iconClassName="mx_MessageContextMenu_iconForward"
|
iconClassName="mx_MessageContextMenu_iconForward"
|
||||||
label={_t("Forward")}
|
label={_t("action|forward")}
|
||||||
onClick={this.onForwardClick(forwardableEvent)}
|
onClick={this.onForwardClick(forwardableEvent)}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
@ -530,7 +530,7 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
|
||||||
quoteButton = (
|
quoteButton = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
iconClassName="mx_MessageContextMenu_iconQuote"
|
iconClassName="mx_MessageContextMenu_iconQuote"
|
||||||
label={_t("Quote")}
|
label={_t("action|quote")}
|
||||||
onClick={this.onQuoteClick}
|
onClick={this.onQuoteClick}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
@ -600,7 +600,7 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
iconClassName="mx_MessageContextMenu_iconCopy"
|
iconClassName="mx_MessageContextMenu_iconCopy"
|
||||||
onClick={this.onCopyLinkClick}
|
onClick={this.onCopyLinkClick}
|
||||||
label={_t("Copy link")}
|
label={_t("action|copy_link")}
|
||||||
element="a"
|
element="a"
|
||||||
{
|
{
|
||||||
// XXX: Typescript signature for AccessibleButton doesn't work properly for non-inputs like `a`
|
// XXX: Typescript signature for AccessibleButton doesn't work properly for non-inputs like `a`
|
||||||
|
@ -619,7 +619,7 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
|
||||||
copyButton = (
|
copyButton = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
iconClassName="mx_MessageContextMenu_iconCopy"
|
iconClassName="mx_MessageContextMenu_iconCopy"
|
||||||
label={_t("Copy")}
|
label={_t("action|copy")}
|
||||||
triggerOnMouseDown={true} // We use onMouseDown so that the selection isn't cleared when we click
|
triggerOnMouseDown={true} // We use onMouseDown so that the selection isn't cleared when we click
|
||||||
onClick={this.onCopyClick}
|
onClick={this.onCopyClick}
|
||||||
/>
|
/>
|
||||||
|
@ -631,7 +631,7 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
|
||||||
editButton = (
|
editButton = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
iconClassName="mx_MessageContextMenu_iconEdit"
|
iconClassName="mx_MessageContextMenu_iconEdit"
|
||||||
label={_t("Edit")}
|
label={_t("action|edit")}
|
||||||
onClick={this.onEditClick}
|
onClick={this.onEditClick}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
@ -642,7 +642,7 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
|
||||||
replyButton = (
|
replyButton = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
iconClassName="mx_MessageContextMenu_iconReply"
|
iconClassName="mx_MessageContextMenu_iconReply"
|
||||||
label={_t("Reply")}
|
label={_t("action|reply")}
|
||||||
onClick={this.onReplyClick}
|
onClick={this.onReplyClick}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
@ -664,7 +664,7 @@ export default class MessageContextMenu extends React.Component<IProps, IState>
|
||||||
reactButton = (
|
reactButton = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
iconClassName="mx_MessageContextMenu_iconReact"
|
iconClassName="mx_MessageContextMenu_iconReact"
|
||||||
label={_t("React")}
|
label={_t("action|react")}
|
||||||
onClick={this.onReactClick}
|
onClick={this.onReactClick}
|
||||||
inputRef={this.reactButtonRef}
|
inputRef={this.reactButtonRef}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -105,7 +105,7 @@ const RoomContextMenu: React.FC<IProps> = ({ room, onFinished, ...props }) => {
|
||||||
leaveOption = (
|
leaveOption = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
onClick={onLeaveRoomClick}
|
onClick={onLeaveRoomClick}
|
||||||
label={_t("Leave")}
|
label={_t("action|leave")}
|
||||||
className="mx_IconizedContextMenu_option_red"
|
className="mx_IconizedContextMenu_option_red"
|
||||||
iconClassName="mx_RoomTile_iconSignOut"
|
iconClassName="mx_RoomTile_iconSignOut"
|
||||||
/>
|
/>
|
||||||
|
@ -136,7 +136,7 @@ const RoomContextMenu: React.FC<IProps> = ({ room, onFinished, ...props }) => {
|
||||||
inviteOption = (
|
inviteOption = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
onClick={onInviteClick}
|
onClick={onInviteClick}
|
||||||
label={_t("Invite")}
|
label={_t("action|invite")}
|
||||||
iconClassName="mx_RoomTile_iconInvite"
|
iconClassName="mx_RoomTile_iconInvite"
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
|
@ -138,7 +138,7 @@ export const RoomGeneralContextMenu: React.FC<RoomGeneralContextMenuProps> = ({
|
||||||
}),
|
}),
|
||||||
onPostInviteClick,
|
onPostInviteClick,
|
||||||
)}
|
)}
|
||||||
label={_t("Invite")}
|
label={_t("action|invite")}
|
||||||
iconClassName="mx_RoomGeneralContextMenu_iconInvite"
|
iconClassName="mx_RoomGeneralContextMenu_iconInvite"
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
@ -205,7 +205,7 @@ export const RoomGeneralContextMenu: React.FC<RoomGeneralContextMenuProps> = ({
|
||||||
}),
|
}),
|
||||||
onPostLeaveClick,
|
onPostLeaveClick,
|
||||||
)}
|
)}
|
||||||
label={_t("Leave")}
|
label={_t("action|leave")}
|
||||||
className="mx_IconizedContextMenu_option_red"
|
className="mx_IconizedContextMenu_option_red"
|
||||||
iconClassName="mx_RoomGeneralContextMenu_iconSignOut"
|
iconClassName="mx_RoomGeneralContextMenu_iconSignOut"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -69,7 +69,7 @@ const SpaceContextMenu: React.FC<IProps> = ({ space, hideHeader, onFinished, ...
|
||||||
data-testid="invite-option"
|
data-testid="invite-option"
|
||||||
className="mx_SpacePanel_contextMenu_inviteButton"
|
className="mx_SpacePanel_contextMenu_inviteButton"
|
||||||
iconClassName="mx_SpacePanel_iconInvite"
|
iconClassName="mx_SpacePanel_iconInvite"
|
||||||
label={_t("Invite")}
|
label={_t("action|invite")}
|
||||||
onClick={onInviteClick}
|
onClick={onInviteClick}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
|
@ -159,7 +159,7 @@ export const WidgetContextMenu: React.FC<IProps> = ({
|
||||||
onFinished();
|
onFinished();
|
||||||
};
|
};
|
||||||
|
|
||||||
editButton = <IconizedContextMenuOption onClick={_onEditClick} label={_t("Edit")} />;
|
editButton = <IconizedContextMenuOption onClick={_onEditClick} label={_t("action|edit")} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
let snapshotButton: JSX.Element | undefined;
|
let snapshotButton: JSX.Element | undefined;
|
||||||
|
@ -208,7 +208,7 @@ export const WidgetContextMenu: React.FC<IProps> = ({
|
||||||
deleteButton = (
|
deleteButton = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
onClick={_onDeleteClick}
|
onClick={_onDeleteClick}
|
||||||
label={userWidget ? _t("Remove") : _t("Remove for everyone")}
|
label={userWidget ? _t("action|remove") : _t("Remove for everyone")}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -246,7 +246,7 @@ export const AddExistingToSpace: React.FC<IAddExistingToSpaceProps> = ({
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<AccessibleButton className="mx_AddExistingToSpaceDialog_retryButton" onClick={addRooms}>
|
<AccessibleButton className="mx_AddExistingToSpaceDialog_retryButton" onClick={addRooms}>
|
||||||
{_t("Retry")}
|
{_t("action|retry")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|
|
@ -48,7 +48,7 @@ export default class ConfirmRedactDialog extends React.Component<IProps> {
|
||||||
description={description}
|
description={description}
|
||||||
placeholder={_t("Reason (optional)")}
|
placeholder={_t("Reason (optional)")}
|
||||||
focus
|
focus
|
||||||
button={_t("Remove")}
|
button={_t("action|remove")}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -343,7 +343,7 @@ export default class CreateRoomDialog extends React.Component<IProps, IState> {
|
||||||
if (isVideoRoom) {
|
if (isVideoRoom) {
|
||||||
title = _t("Create a video room");
|
title = _t("Create a video room");
|
||||||
} else if (this.props.parentSpace || this.state.joinRule === JoinRule.Knock) {
|
} else if (this.props.parentSpace || this.state.joinRule === JoinRule.Knock) {
|
||||||
title = _t("Create a room");
|
title = _t("action|create_a_room");
|
||||||
} else {
|
} else {
|
||||||
title = this.state.joinRule === JoinRule.Public ? _t("Create a public room") : _t("Create a private room");
|
title = this.state.joinRule === JoinRule.Public ? _t("Create a public room") : _t("Create a private room");
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ export default class ErrorDialog extends React.Component<IProps, IState> {
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_Dialog_buttons">
|
<div className="mx_Dialog_buttons">
|
||||||
<button className="mx_Dialog_primary" onClick={this.onClick} autoFocus={this.props.focus}>
|
<button className="mx_Dialog_primary" onClick={this.onClick} autoFocus={this.props.focus}>
|
||||||
{this.props.button || _t("OK")}
|
{this.props.button || _t("action|ok")}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</BaseDialog>
|
</BaseDialog>
|
||||||
|
|
|
@ -315,7 +315,7 @@ const ExportDialog: React.FC<IProps> = ({ room, onFinished }) => {
|
||||||
primaryButton={_t("Stop")}
|
primaryButton={_t("Stop")}
|
||||||
primaryButtonClass="danger"
|
primaryButtonClass="danger"
|
||||||
hasCancel={true}
|
hasCancel={true}
|
||||||
cancelButton={_t("Continue")}
|
cancelButton={_t("action|continue")}
|
||||||
onCancel={() => setCancelWarning(false)}
|
onCancel={() => setCancelWarning(false)}
|
||||||
onPrimaryButtonClick={confirmCancel}
|
onPrimaryButtonClick={confirmCancel}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -211,7 +211,7 @@ export default class IncomingSasDialog extends React.Component<IProps, IState> {
|
||||||
{profile}
|
{profile}
|
||||||
{isSelf ? selfDetailText : userDetailText}
|
{isSelf ? selfDetailText : userDetailText}
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Continue")}
|
primaryButton={_t("action|continue")}
|
||||||
hasCancel={true}
|
hasCancel={true}
|
||||||
onPrimaryButtonClick={this.onContinueClick}
|
onPrimaryButtonClick={this.onContinueClick}
|
||||||
onCancel={this.onCancelClick}
|
onCancel={this.onCancelClick}
|
||||||
|
|
|
@ -62,7 +62,7 @@ export default class InfoDialog extends React.Component<IProps> {
|
||||||
</div>
|
</div>
|
||||||
{this.props.button !== false && (
|
{this.props.button !== false && (
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={this.props.button || _t("OK")}
|
primaryButton={this.props.button || _t("action|ok")}
|
||||||
onPrimaryButtonClick={this.onFinished}
|
onPrimaryButtonClick={this.onFinished}
|
||||||
hasCancel={false}
|
hasCancel={false}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -54,7 +54,7 @@ export default class IntegrationsDisabledDialog extends React.Component<IProps>
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("common|settings")}
|
primaryButton={_t("common|settings")}
|
||||||
onPrimaryButtonClick={this.onOpenSettingsClick}
|
onPrimaryButtonClick={this.onOpenSettingsClick}
|
||||||
cancelButton={_t("OK")}
|
cancelButton={_t("action|ok")}
|
||||||
onCancel={this.onAcknowledgeClick}
|
onCancel={this.onAcknowledgeClick}
|
||||||
/>
|
/>
|
||||||
</BaseDialog>
|
</BaseDialog>
|
||||||
|
|
|
@ -49,7 +49,7 @@ export default class IntegrationsImpossibleDialog extends React.Component<IProps
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("OK")}
|
primaryButton={_t("action|ok")}
|
||||||
onPrimaryButtonClick={this.onAcknowledgeClick}
|
onPrimaryButtonClick={this.onAcknowledgeClick}
|
||||||
hasCancel={false}
|
hasCancel={false}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -135,7 +135,7 @@ class DMUserTile extends React.PureComponent<IDMUserTileProps> {
|
||||||
<AccessibleButton className="mx_InviteDialog_userTile_remove" onClick={this.onRemove}>
|
<AccessibleButton className="mx_InviteDialog_userTile_remove" onClick={this.onRemove}>
|
||||||
<img
|
<img
|
||||||
src={require("../../../../res/img/icon-pill-remove.svg").default}
|
src={require("../../../../res/img/icon-pill-remove.svg").default}
|
||||||
alt={_t("Remove")}
|
alt={_t("action|remove")}
|
||||||
width={8}
|
width={8}
|
||||||
height={8}
|
height={8}
|
||||||
/>
|
/>
|
||||||
|
@ -944,7 +944,7 @@ export default class InviteDialog extends React.PureComponent<Props, IInviteDial
|
||||||
"The following users might not exist or are invalid, and cannot be invited: %(csvNames)s",
|
"The following users might not exist or are invalid, and cannot be invited: %(csvNames)s",
|
||||||
{ csvNames: failed.join(", ") },
|
{ csvNames: failed.join(", ") },
|
||||||
),
|
),
|
||||||
button: _t("OK"),
|
button: _t("action|ok"),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1388,7 +1388,7 @@ export default class InviteDialog extends React.PureComponent<Props, IInviteDial
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
buttonText = _t("Invite");
|
buttonText = _t("action|invite");
|
||||||
goButtonFn = this.inviteUsers;
|
goButtonFn = this.inviteUsers;
|
||||||
|
|
||||||
if (cli.isRoomEncrypted(this.props.roomId)) {
|
if (cli.isRoomEncrypted(this.props.roomId)) {
|
||||||
|
|
|
@ -100,7 +100,7 @@ const KeySignatureUploadFailedDialog: React.FC<IProps> = ({ failures, source, co
|
||||||
body = (
|
body = (
|
||||||
<div>
|
<div>
|
||||||
<span>{text}</span>
|
<span>{text}</span>
|
||||||
<DialogButtons primaryButton={_t("OK")} hasCancel={false} onPrimaryButtonClick={onFinished} />
|
<DialogButtons primaryButton={_t("action|ok")} hasCancel={false} onPrimaryButtonClick={onFinished} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ const LazyLoadingResyncDialog: React.FC<IProps> = (props) => {
|
||||||
hasCancelButton={false}
|
hasCancelButton={false}
|
||||||
title={_t("Updating %(brand)s", { brand })}
|
title={_t("Updating %(brand)s", { brand })}
|
||||||
description={<div>{description}</div>}
|
description={<div>{description}</div>}
|
||||||
button={_t("OK")}
|
button={_t("action|ok")}
|
||||||
onFinished={props.onFinished}
|
onFinished={props.onFinished}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
|
@ -46,7 +46,7 @@ export class ModuleUiDialog<P extends DialogProps, C extends DialogContent<P>> e
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
title: this.props.initialOptions.title,
|
title: this.props.initialOptions.title,
|
||||||
actionLabel: this.props.initialOptions.actionLabel ?? _t("OK"),
|
actionLabel: this.props.initialOptions.actionLabel ?? _t("action|ok"),
|
||||||
cancelLabel: this.props.initialOptions.cancelLabel,
|
cancelLabel: this.props.initialOptions.cancelLabel,
|
||||||
canSubmit: this.props.initialOptions.canSubmit ?? true,
|
canSubmit: this.props.initialOptions.canSubmit ?? true,
|
||||||
};
|
};
|
||||||
|
|
|
@ -77,7 +77,7 @@ export default class QuestionDialog extends React.Component<IQuestionDialogProps
|
||||||
{this.props.description}
|
{this.props.description}
|
||||||
</div>
|
</div>
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={this.props.button || _t("OK")}
|
primaryButton={this.props.button || _t("action|ok")}
|
||||||
primaryButtonClass={primaryButtonClass}
|
primaryButtonClass={primaryButtonClass}
|
||||||
primaryDisabled={this.props.buttonDisabled}
|
primaryDisabled={this.props.buttonDisabled}
|
||||||
cancelButton={this.props.cancelButton}
|
cancelButton={this.props.cancelButton}
|
||||||
|
|
|
@ -79,7 +79,7 @@ const RegistrationEmailPromptDialog: React.FC<IProps> = ({ onFinished }) => {
|
||||||
/>
|
/>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<DialogButtons primaryButton={_t("Continue")} onPrimaryButtonClick={onSubmit} hasCancel={false} />
|
<DialogButtons primaryButton={_t("action|continue")} onPrimaryButtonClick={onSubmit} hasCancel={false} />
|
||||||
</BaseDialog>
|
</BaseDialog>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -361,7 +361,7 @@ export default class ReportEventDialog extends React.Component<IProps, IState> {
|
||||||
<BaseDialog
|
<BaseDialog
|
||||||
className="mx_ReportEventDialog"
|
className="mx_ReportEventDialog"
|
||||||
onFinished={this.props.onFinished}
|
onFinished={this.props.onFinished}
|
||||||
title={_t("Report Content")}
|
title={_t("action|report_content")}
|
||||||
contentId="mx_ReportEventDialog"
|
contentId="mx_ReportEventDialog"
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -239,10 +239,10 @@ export default class ServerPickerDialog extends React.PureComponent<IProps, ISta
|
||||||
<p>{_t("Use your preferred Matrix homeserver if you have one, or host your own.")}</p>
|
<p>{_t("Use your preferred Matrix homeserver if you have one, or host your own.")}</p>
|
||||||
|
|
||||||
<AccessibleButton className="mx_ServerPickerDialog_continue" kind="primary" onClick={this.onSubmit}>
|
<AccessibleButton className="mx_ServerPickerDialog_continue" kind="primary" onClick={this.onSubmit}>
|
||||||
{_t("Continue")}
|
{_t("action|continue")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
|
|
||||||
<h2>{_t("Learn more")}</h2>
|
<h2>{_t("action|learn_more")}</h2>
|
||||||
<ExternalLink
|
<ExternalLink
|
||||||
href="https://matrix.org/docs/matrix-concepts/elements-of-matrix/#homeserver"
|
href="https://matrix.org/docs/matrix-concepts/elements-of-matrix/#homeserver"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
|
|
@ -80,7 +80,7 @@ export default class SetEmailDialog extends React.Component<IProps, IState> {
|
||||||
description: _t(
|
description: _t(
|
||||||
"Please check your email and click on the link it contains. Once this is done, click continue.",
|
"Please check your email and click on the link it contains. Once this is done, click continue.",
|
||||||
),
|
),
|
||||||
button: _t("Continue"),
|
button: _t("action|continue"),
|
||||||
onFinished: this.onEmailDialogFinished,
|
onFinished: this.onEmailDialogFinished,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -131,7 +131,7 @@ export default class SetEmailDialog extends React.Component<IProps, IState> {
|
||||||
Modal.createDialog(QuestionDialog, {
|
Modal.createDialog(QuestionDialog, {
|
||||||
title: _t("Verification Pending"),
|
title: _t("Verification Pending"),
|
||||||
description: message,
|
description: message,
|
||||||
button: _t("Continue"),
|
button: _t("action|continue"),
|
||||||
onFinished: this.onEmailDialogFinished,
|
onFinished: this.onEmailDialogFinished,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -173,7 +173,12 @@ export default class SetEmailDialog extends React.Component<IProps, IState> {
|
||||||
{emailInput}
|
{emailInput}
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_Dialog_buttons">
|
<div className="mx_Dialog_buttons">
|
||||||
<input className="mx_Dialog_primary" type="submit" value={_t("Continue")} onClick={this.onSubmit} />
|
<input
|
||||||
|
className="mx_Dialog_primary"
|
||||||
|
type="submit"
|
||||||
|
value={_t("action|continue")}
|
||||||
|
onClick={this.onSubmit}
|
||||||
|
/>
|
||||||
<input type="submit" value={_t("Skip")} onClick={this.onCancelled} />
|
<input type="submit" value={_t("Skip")} onClick={this.onCancelled} />
|
||||||
</div>
|
</div>
|
||||||
</BaseDialog>
|
</BaseDialog>
|
||||||
|
|
|
@ -122,7 +122,7 @@ export const SlidingSyncOptionsDialog: React.FC<{ onFinished(enabled: boolean):
|
||||||
}
|
}
|
||||||
placeholder={hasNativeSupport ? _t("Proxy URL (optional)") : _t("Proxy URL")}
|
placeholder={hasNativeSupport ? _t("Proxy URL (optional)") : _t("Proxy URL")}
|
||||||
value={currentProxy}
|
value={currentProxy}
|
||||||
button={_t("Enable")}
|
button={_t("action|enable")}
|
||||||
validator={validProxy}
|
validator={validProxy}
|
||||||
onFinished={(enable, proxyUrl) => {
|
onFinished={(enable, proxyUrl) => {
|
||||||
if (enable) {
|
if (enable) {
|
||||||
|
|
|
@ -213,7 +213,7 @@ export default class TermsDialog extends React.PureComponent<ITermsDialogProps,
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Next")}
|
primaryButton={_t("action|next")}
|
||||||
hasCancel={true}
|
hasCancel={true}
|
||||||
onCancel={this.onCancelClick}
|
onCancel={this.onCancelClick}
|
||||||
onPrimaryButtonClick={this.onNextClick}
|
onPrimaryButtonClick={this.onNextClick}
|
||||||
|
|
|
@ -71,7 +71,7 @@ const UntrustedDeviceDialog: React.FC<IProps> = ({ device, user, onFinished }) =
|
||||||
{_t("Interactively verify by emoji")}
|
{_t("Interactively verify by emoji")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton kind="primary" onClick={() => onFinished(false)}>
|
<AccessibleButton kind="primary" onClick={() => onFinished(false)}>
|
||||||
{_t("Done")}
|
{_t("action|done")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
</BaseDialog>
|
</BaseDialog>
|
||||||
|
|
|
@ -60,7 +60,7 @@ export default class UploadFailureDialog extends React.Component<IProps> {
|
||||||
);
|
);
|
||||||
buttons = (
|
buttons = (
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("OK")}
|
primaryButton={_t("action|ok")}
|
||||||
hasCancel={false}
|
hasCancel={false}
|
||||||
onPrimaryButtonClick={this.onCancelClick}
|
onPrimaryButtonClick={this.onCancelClick}
|
||||||
focus={true}
|
focus={true}
|
||||||
|
@ -78,7 +78,7 @@ export default class UploadFailureDialog extends React.Component<IProps> {
|
||||||
);
|
);
|
||||||
buttons = (
|
buttons = (
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("OK")}
|
primaryButton={_t("action|ok")}
|
||||||
hasCancel={false}
|
hasCancel={false}
|
||||||
onPrimaryButtonClick={this.onCancelClick}
|
onPrimaryButtonClick={this.onCancelClick}
|
||||||
focus={true}
|
focus={true}
|
||||||
|
|
|
@ -89,7 +89,7 @@ export default class WidgetOpenIDPermissionsDialog extends React.PureComponent<I
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Continue")}
|
primaryButton={_t("action|continue")}
|
||||||
onPrimaryButtonClick={this.onAllow}
|
onPrimaryButtonClick={this.onAllow}
|
||||||
onCancel={this.onDeny}
|
onCancel={this.onDeny}
|
||||||
additive={
|
additive={
|
||||||
|
|
|
@ -161,7 +161,7 @@ export const EventViewer: React.FC<IViewerProps> = ({ mxEvent, onBack, Editor, e
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<BaseTool onBack={onBack} actionLabel={_t("Edit")} onAction={onAction} extraButton={extraButton}>
|
<BaseTool onBack={onBack} actionLabel={_t("action|edit")} onAction={onAction} extraButton={extraButton}>
|
||||||
<SyntaxHighlight language="json">{stringify(mxEvent.event)}</SyntaxHighlight>
|
<SyntaxHighlight language="json">{stringify(mxEvent.event)}</SyntaxHighlight>
|
||||||
</BaseTool>
|
</BaseTool>
|
||||||
);
|
);
|
||||||
|
|
|
@ -30,7 +30,7 @@ const PHASE_MAP: Record<Phase, TranslationKey> = {
|
||||||
[Phase.Unsent]: _td("Unsent"),
|
[Phase.Unsent]: _td("Unsent"),
|
||||||
[Phase.Requested]: _td("Requested"),
|
[Phase.Requested]: _td("Requested"),
|
||||||
[Phase.Ready]: _td("Ready"),
|
[Phase.Ready]: _td("Ready"),
|
||||||
[Phase.Done]: _td("Done"),
|
[Phase.Done]: _td("action|done"),
|
||||||
[Phase.Started]: _td("Started"),
|
[Phase.Started]: _td("Started"),
|
||||||
[Phase.Cancelled]: _td("Cancelled"),
|
[Phase.Cancelled]: _td("Cancelled"),
|
||||||
};
|
};
|
||||||
|
|
|
@ -64,7 +64,7 @@ export const OidcLogoutDialog: React.FC<OidcLogoutDialogProps> = ({
|
||||||
href={logoutUrl}
|
href={logoutUrl}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
>
|
>
|
||||||
{_t("Continue")}
|
{_t("action|continue")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -366,7 +366,7 @@ export default class AccessSecretStorageDialog extends React.PureComponent<IProp
|
||||||
/>
|
/>
|
||||||
{keyStatus}
|
{keyStatus}
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Continue")}
|
primaryButton={_t("action|continue")}
|
||||||
onPrimaryButtonClick={this.onPassPhraseNext}
|
onPrimaryButtonClick={this.onPassPhraseNext}
|
||||||
hasCancel={true}
|
hasCancel={true}
|
||||||
onCancel={this.onCancel}
|
onCancel={this.onCancel}
|
||||||
|
@ -432,7 +432,7 @@ export default class AccessSecretStorageDialog extends React.PureComponent<IProp
|
||||||
</div>
|
</div>
|
||||||
{recoveryKeyFeedback}
|
{recoveryKeyFeedback}
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Continue")}
|
primaryButton={_t("action|continue")}
|
||||||
onPrimaryButtonClick={this.onRecoveryKeyNext}
|
onPrimaryButtonClick={this.onRecoveryKeyNext}
|
||||||
hasCancel={true}
|
hasCancel={true}
|
||||||
cancelButton={_t("Go Back")}
|
cancelButton={_t("Go Back")}
|
||||||
|
|
|
@ -176,7 +176,7 @@ export default class CreateCrossSigningDialog extends React.PureComponent<IProps
|
||||||
<p>{_t("Unable to set up keys")}</p>
|
<p>{_t("Unable to set up keys")}</p>
|
||||||
<div className="mx_Dialog_buttons">
|
<div className="mx_Dialog_buttons">
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Retry")}
|
primaryButton={_t("action|retry")}
|
||||||
onPrimaryButtonClick={this.bootstrapCrossSigning}
|
onPrimaryButtonClick={this.bootstrapCrossSigning}
|
||||||
onCancel={this.onCancel}
|
onCancel={this.onCancel}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -396,7 +396,7 @@ export default class RestoreKeyBackupDialog extends React.PureComponent<IProps,
|
||||||
</p>
|
</p>
|
||||||
{failedToDecrypt}
|
{failedToDecrypt}
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("OK")}
|
primaryButton={_t("action|ok")}
|
||||||
onPrimaryButtonClick={this.onDone}
|
onPrimaryButtonClick={this.onDone}
|
||||||
hasCancel={false}
|
hasCancel={false}
|
||||||
focus={true}
|
focus={true}
|
||||||
|
@ -429,7 +429,7 @@ export default class RestoreKeyBackupDialog extends React.PureComponent<IProps,
|
||||||
autoFocus={true}
|
autoFocus={true}
|
||||||
/>
|
/>
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Next")}
|
primaryButton={_t("action|next")}
|
||||||
onPrimaryButtonClick={this.onPassPhraseNext}
|
onPrimaryButtonClick={this.onPassPhraseNext}
|
||||||
primaryIsSubmit={true}
|
primaryIsSubmit={true}
|
||||||
hasCancel={true}
|
hasCancel={true}
|
||||||
|
@ -501,7 +501,7 @@ export default class RestoreKeyBackupDialog extends React.PureComponent<IProps,
|
||||||
/>
|
/>
|
||||||
{keyStatus}
|
{keyStatus}
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Next")}
|
primaryButton={_t("action|next")}
|
||||||
onPrimaryButtonClick={this.onRecoveryKeyNext}
|
onPrimaryButtonClick={this.onRecoveryKeyNext}
|
||||||
hasCancel={true}
|
hasCancel={true}
|
||||||
onCancel={this.onCancel}
|
onCancel={this.onCancel}
|
||||||
|
|
|
@ -910,7 +910,7 @@ const SpotlightDialog: React.FC<IProps> = ({ initialText = "", initialFilter = n
|
||||||
copyPlaintext(ownInviteLink);
|
copyPlaintext(ownInviteLink);
|
||||||
}}
|
}}
|
||||||
onHideTooltip={() => setInviteLinkCopied(false)}
|
onHideTooltip={() => setInviteLinkCopied(false)}
|
||||||
title={inviteLinkCopied ? _t("Copied!") : _t("Copy")}
|
title={inviteLinkCopied ? _t("Copied!") : _t("action|copy")}
|
||||||
>
|
>
|
||||||
<span className="mx_AccessibleButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary_outline">
|
<span className="mx_AccessibleButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary_outline">
|
||||||
{_t("Copy invite link")}
|
{_t("Copy invite link")}
|
||||||
|
|
|
@ -155,7 +155,7 @@ export default class AppPermission extends React.Component<IProps, IState> {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<AccessibleButton kind="primary_sm" onClick={this.props.onPermissionGranted}>
|
<AccessibleButton kind="primary_sm" onClick={this.props.onPermissionGranted}>
|
||||||
{_t("Continue")}
|
{_t("action|continue")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -54,7 +54,7 @@ const CopyableText: React.FC<IProps> = ({ children, getTextToCopy, border = true
|
||||||
<div className={combinedClassName}>
|
<div className={combinedClassName}>
|
||||||
{children}
|
{children}
|
||||||
<AccessibleTooltipButton
|
<AccessibleTooltipButton
|
||||||
title={tooltip ?? _t("Copy")}
|
title={tooltip ?? _t("action|copy")}
|
||||||
onClick={onCopyClickInternal}
|
onClick={onCopyClickInternal}
|
||||||
className="mx_CopyableText_copyButton"
|
className="mx_CopyableText_copyButton"
|
||||||
onHideTooltip={onHideTooltip}
|
onHideTooltip={onHideTooltip}
|
||||||
|
|
|
@ -67,14 +67,14 @@ export class EditableItem extends React.Component<IItemProps, IItemState> {
|
||||||
kind="primary_sm"
|
kind="primary_sm"
|
||||||
className="mx_EditableItem_confirmBtn"
|
className="mx_EditableItem_confirmBtn"
|
||||||
>
|
>
|
||||||
{_t("Yes")}
|
{_t("action|yes")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton
|
<AccessibleButton
|
||||||
onClick={this.onDontRemove}
|
onClick={this.onDontRemove}
|
||||||
kind="danger_sm"
|
kind="danger_sm"
|
||||||
className="mx_EditableItem_confirmBtn"
|
className="mx_EditableItem_confirmBtn"
|
||||||
>
|
>
|
||||||
{_t("No")}
|
{_t("action|no")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -82,7 +82,12 @@ export class EditableItem extends React.Component<IItemProps, IItemState> {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mx_EditableItem">
|
<div className="mx_EditableItem">
|
||||||
<div onClick={this.onRemove} className="mx_EditableItem_delete" title={_t("Remove")} role="button" />
|
<div
|
||||||
|
onClick={this.onRemove}
|
||||||
|
className="mx_EditableItem_delete"
|
||||||
|
title={_t("action|remove")}
|
||||||
|
role="button"
|
||||||
|
/>
|
||||||
<span className="mx_EditableItem_item">{this.props.value}</span>
|
<span className="mx_EditableItem_item">{this.props.value}</span>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -38,7 +38,7 @@ const LearnMore: React.FC<LearnMoreProps> = ({ title, description, ...rest }) =>
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<AccessibleButton {...rest} kind="link_inline" onClick={onClick} className="mx_LearnMore_button">
|
<AccessibleButton {...rest} kind="link_inline" onClick={onClick} className="mx_LearnMore_button">
|
||||||
{_t("Learn more")}
|
{_t("action|learn_more")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -79,7 +79,7 @@ function editingInitialState(editingMxEvent: MatrixEvent): IState {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title: _t("Edit poll"),
|
title: _t("Edit poll"),
|
||||||
actionLabel: _t("Done"),
|
actionLabel: _t("action|done"),
|
||||||
canSubmit: true,
|
canSubmit: true,
|
||||||
question: poll.question.text,
|
question: poll.question.text,
|
||||||
options: poll.answers.map((ans) => ans.text),
|
options: poll.answers.map((ans) => ans.text),
|
||||||
|
|
|
@ -88,7 +88,7 @@ const SSOButton: React.FC<ISSOButtonProps> = ({
|
||||||
if (idp) {
|
if (idp) {
|
||||||
label = _t("Continue with %(provider)s", { provider: idp.name });
|
label = _t("Continue with %(provider)s", { provider: idp.name });
|
||||||
} else if (DELEGATED_OIDC_COMPATIBILITY.findIn<boolean>(flow)) {
|
} else if (DELEGATED_OIDC_COMPATIBILITY.findIn<boolean>(flow)) {
|
||||||
label = _t("Continue");
|
label = _t("action|continue");
|
||||||
} else {
|
} else {
|
||||||
label = _t("Sign in with single sign-on");
|
label = _t("Sign in with single sign-on");
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,7 @@ const ServerPicker: React.FC<IProps> = ({ title, dialogTitle, serverConfig, onSe
|
||||||
};
|
};
|
||||||
editBtn = (
|
editBtn = (
|
||||||
<AccessibleButton className="mx_ServerPicker_change" kind="link" onClick={onClick}>
|
<AccessibleButton className="mx_ServerPicker_change" kind="link" onClick={onClick}>
|
||||||
{_t("Edit")}
|
{_t("action|edit")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ export const EnableLiveShare: React.FC<Props> = ({ onSubmit }) => {
|
||||||
onClick={onSubmit}
|
onClick={onSubmit}
|
||||||
disabled={!isEnabled}
|
disabled={!isEnabled}
|
||||||
>
|
>
|
||||||
{_t("OK")}
|
{_t("action|ok")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -44,7 +44,7 @@ export const MapError: React.FC<MapErrorProps> = ({ error, isMinimised, classNam
|
||||||
<p className="mx_MapError_message">{getLocationShareErrorMessage(error)}</p>
|
<p className="mx_MapError_message">{getLocationShareErrorMessage(error)}</p>
|
||||||
{onFinished && (
|
{onFinished && (
|
||||||
<AccessibleButton element="button" kind="primary" onClick={onFinished}>
|
<AccessibleButton element="button" kind="primary" onClick={onFinished}>
|
||||||
{_t("OK")}
|
{_t("action|ok")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -63,7 +63,7 @@ const getPermissionsErrorParams = (
|
||||||
const modalParams = {
|
const modalParams = {
|
||||||
title: _t("You don't have permission to share locations"),
|
title: _t("You don't have permission to share locations"),
|
||||||
description: _t("You need to have the right permissions in order to share locations in this room."),
|
description: _t("You need to have the right permissions in order to share locations in this room."),
|
||||||
button: _t("OK"),
|
button: _t("action|ok"),
|
||||||
hasCancelButton: false,
|
hasCancelButton: false,
|
||||||
onFinished: () => {}, // NOOP
|
onFinished: () => {}, // NOOP
|
||||||
};
|
};
|
||||||
|
|
|
@ -133,9 +133,9 @@ const ActiveLoadedCallEvent = forwardRef<any, ActiveLoadedCallEventProps>(({ mxE
|
||||||
case ConnectionState.Connecting:
|
case ConnectionState.Connecting:
|
||||||
return [_t("Join"), "primary", null];
|
return [_t("Join"), "primary", null];
|
||||||
case ConnectionState.Connected:
|
case ConnectionState.Connected:
|
||||||
return [_t("Leave"), "danger", disconnect];
|
return [_t("action|leave"), "danger", disconnect];
|
||||||
case ConnectionState.Disconnecting:
|
case ConnectionState.Disconnecting:
|
||||||
return [_t("Leave"), "danger", null];
|
return [_t("action|leave"), "danger", null];
|
||||||
}
|
}
|
||||||
}, [connectionState, connect, disconnect]);
|
}, [connectionState, connect, disconnect]);
|
||||||
|
|
||||||
|
|
|
@ -137,13 +137,13 @@ export default class EditHistoryMessage extends React.PureComponent<IProps, ISta
|
||||||
// hide the button when already redacted
|
// hide the button when already redacted
|
||||||
let redactButton: JSX.Element | undefined;
|
let redactButton: JSX.Element | undefined;
|
||||||
if (!this.props.mxEvent.isRedacted() && !this.props.isBaseEvent && this.state.canRedact) {
|
if (!this.props.mxEvent.isRedacted() && !this.props.isBaseEvent && this.state.canRedact) {
|
||||||
redactButton = <AccessibleButton onClick={this.onRedactClick}>{_t("Remove")}</AccessibleButton>;
|
redactButton = <AccessibleButton onClick={this.onRedactClick}>{_t("action|remove")}</AccessibleButton>;
|
||||||
}
|
}
|
||||||
|
|
||||||
let viewSourceButton: JSX.Element | undefined;
|
let viewSourceButton: JSX.Element | undefined;
|
||||||
if (SettingsStore.getValue("developerMode")) {
|
if (SettingsStore.getValue("developerMode")) {
|
||||||
viewSourceButton = (
|
viewSourceButton = (
|
||||||
<AccessibleButton onClick={this.onViewSourceClick}>{_t("View Source")}</AccessibleButton>
|
<AccessibleButton onClick={this.onViewSourceClick}>{_t("action|view_source")}</AccessibleButton>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,7 +137,7 @@ export default class LegacyCallEvent extends React.PureComponent<IProps, IState>
|
||||||
onClick={this.props.callEventGrouper.rejectCall}
|
onClick={this.props.callEventGrouper.rejectCall}
|
||||||
kind="danger"
|
kind="danger"
|
||||||
>
|
>
|
||||||
<span> {_t("Decline")} </span>
|
<span> {_t("action|decline")} </span>
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton
|
<AccessibleButton
|
||||||
className="mx_LegacyCallEvent_content_button mx_LegacyCallEvent_content_button_answer"
|
className="mx_LegacyCallEvent_content_button mx_LegacyCallEvent_content_button_answer"
|
||||||
|
@ -234,7 +234,7 @@ export default class LegacyCallEvent extends React.PureComponent<IProps, IState>
|
||||||
kind={InfoTooltipKind.Warning}
|
kind={InfoTooltipKind.Warning}
|
||||||
/>
|
/>
|
||||||
{_t("Connection failed")}
|
{_t("Connection failed")}
|
||||||
{this.renderCallBackButton(_t("Retry"))}
|
{this.renderCallBackButton(_t("action|retry"))}
|
||||||
{this.props.timestamp}
|
{this.props.timestamp}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -170,7 +170,7 @@ export default class MKeyVerificationRequest extends React.Component<IProps> {
|
||||||
stateNode = (
|
stateNode = (
|
||||||
<div className="mx_cryptoEvent_buttons">
|
<div className="mx_cryptoEvent_buttons">
|
||||||
<AccessibleButton kind="danger" onClick={this.onRejectClicked}>
|
<AccessibleButton kind="danger" onClick={this.onRejectClicked}>
|
||||||
{_t("Decline")}
|
{_t("action|decline")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton kind="primary" onClick={this.onAcceptClicked}>
|
<AccessibleButton kind="primary" onClick={this.onAcceptClicked}>
|
||||||
{_t("Accept")}
|
{_t("Accept")}
|
||||||
|
|
|
@ -173,7 +173,7 @@ const ReactButton: React.FC<IReactButtonProps> = ({ mxEvent, reactions, onFocusC
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<ContextMenuTooltipButton
|
<ContextMenuTooltipButton
|
||||||
className="mx_MessageActionBar_iconButton"
|
className="mx_MessageActionBar_iconButton"
|
||||||
title={_t("React")}
|
title={_t("action|react")}
|
||||||
onClick={onClick}
|
onClick={onClick}
|
||||||
onContextMenu={onClick}
|
onContextMenu={onClick}
|
||||||
isExpanded={menuDisplayed}
|
isExpanded={menuDisplayed}
|
||||||
|
@ -391,7 +391,7 @@ export default class MessageActionBar extends React.PureComponent<IMessageAction
|
||||||
toolbarOpts.push(
|
toolbarOpts.push(
|
||||||
<RovingAccessibleTooltipButton
|
<RovingAccessibleTooltipButton
|
||||||
className="mx_MessageActionBar_iconButton"
|
className="mx_MessageActionBar_iconButton"
|
||||||
title={_t("Edit")}
|
title={_t("action|edit")}
|
||||||
onClick={this.onEditClick}
|
onClick={this.onEditClick}
|
||||||
onContextMenu={this.onEditClick}
|
onContextMenu={this.onEditClick}
|
||||||
key="edit"
|
key="edit"
|
||||||
|
@ -429,7 +429,7 @@ export default class MessageActionBar extends React.PureComponent<IMessageAction
|
||||||
0,
|
0,
|
||||||
<RovingAccessibleTooltipButton
|
<RovingAccessibleTooltipButton
|
||||||
className="mx_MessageActionBar_iconButton"
|
className="mx_MessageActionBar_iconButton"
|
||||||
title={_t("Retry")}
|
title={_t("action|retry")}
|
||||||
onClick={this.onResendClick}
|
onClick={this.onResendClick}
|
||||||
onContextMenu={this.onResendClick}
|
onContextMenu={this.onResendClick}
|
||||||
key="resend"
|
key="resend"
|
||||||
|
@ -455,7 +455,7 @@ export default class MessageActionBar extends React.PureComponent<IMessageAction
|
||||||
0,
|
0,
|
||||||
<RovingAccessibleTooltipButton
|
<RovingAccessibleTooltipButton
|
||||||
className="mx_MessageActionBar_iconButton"
|
className="mx_MessageActionBar_iconButton"
|
||||||
title={_t("Reply")}
|
title={_t("action|reply")}
|
||||||
onClick={this.onReplyClick}
|
onClick={this.onReplyClick}
|
||||||
onContextMenu={this.onReplyClick}
|
onContextMenu={this.onReplyClick}
|
||||||
key="reply"
|
key="reply"
|
||||||
|
|
|
@ -499,7 +499,7 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
button: _t("Continue"),
|
button: _t("action|continue"),
|
||||||
onFinished(confirmed) {
|
onFinished(confirmed) {
|
||||||
if (!confirmed) {
|
if (!confirmed) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -95,7 +95,7 @@ export default class TileErrorBoundary extends React.Component<IProps, IState> {
|
||||||
<>
|
<>
|
||||||
|
|
||||||
<AccessibleButton onClick={this.onViewSource} kind="link">
|
<AccessibleButton onClick={this.onViewSource} kind="link">
|
||||||
{_t("View Source")}
|
{_t("action|view_source")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|
|
@ -127,8 +127,8 @@ export const WidgetPip: FC<Props> = ({ widgetId, room, viewingRoom, onStartMovin
|
||||||
<Toolbar className="mx_WidgetPip_footer">
|
<Toolbar className="mx_WidgetPip_footer">
|
||||||
<RovingAccessibleTooltipButton
|
<RovingAccessibleTooltipButton
|
||||||
onClick={onLeaveClick}
|
onClick={onLeaveClick}
|
||||||
tooltip={_t("Leave")}
|
tooltip={_t("action|leave")}
|
||||||
aria-label={_t("Leave")}
|
aria-label={_t("action|leave")}
|
||||||
alignment={Alignment.Top}
|
alignment={Alignment.Top}
|
||||||
>
|
>
|
||||||
<HangupIcon className="mx_Icon mx_Icon_24" />
|
<HangupIcon className="mx_Icon mx_Icon_24" />
|
||||||
|
|
|
@ -486,7 +486,7 @@ export const UserOptionsSection: React.FC<{
|
||||||
|
|
||||||
inviteUserButton = (
|
inviteUserButton = (
|
||||||
<AccessibleButton kind="link" onClick={onInviteUserButton} className="mx_UserInfo_field">
|
<AccessibleButton kind="link" onClick={onInviteUserButton} className="mx_UserInfo_field">
|
||||||
{_t("Invite")}
|
{_t("action|invite")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1186,7 +1186,7 @@ export const PowerLevelEditor: React.FC<{
|
||||||
{_t("Are you sure?")}
|
{_t("Are you sure?")}
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
button: _t("Continue"),
|
button: _t("action|continue"),
|
||||||
});
|
});
|
||||||
|
|
||||||
const [confirmed] = await finished;
|
const [confirmed] = await finished;
|
||||||
|
|
|
@ -123,7 +123,7 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
|
||||||
onClick={this.startSAS}
|
onClick={this.startSAS}
|
||||||
kind="primary"
|
kind="primary"
|
||||||
>
|
>
|
||||||
{_t("Start")}
|
{_t("action|start")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -254,14 +254,14 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
|
||||||
disabled={this.state.reciprocateButtonClicked}
|
disabled={this.state.reciprocateButtonClicked}
|
||||||
onClick={this.onReciprocateNoClick}
|
onClick={this.onReciprocateNoClick}
|
||||||
>
|
>
|
||||||
{_t("No")}
|
{_t("action|no")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton
|
<AccessibleButton
|
||||||
kind="primary"
|
kind="primary"
|
||||||
disabled={this.state.reciprocateButtonClicked}
|
disabled={this.state.reciprocateButtonClicked}
|
||||||
onClick={this.onReciprocateYesClick}
|
onClick={this.onReciprocateYesClick}
|
||||||
>
|
>
|
||||||
{_t("Yes")}
|
{_t("action|yes")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
|
|
|
@ -229,7 +229,7 @@ export default class RoomProfileSettings extends React.Component<IProps, IState>
|
||||||
{_t("Cancel")}
|
{_t("Cancel")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton onClick={this.saveProfile} kind="primary" disabled={!this.isSaveEnabled()}>
|
<AccessibleButton onClick={this.saveProfile} kind="primary" disabled={!this.isSaveEnabled()}>
|
||||||
{_t("Save")}
|
{_t("action|save")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -490,7 +490,7 @@ class EditMessageComposer extends React.Component<IEditMessageComposerProps, ISt
|
||||||
{_t("Cancel")}
|
{_t("Cancel")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton kind="primary" onClick={this.sendEdit} disabled={this.state.saveDisabled}>
|
<AccessibleButton kind="primary" onClick={this.sendEdit} disabled={this.state.saveDisabled}>
|
||||||
{_t("Save")}
|
{_t("action|save")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -162,7 +162,7 @@ export default class EntityTile extends React.PureComponent<IProps, IState> {
|
||||||
inviteButton = (
|
inviteButton = (
|
||||||
<div className="mx_EntityTile_invite">
|
<div className="mx_EntityTile_invite">
|
||||||
<img
|
<img
|
||||||
alt={_t("Invite")}
|
alt={_t("action|invite")}
|
||||||
src={require("../../../../res/img/plus.svg").default}
|
src={require("../../../../res/img/plus.svg").default}
|
||||||
width="16"
|
width="16"
|
||||||
height="16"
|
height="16"
|
||||||
|
|
|
@ -618,7 +618,7 @@ export default class RoomHeader extends React.Component<IProps, IState> {
|
||||||
<AccessibleTooltipButton
|
<AccessibleTooltipButton
|
||||||
className="mx_LegacyRoomHeader_button mx_LegacyRoomHeader_inviteButton"
|
className="mx_LegacyRoomHeader_button mx_LegacyRoomHeader_inviteButton"
|
||||||
onClick={this.props.onInviteClick}
|
onClick={this.props.onInviteClick}
|
||||||
title={_t("Invite")}
|
title={_t("action|invite")}
|
||||||
alignment={Alignment.Bottom}
|
alignment={Alignment.Bottom}
|
||||||
key="invite"
|
key="invite"
|
||||||
/>,
|
/>,
|
||||||
|
|
|
@ -81,7 +81,7 @@ export default class MessageComposerFormatBar extends React.PureComponent<IProps
|
||||||
visible={this.state.visible}
|
visible={this.state.visible}
|
||||||
/>
|
/>
|
||||||
<FormatButton
|
<FormatButton
|
||||||
label={_t("Quote")}
|
label={_t("action|quote")}
|
||||||
onClick={() => this.props.onAction(Formatting.Quote)}
|
onClick={() => this.props.onAction(Formatting.Quote)}
|
||||||
icon="Quote"
|
icon="Quote"
|
||||||
shortcut={this.props.shortcuts.quote}
|
shortcut={this.props.shortcuts.quote}
|
||||||
|
|
|
@ -195,8 +195,8 @@ const DmAuxButton: React.FC<IAuxButtonProps> = ({ tabIndex, dispatcher = default
|
||||||
}}
|
}}
|
||||||
className="mx_RoomSublist_auxButton"
|
className="mx_RoomSublist_auxButton"
|
||||||
tooltipClassName="mx_RoomSublist_addRoomTooltip"
|
tooltipClassName="mx_RoomSublist_addRoomTooltip"
|
||||||
aria-label={_t("Start chat")}
|
aria-label={_t("action|start_chat")}
|
||||||
title={_t("Start chat")}
|
title={_t("action|start_chat")}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -387,7 +387,7 @@ const UntaggedAuxButton: React.FC<IAuxButtonProps> = ({ tabIndex }) => {
|
||||||
|
|
||||||
const TAG_AESTHETICS: TagAestheticsMap = {
|
const TAG_AESTHETICS: TagAestheticsMap = {
|
||||||
[DefaultTagID.Invite]: {
|
[DefaultTagID.Invite]: {
|
||||||
sectionLabel: _td("Invites"),
|
sectionLabel: _td("action|invites_list"),
|
||||||
isInvite: true,
|
isInvite: true,
|
||||||
defaultHidden: false,
|
defaultHidden: false,
|
||||||
},
|
},
|
||||||
|
|
|
@ -185,7 +185,7 @@ const RoomListHeader: React.FC<IProps> = ({ onVisibilityChange }) => {
|
||||||
if (shouldShowSpaceInvite(activeSpace)) {
|
if (shouldShowSpaceInvite(activeSpace)) {
|
||||||
inviteOption = (
|
inviteOption = (
|
||||||
<IconizedContextMenuOption
|
<IconizedContextMenuOption
|
||||||
label={_t("Invite")}
|
label={_t("action|invite")}
|
||||||
iconClassName="mx_RoomListHeader_iconInvite"
|
iconClassName="mx_RoomListHeader_iconInvite"
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
|
@ -84,7 +84,7 @@ const RoomPreviewCard: FC<IProps> = ({ room, onJoinButtonClicked, onRejectButton
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{_t("Leave")}
|
{_t("action|leave")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
);
|
);
|
||||||
} else if (myMembership === "invite") {
|
} else if (myMembership === "invite") {
|
||||||
|
|
|
@ -36,7 +36,7 @@ export function EditionButtons({
|
||||||
{_t("Cancel")}
|
{_t("Cancel")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton kind="primary" onClick={onSaveClick} disabled={isSaveDisabled}>
|
<AccessibleButton kind="primary" onClick={onSaveClick} disabled={isSaveDisabled}>
|
||||||
{_t("Save")}
|
{_t("action|save")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -148,7 +148,7 @@ export function FormattingButtons({ composer, actionStates }: FormattingButtonsP
|
||||||
)}
|
)}
|
||||||
<Button
|
<Button
|
||||||
actionState={actionStates.quote}
|
actionState={actionStates.quote}
|
||||||
label={_t("Quote")}
|
label={_t("action|quote")}
|
||||||
onClick={() => composer.quote()}
|
onClick={() => composer.quote()}
|
||||||
icon={<QuoteIcon className="mx_FormattingButtons_Icon" />}
|
icon={<QuoteIcon className="mx_FormattingButtons_Icon" />}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -128,11 +128,11 @@ export const LinkModal: React.FC<LinkModalProps> = ({
|
||||||
onFinished();
|
onFinished();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{_t("Remove")}
|
{_t("action|remove")}
|
||||||
</button>
|
</button>
|
||||||
)}
|
)}
|
||||||
<DialogButtons
|
<DialogButtons
|
||||||
primaryButton={_t("Save")}
|
primaryButton={_t("action|save")}
|
||||||
primaryDisabled={isSaveDisabled}
|
primaryDisabled={isSaveDisabled}
|
||||||
primaryIsSubmit={true}
|
primaryIsSubmit={true}
|
||||||
onCancel={onFinished}
|
onCancel={onFinished}
|
||||||
|
|
|
@ -80,7 +80,7 @@ const AvatarSetting: React.FC<IProps> = ({ avatarUrl, avatarAltText, avatarName,
|
||||||
if (avatarUrl && removeAvatar) {
|
if (avatarUrl && removeAvatar) {
|
||||||
removeAvatarBtn = (
|
removeAvatarBtn = (
|
||||||
<AccessibleButton onClick={removeAvatar} kind="link_sm">
|
<AccessibleButton onClick={removeAvatar} kind="link_sm">
|
||||||
{_t("Remove")}
|
{_t("action|remove")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -172,7 +172,7 @@ export default class EventIndexPanel extends React.Component<{}, IState> {
|
||||||
</SettingsSubsectionText>
|
</SettingsSubsectionText>
|
||||||
<div>
|
<div>
|
||||||
<AccessibleButton kind="primary" disabled={this.state.enabling} onClick={this.onEnable}>
|
<AccessibleButton kind="primary" disabled={this.state.enabling} onClick={this.onEnable}>
|
||||||
{_t("Enable")}
|
{_t("action|enable")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
{this.state.enabling ? <InlineSpinner /> : <div />}
|
{this.state.enabling ? <InlineSpinner /> : <div />}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -219,7 +219,7 @@ export default class ProfileSettings extends React.Component<{}, IState> {
|
||||||
kind="primary"
|
kind="primary"
|
||||||
disabled={!this.state.enableProfileSave}
|
disabled={!this.state.enableProfileSave}
|
||||||
>
|
>
|
||||||
{_t("Save")}
|
{_t("action|save")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -200,7 +200,7 @@ export default class SetIdServer extends React.Component<IProps, IState> {
|
||||||
new: (sub) => <b>{abbreviateUrl(idServer)}</b>,
|
new: (sub) => <b>{abbreviateUrl(idServer)}</b>,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
button: _t("Continue"),
|
button: _t("action|continue"),
|
||||||
});
|
});
|
||||||
save = !!confirmed;
|
save = !!confirmed;
|
||||||
}
|
}
|
||||||
|
@ -232,7 +232,7 @@ export default class SetIdServer extends React.Component<IProps, IState> {
|
||||||
<span> {_t("Only continue if you trust the owner of the server.")}</span>
|
<span> {_t("Only continue if you trust the owner of the server.")}</span>
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
button: _t("Continue"),
|
button: _t("action|continue"),
|
||||||
});
|
});
|
||||||
return finished;
|
return finished;
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ export class ExistingSpellCheckLanguage extends React.Component<ExistingSpellChe
|
||||||
<div className="mx_ExistingSpellCheckLanguage">
|
<div className="mx_ExistingSpellCheckLanguage">
|
||||||
<span className="mx_ExistingSpellCheckLanguage_language">{this.props.language}</span>
|
<span className="mx_ExistingSpellCheckLanguage_language">{this.props.language}</span>
|
||||||
<AccessibleButton onClick={this.onRemove} kind="danger_sm">
|
<AccessibleButton onClick={this.onRemove} kind="danger_sm">
|
||||||
{_t("Remove")}
|
{_t("action|remove")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -107,7 +107,7 @@ export class ExistingEmailAddress extends React.Component<IExistingEmailAddressP
|
||||||
kind="danger_sm"
|
kind="danger_sm"
|
||||||
className="mx_GeneralUserSettingsTab_section--discovery_existing_button"
|
className="mx_GeneralUserSettingsTab_section--discovery_existing_button"
|
||||||
>
|
>
|
||||||
{_t("Remove")}
|
{_t("action|remove")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton
|
<AccessibleButton
|
||||||
onClick={this.onDontRemove}
|
onClick={this.onDontRemove}
|
||||||
|
@ -126,7 +126,7 @@ export class ExistingEmailAddress extends React.Component<IExistingEmailAddressP
|
||||||
{this.props.email.address}
|
{this.props.email.address}
|
||||||
</span>
|
</span>
|
||||||
<AccessibleButton onClick={this.onRemove} kind="danger_sm" disabled={this.props.disabled}>
|
<AccessibleButton onClick={this.onRemove} kind="danger_sm" disabled={this.props.disabled}>
|
||||||
{_t("Remove")}
|
{_t("action|remove")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -284,7 +284,7 @@ export default class EmailAddresses extends React.Component<IProps, IState> {
|
||||||
kind="primary"
|
kind="primary"
|
||||||
disabled={this.state.continueDisabled}
|
disabled={this.state.continueDisabled}
|
||||||
>
|
>
|
||||||
{_t("Continue")}
|
{_t("action|continue")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -102,7 +102,7 @@ export class ExistingPhoneNumber extends React.Component<IExistingPhoneNumberPro
|
||||||
kind="danger_sm"
|
kind="danger_sm"
|
||||||
className="mx_GeneralUserSettingsTab_section--discovery_existing_button"
|
className="mx_GeneralUserSettingsTab_section--discovery_existing_button"
|
||||||
>
|
>
|
||||||
{_t("Remove")}
|
{_t("action|remove")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton
|
<AccessibleButton
|
||||||
onClick={this.onDontRemove}
|
onClick={this.onDontRemove}
|
||||||
|
@ -121,7 +121,7 @@ export class ExistingPhoneNumber extends React.Component<IExistingPhoneNumberPro
|
||||||
+{this.props.msisdn.address}
|
+{this.props.msisdn.address}
|
||||||
</span>
|
</span>
|
||||||
<AccessibleButton onClick={this.onRemove} kind="danger_sm" disabled={this.props.disabled}>
|
<AccessibleButton onClick={this.onRemove} kind="danger_sm" disabled={this.props.disabled}>
|
||||||
{_t("Remove")}
|
{_t("action|remove")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -304,7 +304,7 @@ export default class PhoneNumbers extends React.Component<IProps, IState> {
|
||||||
this.state.newPhoneNumberCode.length === 0
|
this.state.newPhoneNumberCode.length === 0
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{_t("Continue")}
|
{_t("action|continue")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -109,7 +109,7 @@ const DeviceNameEditor: React.FC<Props & { stopEditing: () => void }> = ({ devic
|
||||||
data-testid="device-rename-submit-cta"
|
data-testid="device-rename-submit-cta"
|
||||||
disabled={isLoading}
|
disabled={isLoading}
|
||||||
>
|
>
|
||||||
{_t("Save")}
|
{_t("action|save")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<AccessibleButton
|
<AccessibleButton
|
||||||
onClick={stopEditing}
|
onClick={stopEditing}
|
||||||
|
|
|
@ -75,9 +75,9 @@ export default class GeneralRoomSettingsTab extends React.Component<IProps, ISta
|
||||||
let leaveSection;
|
let leaveSection;
|
||||||
if (room.getMyMembership() === "join") {
|
if (room.getMyMembership() === "join") {
|
||||||
leaveSection = (
|
leaveSection = (
|
||||||
<SettingsSubsection heading={_t("Leave room")}>
|
<SettingsSubsection heading={_t("action|leave_room")}>
|
||||||
<AccessibleButton kind="danger" onClick={this.onLeaveClick}>
|
<AccessibleButton kind="danger" onClick={this.onLeaveClick}>
|
||||||
{_t("Leave room")}
|
{_t("action|leave_room")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</SettingsSubsection>
|
</SettingsSubsection>
|
||||||
);
|
);
|
||||||
|
|
|
@ -304,7 +304,7 @@ export default class NotificationsSettingsTab extends React.Component<IProps, IS
|
||||||
onClick={this.onClickSaveSound}
|
onClick={this.onClickSaveSound}
|
||||||
kind="primary"
|
kind="primary"
|
||||||
>
|
>
|
||||||
{_t("Save")}
|
{_t("action|save")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -185,7 +185,7 @@ export default class MjolnirUserSettingsTab extends React.Component<{}, IState>
|
||||||
onClick={() => this.removePersonalRule(rule)}
|
onClick={() => this.removePersonalRule(rule)}
|
||||||
disabled={this.state.busy}
|
disabled={this.state.busy}
|
||||||
>
|
>
|
||||||
{_t("Remove")}
|
{_t("action|remove")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
|
|
||||||
<code>{rule.entity}</code>
|
<code>{rule.entity}</code>
|
||||||
|
|
|
@ -312,7 +312,7 @@ export default class SecurityUserSettingsTab extends React.Component<IProps, ISt
|
||||||
if (PosthogAnalytics.instance.isEnabled()) {
|
if (PosthogAnalytics.instance.isEnabled()) {
|
||||||
const onClickAnalyticsLearnMore = (): void => {
|
const onClickAnalyticsLearnMore = (): void => {
|
||||||
showAnalyticsLearnMoreDialog({
|
showAnalyticsLearnMoreDialog({
|
||||||
primaryButton: _t("OK"),
|
primaryButton: _t("action|ok"),
|
||||||
hasCancel: false,
|
hasCancel: false,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -325,7 +325,7 @@ export default class SecurityUserSettingsTab extends React.Component<IProps, ISt
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<AccessibleButton kind="link" onClick={onClickAnalyticsLearnMore}>
|
<AccessibleButton kind="link" onClick={onClickAnalyticsLearnMore}>
|
||||||
{_t("Learn more")}
|
{_t("action|learn_more")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
{PosthogAnalytics.instance.isEnabled() && (
|
{PosthogAnalytics.instance.isEnabled() && (
|
||||||
<SettingsFlag name="pseudonymousAnalyticsOptIn" level={SettingLevel.ACCOUNT} />
|
<SettingsFlag name="pseudonymousAnalyticsOptIn" level={SettingLevel.ACCOUNT} />
|
||||||
|
|
|
@ -341,7 +341,7 @@ const SpaceCreateMenu: React.FC<{
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<AccessibleButton kind="primary" onClick={onSpaceCreateClick} disabled={busy}>
|
<AccessibleButton kind="primary" onClick={onSpaceCreateClick} disabled={busy}>
|
||||||
{busy ? _t("Creating…") : _t("Create")}
|
{busy ? _t("Creating…") : _t("action|create")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
|
|
|
@ -126,7 +126,7 @@ export default class InlineTermsAgreement extends React.Component<IProps, IState
|
||||||
disabled={hasUnchecked || this.state.busy}
|
disabled={hasUnchecked || this.state.busy}
|
||||||
kind="primary_sm"
|
kind="primary_sm"
|
||||||
>
|
>
|
||||||
{_t("Continue")}
|
{_t("action|continue")}
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue