Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
4527d808f1
17 changed files with 73 additions and 30 deletions
|
@ -684,8 +684,12 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
const roomToLeave = MatrixClientPeg.get().getRoom(roomId);
|
const roomToLeave = MatrixClientPeg.get().getRoom(roomId);
|
||||||
Modal.createDialog(QuestionDialog, {
|
Modal.createDialog(QuestionDialog, {
|
||||||
title: "Leave room",
|
title: _t("Leave room"),
|
||||||
description: <span>Are you sure you want to leave the room <i>{roomToLeave.name}</i>?</span>,
|
description: (
|
||||||
|
<span>
|
||||||
|
{_t("Are you sure you want to leave the room '%(roomName)s'?", {roomName: roomToLeave.name})}
|
||||||
|
</span>
|
||||||
|
),
|
||||||
onFinished: (shouldLeave) => {
|
onFinished: (shouldLeave) => {
|
||||||
if (shouldLeave) {
|
if (shouldLeave) {
|
||||||
const d = MatrixClientPeg.get().leave(roomId);
|
const d = MatrixClientPeg.get().leave(roomId);
|
||||||
|
|
|
@ -715,8 +715,8 @@ module.exports = React.createClass({
|
||||||
<h3>{ _t("Cryptography") }</h3>
|
<h3>{ _t("Cryptography") }</h3>
|
||||||
<div className="mx_UserSettings_section mx_UserSettings_cryptoSection">
|
<div className="mx_UserSettings_section mx_UserSettings_cryptoSection">
|
||||||
<ul>
|
<ul>
|
||||||
<li><label>Device ID:</label> <span><code>{deviceId}</code></span></li>
|
<li><label>{_t("Device ID:")}</label> <span><code>{deviceId}</code></span></li>
|
||||||
<li><label>Device key:</label> <span><code><b>{identityKey}</b></code></span></li>
|
<li><label>{_t("Device key:")}</label> <span><code><b>{identityKey}</b></code></span></li>
|
||||||
</ul>
|
</ul>
|
||||||
{ importExportButtons }
|
{ importExportButtons }
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -229,7 +229,7 @@ module.exports = React.createClass({
|
||||||
<div className="mx_Login_error">
|
<div className="mx_Login_error">
|
||||||
</div>
|
</div>
|
||||||
<a className="mx_Login_create" onClick={this.props.onLoginClick} href="#">
|
<a className="mx_Login_create" onClick={this.props.onLoginClick} href="#">
|
||||||
Return to login
|
{_t('Return to login screen')}
|
||||||
</a>
|
</a>
|
||||||
<a className="mx_Login_create" onClick={this.props.onRegisterClick} href="#">
|
<a className="mx_Login_create" onClick={this.props.onRegisterClick} href="#">
|
||||||
{ _t('Create an account') }
|
{ _t('Create an account') }
|
||||||
|
|
|
@ -490,7 +490,7 @@ module.exports = React.createClass({
|
||||||
var error;
|
var error;
|
||||||
var addressSelector;
|
var addressSelector;
|
||||||
if (this.state.error) {
|
if (this.state.error) {
|
||||||
error = <div className="mx_ChatInviteDialog_error">You have entered an invalid contact. Try using their Matrix ID or email address.</div>;
|
error = <div className="mx_ChatInviteDialog_error">{_t("You have entered an invalid contact. Try using their Matrix ID or email address.")}</div>;
|
||||||
} else {
|
} else {
|
||||||
const addressSelectorHeader = <div className="mx_ChatInviteDialog_addressSelectHeader">
|
const addressSelectorHeader = <div className="mx_ChatInviteDialog_addressSelectHeader">
|
||||||
Searching known users
|
Searching known users
|
||||||
|
|
|
@ -60,10 +60,10 @@ module.exports = React.createClass({
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_Dialog_buttons">
|
<div className="mx_Dialog_buttons">
|
||||||
<button className="mx_Dialog_primary" onClick={this.props.onFinished} autoFocus={true}>
|
<button className="mx_Dialog_primary" onClick={this.props.onFinished} autoFocus={true}>
|
||||||
Cancel
|
{_t("Cancel")}
|
||||||
</button>
|
</button>
|
||||||
<button onClick={this.onRegisterClicked}>
|
<button onClick={this.onRegisterClicked}>
|
||||||
Register
|
{_t("Register")}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</BaseDialog>
|
</BaseDialog>
|
||||||
|
|
|
@ -51,7 +51,7 @@ export default React.createClass({
|
||||||
const BaseDialog = sdk.getComponent('views.dialogs.BaseDialog');
|
const BaseDialog = sdk.getComponent('views.dialogs.BaseDialog');
|
||||||
const cancelButton = this.props.hasCancelButton ? (
|
const cancelButton = this.props.hasCancelButton ? (
|
||||||
<button onClick={this.onCancel}>
|
<button onClick={this.onCancel}>
|
||||||
Cancel
|
{_t("Cancel")}
|
||||||
</button>
|
</button>
|
||||||
) : null;
|
) : null;
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import * as Roles from '../../../Roles';
|
import * as Roles from '../../../Roles';
|
||||||
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
var LEVEL_ROLE_MAP = {};
|
var LEVEL_ROLE_MAP = {};
|
||||||
var reverseRoles = {};
|
var reverseRoles = {};
|
||||||
|
@ -116,7 +117,7 @@ module.exports = React.createClass({
|
||||||
text: Roles.textualPowerLevel(level, 0),
|
text: Roles.textualPowerLevel(level, 0),
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
options.push({ value: "Custom", text: "Custom level" });
|
options.push({ value: "Custom", text: _t("Custom level") });
|
||||||
options = options.map((op) => {
|
options = options.map((op) => {
|
||||||
return <option value={op.value} key={op.value}>{op.text}</option>;
|
return <option value={op.value} key={op.value}>{op.text}</option>;
|
||||||
});
|
});
|
||||||
|
|
|
@ -129,8 +129,8 @@ export const PasswordAuthEntry = React.createClass({
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<p>To continue, please enter your password.</p>
|
<p>{_t("To continue, please enter your password.")}</p>
|
||||||
<p>Password:</p>
|
<p>{_t("Password:")}</p>
|
||||||
<form onSubmit={this._onSubmit}>
|
<form onSubmit={this._onSubmit}>
|
||||||
<input
|
<input
|
||||||
ref="passwordField"
|
ref="passwordField"
|
||||||
|
@ -380,7 +380,7 @@ export const MsisdnAuthEntry = React.createClass({
|
||||||
onChange={this._onTokenChange}
|
onChange={this._onTokenChange}
|
||||||
/>
|
/>
|
||||||
<br />
|
<br />
|
||||||
<input type="submit" value="Submit"
|
<input type="submit" value={_t("Submit")}
|
||||||
className={submitClasses}
|
className={submitClasses}
|
||||||
disabled={!enableSubmit}
|
disabled={!enableSubmit}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -150,7 +150,7 @@ class PasswordLogin extends React.Component {
|
||||||
type="text"
|
type="text"
|
||||||
name="phoneNumber"
|
name="phoneNumber"
|
||||||
onChange={this.onPhoneNumberChanged}
|
onChange={this.onPhoneNumberChanged}
|
||||||
placeholder="Mobile phone number"
|
placeholder={_t("Mobile phone number")}
|
||||||
value={this.state.phoneNumber}
|
value={this.state.phoneNumber}
|
||||||
autoFocus
|
autoFocus
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -282,7 +282,7 @@ module.exports = React.createClass({
|
||||||
const emailSection = (
|
const emailSection = (
|
||||||
<div>
|
<div>
|
||||||
<input type="text" ref="email"
|
<input type="text" ref="email"
|
||||||
autoFocus={true} placeholder="Email address (optional)"
|
autoFocus={true} placeholder={_t("Email address (optional)")}
|
||||||
defaultValue={this.props.defaultEmail}
|
defaultValue={this.props.defaultEmail}
|
||||||
className={this._classForField(FIELD_EMAIL, 'mx_Login_field')}
|
className={this._classForField(FIELD_EMAIL, 'mx_Login_field')}
|
||||||
onBlur={function() {self.validateField(FIELD_EMAIL);}}
|
onBlur={function() {self.validateField(FIELD_EMAIL);}}
|
||||||
|
@ -321,7 +321,7 @@ module.exports = React.createClass({
|
||||||
showPrefix={true}
|
showPrefix={true}
|
||||||
/>
|
/>
|
||||||
<input type="text" ref="phoneNumber"
|
<input type="text" ref="phoneNumber"
|
||||||
placeholder="Mobile phone number (optional)"
|
placeholder={_t("Mobile phone number (optional)")}
|
||||||
defaultValue={this.props.defaultPhoneNumber}
|
defaultValue={this.props.defaultPhoneNumber}
|
||||||
className={this._classForField(
|
className={this._classForField(
|
||||||
FIELD_PHONE_NUMBER,
|
FIELD_PHONE_NUMBER,
|
||||||
|
@ -339,9 +339,9 @@ module.exports = React.createClass({
|
||||||
<input className="mx_Login_submit" type="submit" value="Register" />
|
<input className="mx_Login_submit" type="submit" value="Register" />
|
||||||
);
|
);
|
||||||
|
|
||||||
let placeholderUserName = "User name";
|
let placeholderUserName = _t("User name");
|
||||||
if (this.props.guestUsername) {
|
if (this.props.guestUsername) {
|
||||||
placeholderUserName += " (default: " + this.props.guestUsername + ")";
|
placeholderUserName += " " + _t("(default: %(userName)s)", {userName: this.props.guestUsername});
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -356,15 +356,15 @@ module.exports = React.createClass({
|
||||||
onBlur={function() {self.validateField(FIELD_USERNAME);}} />
|
onBlur={function() {self.validateField(FIELD_USERNAME);}} />
|
||||||
<br />
|
<br />
|
||||||
{ this.props.guestUsername ?
|
{ this.props.guestUsername ?
|
||||||
<div className="mx_Login_fieldLabel">Setting a user name will create a fresh account</div> : null
|
<div className="mx_Login_fieldLabel">{_t("Setting a user name will create a fresh account")}</div> : null
|
||||||
}
|
}
|
||||||
<input type="password" ref="password"
|
<input type="password" ref="password"
|
||||||
className={this._classForField(FIELD_PASSWORD, 'mx_Login_field')}
|
className={this._classForField(FIELD_PASSWORD, 'mx_Login_field')}
|
||||||
onBlur={function() {self.validateField(FIELD_PASSWORD);}}
|
onBlur={function() {self.validateField(FIELD_PASSWORD);}}
|
||||||
placeholder="Password" defaultValue={this.props.defaultPassword} />
|
placeholder={_t("Password")} defaultValue={this.props.defaultPassword} />
|
||||||
<br />
|
<br />
|
||||||
<input type="password" ref="passwordConfirm"
|
<input type="password" ref="passwordConfirm"
|
||||||
placeholder="Confirm password"
|
placeholder={_t("Confirm password")}
|
||||||
className={this._classForField(FIELD_PASSWORD_CONFIRM, 'mx_Login_field')}
|
className={this._classForField(FIELD_PASSWORD_CONFIRM, 'mx_Login_field')}
|
||||||
onBlur={function() {self.validateField(FIELD_PASSWORD_CONFIRM);}}
|
onBlur={function() {self.validateField(FIELD_PASSWORD_CONFIRM);}}
|
||||||
defaultValue={this.props.defaultPassword} />
|
defaultValue={this.props.defaultPassword} />
|
||||||
|
|
|
@ -230,7 +230,7 @@ module.exports = React.createClass({
|
||||||
remote_aliases_section = (
|
remote_aliases_section = (
|
||||||
<div>
|
<div>
|
||||||
<div className="mx_RoomSettings_aliasLabel">
|
<div className="mx_RoomSettings_aliasLabel">
|
||||||
Remote addresses for this room:
|
{_t("Remote addresses for this room:")}
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_RoomSettings_aliasesTable">
|
<div className="mx_RoomSettings_aliasesTable">
|
||||||
{ this.state.remoteDomains.map((domain, i) => {
|
{ this.state.remoteDomains.map((domain, i) => {
|
||||||
|
|
|
@ -20,7 +20,7 @@ var MatrixClientPeg = require('../../../MatrixClientPeg');
|
||||||
var sdk = require("../../../index");
|
var sdk = require("../../../index");
|
||||||
var Modal = require("../../../Modal");
|
var Modal = require("../../../Modal");
|
||||||
var UserSettingsStore = require('../../../UserSettingsStore');
|
var UserSettingsStore = require('../../../UserSettingsStore');
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t, _tJsx } from '../../../languageHandler';
|
||||||
|
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
|
@ -131,12 +131,24 @@ module.exports = React.createClass({
|
||||||
</label>;
|
</label>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let urlPreviewText = null;
|
||||||
|
if (UserSettingsStore.getUrlPreviewsDisabled()) {
|
||||||
|
urlPreviewText = (
|
||||||
|
_tJsx("You have <a>disabled</a> URL previews by default.", /<a>(.*?)<\/a>/, (sub)=><a href="#/settings">{sub}</a>)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
urlPreviewText = (
|
||||||
|
_tJsx("You have <a>enabled</a> URL previews by default.", /<a>(.*?)<\/a>/, (sub)=><a href="#/settings">{sub}</a>)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mx_RoomSettings_toggles">
|
<div className="mx_RoomSettings_toggles">
|
||||||
<h3>{_t("URL Previews")}</h3>
|
<h3>{_t("URL Previews")}</h3>
|
||||||
|
|
||||||
<label>
|
<label>
|
||||||
You have <a href="#/settings">{ UserSettingsStore.getUrlPreviewsDisabled() ? 'disabled' : 'enabled' }</a> URL previews by default.
|
{urlPreviewText}
|
||||||
</label>
|
</label>
|
||||||
{ disableRoomPreviewUrls }
|
{ disableRoomPreviewUrls }
|
||||||
<label>
|
<label>
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import sdk from '../../../index';
|
import sdk from '../../../index';
|
||||||
|
import { _t } from '../../../languageHandler';
|
||||||
|
|
||||||
export default class MemberDeviceInfo extends React.Component {
|
export default class MemberDeviceInfo extends React.Component {
|
||||||
render() {
|
render() {
|
||||||
|
@ -49,7 +50,7 @@ export default class MemberDeviceInfo extends React.Component {
|
||||||
// add the deviceId as a titletext to help with debugging
|
// add the deviceId as a titletext to help with debugging
|
||||||
return (
|
return (
|
||||||
<div className="mx_MemberDeviceInfo"
|
<div className="mx_MemberDeviceInfo"
|
||||||
title={"device id: " + this.props.device.deviceId} >
|
title={_t("device id: ") + this.props.device.deviceId} >
|
||||||
<div className="mx_MemberDeviceInfo_deviceInfo">
|
<div className="mx_MemberDeviceInfo_deviceInfo">
|
||||||
<div className="mx_MemberDeviceInfo_deviceId">
|
<div className="mx_MemberDeviceInfo_deviceId">
|
||||||
{deviceName}
|
{deviceName}
|
||||||
|
|
|
@ -188,7 +188,11 @@ module.exports = React.createClass({
|
||||||
'm.room.name', user_id
|
'm.room.name', user_id
|
||||||
);
|
);
|
||||||
|
|
||||||
save_button = <AccessibleButton className="mx_RoomHeader_textButton" onClick={this.props.onSaveClick}>Save</AccessibleButton>;
|
save_button = (
|
||||||
|
<AccessibleButton className="mx_RoomHeader_textButton" onClick={this.props.onSaveClick}>
|
||||||
|
{_t("Save")}
|
||||||
|
</AccessibleButton>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.props.onCancelClick) {
|
if (this.props.onCancelClick) {
|
||||||
|
|
|
@ -726,7 +726,7 @@ module.exports = React.createClass({
|
||||||
if (canSetTag || self.state.tags) {
|
if (canSetTag || self.state.tags) {
|
||||||
var tagsSection =
|
var tagsSection =
|
||||||
<div className="mx_RoomSettings_tags">
|
<div className="mx_RoomSettings_tags">
|
||||||
Tagged as: { canSetTag ?
|
{_t("Tagged as: ")}{ canSetTag ?
|
||||||
(tags.map(function(tag, i) {
|
(tags.map(function(tag, i) {
|
||||||
return (<label key={ i }>
|
return (<label key={ i }>
|
||||||
<input type="checkbox"
|
<input type="checkbox"
|
||||||
|
@ -844,7 +844,7 @@ module.exports = React.createClass({
|
||||||
<input type="checkbox" disabled={ !roomState.mayClientSendStateEvent("m.room.aliases", cli) }
|
<input type="checkbox" disabled={ !roomState.mayClientSendStateEvent("m.room.aliases", cli) }
|
||||||
onChange={ this._onToggle.bind(this, "isRoomPublished", true, false)}
|
onChange={ this._onToggle.bind(this, "isRoomPublished", true, false)}
|
||||||
checked={this.state.isRoomPublished}/>
|
checked={this.state.isRoomPublished}/>
|
||||||
List this room in { MatrixClientPeg.get().getDomain() }'s room directory?
|
{_t("List this room in %(domain)s's room directory?", { domain: MatrixClientPeg.get().getDomain() })}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_RoomSettings_settings">
|
<div className="mx_RoomSettings_settings">
|
||||||
|
@ -854,7 +854,7 @@ module.exports = React.createClass({
|
||||||
disabled={ !roomState.mayClientSendStateEvent("m.room.history_visibility", cli) }
|
disabled={ !roomState.mayClientSendStateEvent("m.room.history_visibility", cli) }
|
||||||
checked={historyVisibility === "world_readable"}
|
checked={historyVisibility === "world_readable"}
|
||||||
onChange={this._onHistoryRadioToggle} />
|
onChange={this._onHistoryRadioToggle} />
|
||||||
Anyone
|
{_t("Anyone")}
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="historyVis" value="shared"
|
<input type="radio" name="historyVis" value="shared"
|
||||||
|
|
|
@ -18,6 +18,7 @@ limitations under the License.
|
||||||
|
|
||||||
var React = require('react');
|
var React = require('react');
|
||||||
var sdk = require('../../../index');
|
var sdk = require('../../../index');
|
||||||
|
import { _t } from "../../../languageHandler";
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'RoomTopicEditor',
|
displayName: 'RoomTopicEditor',
|
||||||
|
@ -43,7 +44,7 @@ module.exports = React.createClass({
|
||||||
<EditableText ref="editor"
|
<EditableText ref="editor"
|
||||||
className="mx_RoomHeader_topic mx_RoomHeader_editable"
|
className="mx_RoomHeader_topic mx_RoomHeader_editable"
|
||||||
placeholderClassName="mx_RoomHeader_placeholder"
|
placeholderClassName="mx_RoomHeader_placeholder"
|
||||||
placeholder="Add a topic"
|
placeholder={_t("Add a topic")}
|
||||||
blurToCancel={ false }
|
blurToCancel={ false }
|
||||||
initialValue={ this._initialTopic }/>
|
initialValue={ this._initialTopic }/>
|
||||||
);
|
);
|
||||||
|
|
|
@ -126,6 +126,7 @@
|
||||||
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s accepted the invitation for %(displayName)s.",
|
"%(targetName)s accepted the invitation for %(displayName)s.": "%(targetName)s accepted the invitation for %(displayName)s.",
|
||||||
"Account": "Account",
|
"Account": "Account",
|
||||||
"Access Token:": "Access Token:",
|
"Access Token:": "Access Token:",
|
||||||
|
"Add a topic": "Add a topic",
|
||||||
"Add email address": "Add email address",
|
"Add email address": "Add email address",
|
||||||
"Add phone number": "Add phone number",
|
"Add phone number": "Add phone number",
|
||||||
"Admin": "Admin",
|
"Admin": "Admin",
|
||||||
|
@ -160,9 +161,11 @@
|
||||||
"%(senderName)s answered the call.": "%(senderName)s answered the call.",
|
"%(senderName)s answered the call.": "%(senderName)s answered the call.",
|
||||||
"anyone": "anyone",
|
"anyone": "anyone",
|
||||||
"An error has occurred.": "An error has occurred.",
|
"An error has occurred.": "An error has occurred.",
|
||||||
|
"Anyone": "Anyone",
|
||||||
"Anyone who knows the room's link, apart from guests": "Anyone who knows the room's link, apart from guests",
|
"Anyone who knows the room's link, apart from guests": "Anyone who knows the room's link, apart from guests",
|
||||||
"Anyone who knows the room's link, including guests": "Anyone who knows the room's link, including guests",
|
"Anyone who knows the room's link, including guests": "Anyone who knows the room's link, including guests",
|
||||||
"Are you sure?": "Are you sure?",
|
"Are you sure?": "Are you sure?",
|
||||||
|
"Are you sure you want to leave the room '%(roomName)s'?": "Are you sure you want to leave the room '%(roomName)s'?",
|
||||||
"Are you sure you want to reject the invitation?": "Are you sure you want to reject the invitation?",
|
"Are you sure you want to reject the invitation?": "Are you sure you want to reject the invitation?",
|
||||||
"Are you sure you want to upload the following files?": "Are you sure you want to upload the following files?",
|
"Are you sure you want to upload the following files?": "Are you sure you want to upload the following files?",
|
||||||
"Attachment": "Attachment",
|
"Attachment": "Attachment",
|
||||||
|
@ -214,18 +217,23 @@
|
||||||
"Cryptography": "Cryptography",
|
"Cryptography": "Cryptography",
|
||||||
"Current password": "Current password",
|
"Current password": "Current password",
|
||||||
"Curve25519 identity key": "Curve25519 identity key",
|
"Curve25519 identity key": "Curve25519 identity key",
|
||||||
|
"Custom level": "Custom level",
|
||||||
"/ddg is not a command": "/ddg is not a command",
|
"/ddg is not a command": "/ddg is not a command",
|
||||||
"Deactivate Account": "Deactivate Account",
|
"Deactivate Account": "Deactivate Account",
|
||||||
"Deactivate my account": "Deactivate my account",
|
"Deactivate my account": "Deactivate my account",
|
||||||
"decline": "decline",
|
"decline": "decline",
|
||||||
"Decrypt %(text)s": "Decrypt %(text)s",
|
"Decrypt %(text)s": "Decrypt %(text)s",
|
||||||
"Decryption error": "Decryption error",
|
"Decryption error": "Decryption error",
|
||||||
|
"(default: %(userName)s)": "(default: %(userName)s)",
|
||||||
"Delete": "Delete",
|
"Delete": "Delete",
|
||||||
"demote": "demote",
|
"demote": "demote",
|
||||||
"Deops user with given id": "Deops user with given id",
|
"Deops user with given id": "Deops user with given id",
|
||||||
"Default": "Default",
|
"Default": "Default",
|
||||||
"Device already verified!": "Device already verified!",
|
"Device already verified!": "Device already verified!",
|
||||||
"Device ID": "Device ID",
|
"Device ID": "Device ID",
|
||||||
|
"Device ID:": "Device ID:",
|
||||||
|
"device id: ": "device id: ",
|
||||||
|
"Device key:": "Device key:",
|
||||||
"Devices": "Devices",
|
"Devices": "Devices",
|
||||||
"Devices will not yet be able to decrypt history from before they joined the room": "Devices will not yet be able to decrypt history from before they joined the room",
|
"Devices will not yet be able to decrypt history from before they joined the room": "Devices will not yet be able to decrypt history from before they joined the room",
|
||||||
"Direct Chat": "Direct Chat",
|
"Direct Chat": "Direct Chat",
|
||||||
|
@ -242,6 +250,7 @@
|
||||||
"Ed25519 fingerprint": "Ed25519 fingerprint",
|
"Ed25519 fingerprint": "Ed25519 fingerprint",
|
||||||
"Email": "Email",
|
"Email": "Email",
|
||||||
"Email address": "Email address",
|
"Email address": "Email address",
|
||||||
|
"Email address (optional)": "Email address (optional)",
|
||||||
"Email, name or matrix ID": "Email, name or matrix ID",
|
"Email, name or matrix ID": "Email, name or matrix ID",
|
||||||
"Emoji": "Emoji",
|
"Emoji": "Emoji",
|
||||||
"Enable encryption": "Enable encryption",
|
"Enable encryption": "Enable encryption",
|
||||||
|
@ -343,6 +352,7 @@
|
||||||
"left": "left",
|
"left": "left",
|
||||||
"%(targetName)s left the room.": "%(targetName)s left the room.",
|
"%(targetName)s left the room.": "%(targetName)s left the room.",
|
||||||
"Level": "Level",
|
"Level": "Level",
|
||||||
|
"List this room in %(domain)s's room directory?": "List this room in %(domain)s's room directory?",
|
||||||
"Local addresses for this room:": "Local addresses for this room:",
|
"Local addresses for this room:": "Local addresses for this room:",
|
||||||
"Logged in as:": "Logged in as:",
|
"Logged in as:": "Logged in as:",
|
||||||
"Login as guest": "Login as guest",
|
"Login as guest": "Login as guest",
|
||||||
|
@ -358,6 +368,7 @@
|
||||||
"Missing room_id in request": "Missing room_id in request",
|
"Missing room_id in request": "Missing room_id in request",
|
||||||
"Missing user_id in request": "Missing user_id in request",
|
"Missing user_id in request": "Missing user_id in request",
|
||||||
"Mobile phone number": "Mobile phone number",
|
"Mobile phone number": "Mobile phone number",
|
||||||
|
"Mobile phone number (optional)": "Mobile phone number (optional)",
|
||||||
"Moderator": "Moderator",
|
"Moderator": "Moderator",
|
||||||
"Must be viewing a room": "Must be viewing a room",
|
"Must be viewing a room": "Must be viewing a room",
|
||||||
"Mute": "Mute",
|
"Mute": "Mute",
|
||||||
|
@ -389,6 +400,7 @@
|
||||||
"Only people who have been invited": "Only people who have been invited",
|
"Only people who have been invited": "Only people who have been invited",
|
||||||
"Operation failed": "Operation failed",
|
"Operation failed": "Operation failed",
|
||||||
"Password": "Password",
|
"Password": "Password",
|
||||||
|
"Password:": "Password:",
|
||||||
"Passwords can't be empty": "Passwords can't be empty",
|
"Passwords can't be empty": "Passwords can't be empty",
|
||||||
"People": "People",
|
"People": "People",
|
||||||
"Permissions": "Permissions",
|
"Permissions": "Permissions",
|
||||||
|
@ -404,10 +416,12 @@
|
||||||
"Reason": "Reason",
|
"Reason": "Reason",
|
||||||
"Revoke Moderator": "Revoke Moderator",
|
"Revoke Moderator": "Revoke Moderator",
|
||||||
"Refer a friend to Riot:": "Refer a friend to Riot:",
|
"Refer a friend to Riot:": "Refer a friend to Riot:",
|
||||||
|
"Register": "Register",
|
||||||
"Registration required": "Registration required",
|
"Registration required": "Registration required",
|
||||||
"rejected": "rejected",
|
"rejected": "rejected",
|
||||||
"%(targetName)s rejected the invitation.": "%(targetName)s rejected the invitation.",
|
"%(targetName)s rejected the invitation.": "%(targetName)s rejected the invitation.",
|
||||||
"Reject invitation": "Reject invitation",
|
"Reject invitation": "Reject invitation",
|
||||||
|
"Remote addresses for this room:": "Remote addresses for this room:",
|
||||||
"Remove Contact Information?": "Remove Contact Information?",
|
"Remove Contact Information?": "Remove Contact Information?",
|
||||||
"%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s removed their display name (%(oldDisplayName)s).",
|
"%(senderName)s removed their display name (%(oldDisplayName)s).": "%(senderName)s removed their display name (%(oldDisplayName)s).",
|
||||||
"%(senderName)s removed their profile picture.": "%(senderName)s removed their profile picture.",
|
"%(senderName)s removed their profile picture.": "%(senderName)s removed their profile picture.",
|
||||||
|
@ -427,6 +441,7 @@
|
||||||
"Room Colour": "Room Colour",
|
"Room Colour": "Room Colour",
|
||||||
"Room name (optional)": "Room name (optional)",
|
"Room name (optional)": "Room name (optional)",
|
||||||
"Rooms": "Rooms",
|
"Rooms": "Rooms",
|
||||||
|
"Save": "Save",
|
||||||
"Scroll to bottom of page": "Scroll to bottom of page",
|
"Scroll to bottom of page": "Scroll to bottom of page",
|
||||||
"Scroll to unread messages": "Scroll to unread messages",
|
"Scroll to unread messages": "Scroll to unread messages",
|
||||||
"Search": "Search",
|
"Search": "Search",
|
||||||
|
@ -450,6 +465,7 @@
|
||||||
"Session ID": "Session ID",
|
"Session ID": "Session ID",
|
||||||
"%(senderName)s set a profile picture.": "%(senderName)s set a profile picture.",
|
"%(senderName)s set a profile picture.": "%(senderName)s set a profile picture.",
|
||||||
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s set their display name to %(displayName)s.",
|
"%(senderName)s set their display name to %(displayName)s.": "%(senderName)s set their display name to %(displayName)s.",
|
||||||
|
"Setting a user name will create a fresh account": "Setting a user name will create a fresh account",
|
||||||
"Settings": "Settings",
|
"Settings": "Settings",
|
||||||
"Show panel": "Show panel",
|
"Show panel": "Show panel",
|
||||||
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Show timestamps in 12 hour format (e.g. 2:30pm)",
|
"Show timestamps in 12 hour format (e.g. 2:30pm)": "Show timestamps in 12 hour format (e.g. 2:30pm)",
|
||||||
|
@ -468,6 +484,7 @@
|
||||||
"Success": "Success",
|
"Success": "Success",
|
||||||
"tag as %(tagName)s": "tag as %(tagName)s",
|
"tag as %(tagName)s": "tag as %(tagName)s",
|
||||||
"tag direct chat": "tag direct chat",
|
"tag direct chat": "tag direct chat",
|
||||||
|
"Tagged as: ": "Tagged as: ",
|
||||||
"The default role for new room members is": "The default role for new room members is",
|
"The default role for new room members is": "The default role for new room members is",
|
||||||
"The main address for this room is": "The main address for this room is",
|
"The main address for this room is": "The main address for this room is",
|
||||||
"The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.",
|
"The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.": "The signing key you provided matches the signing key you received from %(userId)s's device %(deviceId)s. Device marked as verified.",
|
||||||
|
@ -577,6 +594,9 @@
|
||||||
"You do not have permission to post to this room": "You do not have permission to post to this room",
|
"You do not have permission to post to this room": "You do not have permission to post to this room",
|
||||||
"You have been invited to join this room by %(inviterName)s": "You have been invited to join this room by %(inviterName)s",
|
"You have been invited to join this room by %(inviterName)s": "You have been invited to join this room by %(inviterName)s",
|
||||||
"You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device": "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device",
|
"You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device": "You have been logged out of all devices and will no longer receive push notifications. To re-enable notifications, sign in again on each device",
|
||||||
|
"You have <a>disabled</a> URL previews by default.": "You have <a>disabled</a> URL previews by default.",
|
||||||
|
"You have <a>enabled</a> URL previews by default.": "You have <a>enabled</a> URL previews by default.",
|
||||||
|
"You have entered an invalid contact. Try using their Matrix ID or email address.": "You have entered an invalid contact. Try using their Matrix ID or email address.",
|
||||||
"You have no visible notifications": "You have no visible notifications",
|
"You have no visible notifications": "You have no visible notifications",
|
||||||
"you must be a": "you must be a",
|
"you must be a": "you must be a",
|
||||||
"You need to be able to invite users to do that.": "You need to be able to invite users to do that.",
|
"You need to be able to invite users to do that.": "You need to be able to invite users to do that.",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue