EditAccountView translated

This commit is contained in:
or-else
2018-10-27 12:42:32 +03:00
parent 48d5732c16
commit 92d4ba8a86
7 changed files with 97 additions and 39 deletions
+12 -1
View File
@@ -3,6 +3,16 @@
"full_name_prompt": "Full name, e.g. John Doe", "full_name_prompt": "Full name, e.g. John Doe",
"email_prompt": "Email, e.g. jdoe@example.com", "email_prompt": "Email, e.g. jdoe@example.com",
"button_sign_up": "Sign up", "button_sign_up": "Sign up",
"label_your_name": "Your name",
"label_password": "Password",
"password_unchanged_prompt": "Unchanged",
"label_user_id": "Address:",
"label_default_access_mode": "Default access mode:",
"label_message_sound": "Message sound:",
"label_push_notifications": "Notification alerts:",
"label_push_notifications_disabled": "Notification alerts (requires HTTPS):",
"title_tag_manager": "Tags (user discovery)",
"button_logout": "Logout",
"login_prompt": "Login", "login_prompt": "Login",
"password_prompt": "Password", "password_prompt": "Password",
"stay_logged_in": "Stay logged in", "stay_logged_in": "Stay logged in",
@@ -29,5 +39,6 @@
"sidepanel_title_cred": "Confirm Credentials", "sidepanel_title_cred": "Confirm Credentials",
"sidepanel_title_reset": "Reset Password", "sidepanel_title_reset": "Reset Password",
"tags_not_found": "No tags defined. Add some.", "tags_not_found": "No tags defined. Add some.",
"tags_editor_no_tags": "Add some tags" "tags_editor_no_tags": "Add some tags",
"title_manage_tags": "Manage tags"
} }
+14 -1
View File
@@ -3,6 +3,16 @@
"full_name_prompt": "Полное имя, напр. Иван Петров", "full_name_prompt": "Полное имя, напр. Иван Петров",
"email_prompt": "Email, напр. ivan@example.com", "email_prompt": "Email, напр. ivan@example.com",
"button_sign_up": "Создать счет", "button_sign_up": "Создать счет",
"label_your_name": "Ваше имя",
"label_password": "Пароль",
"password_unchanged_prompt": "Не изменен",
"label_user_id": "Адрес:",
"label_default_access_mode": "Доступ по умолчанию:",
"label_message_sound": "Звук нового сообщения:",
"label_push_notifications": "Уведомления:",
"label_push_notifications_disabled": "Уведомления (требуют HTTPS):",
"title_tag_manager": "Таги для поиска",
"button_logout": "Выйти",
"login_prompt": "Логин", "login_prompt": "Логин",
"password_prompt": "Пароль", "password_prompt": "Пароль",
"stay_logged_in": "Запомнить", "stay_logged_in": "Запомнить",
@@ -27,5 +37,8 @@
"sidepanel_title_edit_account": "Редактировать счет", "sidepanel_title_edit_account": "Редактировать счет",
"sidepanel_title_newtpk": "Новый чат", "sidepanel_title_newtpk": "Новый чат",
"sidepanel_title_cred": "Подтвердить", "sidepanel_title_cred": "Подтвердить",
"sidepanel_title_reset": "Сменить пароль" "sidepanel_title_reset": "Сменить пароль",
"tags_not_found": "Тагов нет. Добавьте",
"tags_editor_no_tags": "Добавьте таги",
"title_manage_tags": "Редактор тагов"
} }
+53 -18
View File
@@ -1,11 +1,14 @@
// Edit account parameters.
import React from 'react'; import React from 'react';
import { FormattedMessage } from 'react-intl';
import AvatarUpload from '../widgets/avatar-upload.jsx'; import AvatarUpload from '../widgets/avatar-upload.jsx';
import CheckBox from '../widgets/checkbox.jsx'; import CheckBox from '../widgets/checkbox.jsx';
import InPlaceEdit from '../widgets/in-place-edit.jsx';
import PermissionsEditor from '../widgets/permissions-editor.jsx'; import PermissionsEditor from '../widgets/permissions-editor.jsx';
import TagManager from '../widgets/tag-manager.jsx'; import TagManager from '../widgets/tag-manager.jsx';
/* Edit account parameters */ import { makeImageUrl } from '../lib/blob-helpers.js';
export default class EditAccountView extends React.Component { export default class EditAccountView extends React.Component {
constructor(props) { constructor(props) {
@@ -112,7 +115,7 @@ export default class EditAccountView extends React.Component {
tags.push(<span className="badge" key={tags.length}>{tag}</span>); tags.push(<span className="badge" key={tags.length}>{tag}</span>);
}); });
if (tags.length == 0) { if (tags.length == 0) {
tags = <i>No tags defined. Add some.</i>; tags = <i><FormattedMessage id="tags_not_found" /></i>;
} }
return ( return (
<React.Fragment>{this.state.showPermissionEditorFor ? <React.Fragment>{this.state.showPermissionEditorFor ?
@@ -125,16 +128,29 @@ export default class EditAccountView extends React.Component {
<div id="edit-account" className="scrollable-panel"> <div id="edit-account" className="scrollable-panel">
<div className="panel-form-row"> <div className="panel-form-row">
<div className="panel-form-column"> <div className="panel-form-column">
<div><label className="small">Your name</label></div> <div><label className="small">
<div><InPlaceEdit <FormattedMessage id="label_your_name" defaultMessage="Your name"
placeholder="Full name, e.g. John Doe" description="Label for full name editing" />
</label></div>
<div><FormattedMessage id="full_name_prompt">{
(full_name_placeholder) => <InPlaceEdit
placeholder={full_name_placeholder}
value={this.state.fullName} value={this.state.fullName}
onFinished={this.handleFullNameUpdate} /></div> onFinished={this.handleFullNameUpdate} />
<div><label className="small">Password</label></div> }</FormattedMessage></div>
<div><InPlaceEdit <div><label className="small">
placeholder="Unchanged" <FormattedMessage id="label_password" defaultMessage="Password"
description="Label for password editing" />
</label></div>
<div>
<FormattedMessage id="password_unchanged_prompt" defaultMessage="Unchanged"
description="Message in editor while password is unchanged">{
(password_unchanged) => <InPlaceEdit
placeholder={password_unchanged}
type="password" type="password"
onFinished={this.handlePasswordUpdate} /></div> onFinished={this.handlePasswordUpdate} />
}</FormattedMessage>
</div>
</div> </div>
<AvatarUpload <AvatarUpload
avatar={this.state.avatar} avatar={this.state.avatar}
@@ -146,11 +162,15 @@ export default class EditAccountView extends React.Component {
<div className="hr" /> <div className="hr" />
<div className="panel-form-column"> <div className="panel-form-column">
<div className="panel-form-row"> <div className="panel-form-row">
<label>Address:</label> <label><FormattedMessage id="label_user_id" defaultMessage="Address:"
description="Label for user address (ID)" /></label>
<tt>{this.props.myUserId}</tt> <tt>{this.props.myUserId}</tt>
</div> </div>
<div> <div>
<label className="small">Default access mode:</label> <label className="small">
<FormattedMessage id="label_default_access_mode" defaultMessage="Default access mode:"
description="Label for default access mode" />
</label>
</div> </div>
<div className="quoted"> <div className="quoted">
<div>Auth: <tt className="clickable" <div>Auth: <tt className="clickable"
@@ -161,28 +181,43 @@ export default class EditAccountView extends React.Component {
</div> </div>
<div className="hr" /> <div className="hr" />
<div className="panel-form-row"> <div className="panel-form-row">
<label htmlFor="message-sound">Message sound:</label> <label htmlFor="message-sound">
<FormattedMessage id="label_message_sound" defaultMessage="Message sound:"
description="Label for message sounds toggle" />
</label>
<CheckBox name="sound" id="message-sound" <CheckBox name="sound" id="message-sound"
checked={this.props.messageSounds} checked={this.props.messageSounds}
onChange={this.handleCheckboxClick} /> onChange={this.handleCheckboxClick} />
</div> </div>
<div className="panel-form-row"> <div className="panel-form-row">
<label htmlFor="desktop-alerts">Notification <label htmlFor="desktop-alerts">
alerts{!this.props.desktopAlertsEnabled ? ' (requires HTTPS)' : null}:</label> {this.props.desktopAlertsEnabled ?
<FormattedMessage id="label_push_notifications" defaultMessage="Notification alerts"
description="Label for push notifications switch" />
:
<FormattedMessage id="label_push_notifications_disabled"
defaultMessage="Notification alerts (requires HTTPS)"
description="Label for push notifications switch (disabled)" />
}
</label>
<CheckBox name="alert" id="desktop-alerts" <CheckBox name="alert" id="desktop-alerts"
checked={this.props.desktopAlerts} checked={this.props.desktopAlerts}
onChange={this.props.desktopAlertsEnabled ? this.handleCheckboxClick : null} /> onChange={this.props.desktopAlertsEnabled ? this.handleCheckboxClick : null} />
</div> </div>
<div className="hr" /> <div className="hr" />
<TagManager <FormattedMessage id="title_tag_manager" defaultMessage="Tags (user discovery)"
title="Tags (user discovery)" description="Section title for TagManager">{
(title_tag_manager) => <TagManager
title={title_tag_manager}
activated={false} activated={false}
tags={this.state.tags} tags={this.state.tags}
onSubmit={this.handleTagsUpdated} /> onSubmit={this.handleTagsUpdated} />
}</FormattedMessage>
<div className="hr" /> <div className="hr" />
<div className="panel-form-column"> <div className="panel-form-column">
<a href="javascript:;" className="red flat-button" onClick={this.props.onLogout}> <a href="javascript:;" className="red flat-button" onClick={this.props.onLogout}>
<i className="material-icons">exit_to_app</i> Logout <i className="material-icons">exit_to_app</i> <FormattedMessage id="button_logout"
defaultMessage="Logout" description="Button [Logout]" />
</a> </a>
</div> </div>
</div> </div>
+2 -3
View File
@@ -1,7 +1,6 @@
/* In-place text editor. Shows text with an icon // In-place text editor. Shows text with an icon which toggles it into an input field.
* which toggles it into an input field */
import React from 'react'; import React from 'react';
import ReactDom from 'react-dom';
import VisiblePassword from './visible-password.jsx'; import VisiblePassword from './visible-password.jsx';
+2 -2
View File
@@ -139,8 +139,8 @@ export default class TagManager extends React.Component {
: :
<div> <div>
<a href="javascript:;" className="flat-button" onClick={this.handleShowTagManager}> <a href="javascript:;" className="flat-button" onClick={this.handleShowTagManager}>
<i className="material-icons">edit</i> <FormattedMessage id="title_manage_tags" defautMessage="Manage tags" <i className="material-icons">edit</i> <FormattedMessage id="title_manage_tags" defaultMessage="Manage tags"
description="Section title in TagManager" /> description="Section title for the list of tags" />
</a> </a>
<span>{tags}</span> <span>{tags}</span>
</div> </div>
+4 -4
View File
File diff suppressed because one or more lines are too long
+5 -5
View File
File diff suppressed because one or more lines are too long