diff --git a/scripts/i18n-collect.js b/scripts/i18n-collect.js
index 663f0e6..68cbd16 100644
--- a/scripts/i18n-collect.js
+++ b/scripts/i18n-collect.js
@@ -7,7 +7,7 @@ import prompt from 'prompt';
const MESSAGES_PATTERN = `../dist/messages/**/*.json`;
const LANG_DIR = `../src/i18n`;
const DEFAULT_LOCALE = 'en';
-const SUPPORTED_LANGS = [DEFAULT_LOCALE].concat('ru', 'be');
+const SUPPORTED_LANGS = [DEFAULT_LOCALE].concat('ru', 'be', 'uk');
/**
* Aggregates the default messages that were extracted from the app's
@@ -17,7 +17,7 @@ const SUPPORTED_LANGS = [DEFAULT_LOCALE].concat('ru', 'be');
*/
let idToFileMap = {};
let duplicateIds = [];
-let defaultMessages = globSync(MESSAGES_PATTERN)
+const defaultMessages = globSync(MESSAGES_PATTERN)
.map((filename) => [filename, JSON.parse(fs.readFileSync(filename, 'utf8'))])
.reduce((collection, [file, descriptors]) => {
descriptors.forEach(({id, defaultMessage}) => {
diff --git a/src/components/langMenu/LangMenu.jsx b/src/components/langMenu/LangMenu.jsx
index 78a7747..93cceeb 100644
--- a/src/components/langMenu/LangMenu.jsx
+++ b/src/components/langMenu/LangMenu.jsx
@@ -11,6 +11,7 @@ const LANGS = {
be: 'Беларускі',
en: 'English',
ru: 'Русский',
+ uk: 'Українська',
};
export default class LangMenu extends Component {
diff --git a/src/components/langMenu/langMenu.scss b/src/components/langMenu/langMenu.scss
index fa2d442..ea6c8e0 100644
--- a/src/components/langMenu/langMenu.scss
+++ b/src/components/langMenu/langMenu.scss
@@ -99,6 +99,12 @@
background-image: url('icons/flag_be.svg');
}
+.langUk {
+ composes: langIco;
+
+ background-image: url('icons/flag_uk.svg');
+}
+
.trigger {
color: #666;
border-bottom: 1px dotted #666;
diff --git a/src/i18n/be.json b/src/i18n/be.json
index d2458a2..f755e76 100644
--- a/src/i18n/be.json
+++ b/src/i18n/be.json
@@ -163,7 +163,6 @@
"services.loginRequired": "Калі ласка, укажыце E‑mail ці нік",
"services.newPasswordRequired": "Калі ласка, запоўніце поле пароля",
"services.newRePasswordRequired": "Калі ласка, увядзіце паўтор пароля",
- "services.oldHashStrategy": "Sorry, but your account's password is too old. Please change your password in order to perform this action.",
"services.passwordRequired": "Калі ласка, увядзіце пароль",
"services.passwordTooShort": "Пароль павінен быць не менш за 8 сімвалаў ў даўжыню",
"services.passwordsDoesNotMatch": "Паролі не супадаюць",
diff --git a/src/i18n/en.json b/src/i18n/en.json
index 7dd12be..12b9756 100644
--- a/src/i18n/en.json
+++ b/src/i18n/en.json
@@ -163,7 +163,6 @@
"services.loginRequired": "Please enter E‑mail or username",
"services.newPasswordRequired": "Please enter new password",
"services.newRePasswordRequired": "Please repeat new password",
- "services.oldHashStrategy": "Sorry, but your account's password is too old. Please change your password in order to perform this action.",
"services.passwordRequired": "Please enter password",
"services.passwordTooShort": "Your password should be at least 8 characters length",
"services.passwordsDoesNotMatch": "The passwords does not match",
diff --git a/src/i18n/ru.json b/src/i18n/ru.json
index 996c763..e9c5a4e 100644
--- a/src/i18n/ru.json
+++ b/src/i18n/ru.json
@@ -52,12 +52,12 @@
"components.auth.recoverPassword.messageWasSent": "Код для восстановления пароля был отправлен на ваш E‑mail.",
"components.auth.recoverPassword.messageWasSentTo": "Код для восстановления пароля был отправлен на E‑mail {email}.",
"components.auth.recoverPassword.title": "Восстановление пароля",
- "components.auth.register.acceptRules": "Я согласен с {link}",
+ "components.auth.register.acceptRules": "Я принимаю {link}",
"components.auth.register.accountPassword": "Пароль от аккаунта",
"components.auth.register.registerTitle": "Регистрация",
"components.auth.register.repeatPassword": "Повторите пароль",
"components.auth.register.signUpButton": "Зарегистрироваться",
- "components.auth.register.termsOfService": "правилами сервиса",
+ "components.auth.register.termsOfService": "правила сервиса",
"components.auth.register.yourEmail": "Ваш E‑mail",
"components.auth.register.yourNickname": "Желаемый ник",
"components.auth.resendActivation.sendNewEmail": "Отправить новое письмо",
@@ -76,7 +76,7 @@
"components.contact.send": "Отправить",
"components.contact.subject": "Тема",
"components.contact.title": "Форма обратной связи",
- "components.contact.whichQuestion": "По каком вопросу?",
+ "components.contact.whichQuestion": "По какому вопросу?",
"components.contact.youMessageReceived": "Ваше обращение в форму обратной связи получено. Мы ответим вам в ближайшее время. Ответ придёт на указанный вами E‑mail:",
"components.footerMenu.contactUs": "Обратная связь",
"components.footerMenu.rules": "Правила сайта",
@@ -92,7 +92,7 @@
"components.profile.changeEmail.currentAccountEmail": "Текущий E‑mail адрес, привязанный к аккаунту:",
"components.profile.changeEmail.enterFinalizationCode": "Чтобы подтвердить ваш новый E‑mail, пожалуйста, введите полученный код в поле ниже:",
"components.profile.changeEmail.enterInitializationCode": "На E‑mail {email} было отправлено письмо с кодом для инициализации смены E‑mail адреса. Введите его в поле ниже:",
- "components.profile.changeEmail.enterNewEmail": "Затем укажите новый E‑mail адрес, к которому хотите привязать свой аккаунт. На него будет выслан код с подтверждением.",
+ "components.profile.changeEmail.enterNewEmail": "Затем укажите новый E‑mail адрес, к которому хотите привязать свой аккаунт. На него будет выслан код подтверждения.",
"components.profile.changeEmail.finalizationCodeWasSentToEmail": "На указанный E‑mail {email} было выслано письмо с кодом для завершения смены E‑mail адреса.",
"components.profile.changeEmail.newEmailPlaceholder": "Введите новый E‑mail",
"components.profile.changeEmail.pressButtonToStart": "Нажмите на кнопку ниже, чтобы отправить письмо с кодом для инициализации процесса смены E‑mail адреса.",
@@ -111,7 +111,7 @@
"components.profile.changeUsername.changeUsernameWarning": "Будьте внимательны: если вы играли на сервере с привязкой по нику, то после смены ника вы можете утратить весь свой прогресс.",
"components.profile.changedAt": "Изменен {at}",
"components.profile.disabled": "Не включена",
- "components.profile.mojangPriorityWarning": "Найден аккаунт Mojang с таким же ником и, по {rules}, его владелец вправе потребовать восстановления контроля над ником.",
+ "components.profile.mojangPriorityWarning": "Найден аккаунт Mojang с таким же ником. Учтите, что согласно с {rules}, его владелец вправе потребовать восстановления контроля над ником.",
"components.profile.nickname": "Ник",
"components.profile.oldHashingAlgoWarning": "Для пароля применяется старый алгоритм хэширования Пожалуйста, смените пароль.",
"components.profile.password": "Пароль",
@@ -120,7 +120,7 @@
"components.profile.passwordRequestForm.title": "Подтвердите действие",
"components.profile.personalData": "Персональные данные",
"components.profile.preferencesDescription": "Здесь вы можете сменить ключевые параметры вашего аккаунта. Обратите внимание, что для всех действий необходимо подтверждение при помощи ввода пароля.",
- "components.profile.projectRules": "правилам проекта",
+ "components.profile.projectRules": "правилами проекта",
"components.profile.twoFactorAuth": "Двухфакторная аутентификация",
"components.userbar.login": "Вход",
"components.userbar.logout": "Выход",
@@ -130,7 +130,7 @@
"pages.rules.elyAccountsAsService1": "Мы не гарантируем какой-либо процент времени бесперебойной работы этого сервиса.",
"pages.rules.elyAccountsAsService2": "Мы не несём ответственности за простои и упущенную прибыль в результате неработоспособности наших сервисов.",
"pages.rules.elyAccountsAsServiceDesc1": "Сервис {name} предоставляется бесплатно любому заинтересованному в его использовании проекту, связанному с Minecraft.",
- "pages.rules.elyAccountsAsServiceDesc2": "Несмотря на все наши старания, направленные на обеспечение быстрой и стабильной работы сервиса, мы не застрахованы от DDOS-атак, перебоев в работе сети хостера, взбоев электропитания или иных ситуаций, предусмотреть и защититься от которых на 100% не представляется возможным. Во избежание возможных недопониманий, мы обязаны оговорить следующие соглашения, действующие в случае описанных выше ситуаций:",
+ "pages.rules.elyAccountsAsServiceDesc2": "Несмотря на все наши старания, направленные на обеспечение быстрой и стабильной работы сервиса, мы не застрахованы от DDOS-атак, перебоев в работе сети хостера, сбоев электропитания или иных ситуаций, предусмотреть и защититься от которых на 100% не представляется возможным. Во избежание возможных недопониманий, мы обязаны оговорить следующие соглашения, действующие в случае описанных выше ситуаций:",
"pages.rules.emailAndNickname": "E‑mail и ник",
"pages.rules.emailAndNickname1": "Запрещена регистрация аккаунтов с использованием сервисов временной почты. Речь идёт о сервисах, предоставляющих случайные почтовые ящики в любом количестве.",
"pages.rules.emailAndNickname2": "Мы пытаемся противодействовать этому, но, если вам всё же удалось зарегистрировать аккаунт с использованием сервиса временной почты, по нему не будет оказываться техническая поддержка, и впоследствии, при обновлении наших фильтров, аккаунт будет заблокирован вместе с вашим ником.",
@@ -139,7 +139,7 @@
"pages.rules.emailAndNickname5": "Владелец премиум-аккаунта Minecraft вправе потребовать восстановления контроля над своим ником, и вам в течение 3-х дней придётся сменить ник, или это будет сделано автоматически.",
"pages.rules.emailAndNickname6": "Если в течение последних 3 месяцев на вашем аккаунте не было замечено какой-либо активности, то ваш ник может быть занят любым пользователем.",
"pages.rules.emailAndNickname7": "Мы не несём ответственности за потерянный прогресс на игровых серверах в результате смены ника, включая случаи смены ника по требованию с нашей стороны.",
- "pages.rules.mainProvision1": "Сервис {name} предназначен для организации безопасного доступа к пользовательским аккаунтам проекта Ely.by, его партнёров и любых сторонних разработок, желающих использовать один из наших сервисов.",
+ "pages.rules.mainProvision1": "Сервис {name} предназначен для организации безопасного доступа к пользовательским аккаунтам проекта Ely.by, его партнёров и любых сторонних проектов, желающих использовать один из наших сервисов.",
"pages.rules.mainProvision2": "Мы (здесь и далее) - команда разработчиков проекта Ely.by, занимающихся созданием качественных сервисов для сообщества Minecraft.",
"pages.rules.mainProvision3": "Ely.by является сторонней разработкой, не имеющей никакого отношения к компаниям Mojang и Microsoft. Мы не оказываем поддержки по премиум-аккаунтам Minecraft, а также никак не связаны с игровыми серверами, использующими или не использующими наши сервисы.",
"pages.rules.mainProvision4": "Регистрация пользовательского аккаунта на сервисе бесплатна. Создание аккаунта Ely.by возможно только на странице {link}.",
@@ -147,7 +147,7 @@
"pages.rules.title": "Правила сайта",
"services.accountAlreadyActivated": "Этот аккаунт уже активирован",
"services.accountNotActivated": "Аккаунт не активирован",
- "services.doYouWantRequestKey": "Не хотите отправить новый код?",
+ "services.doYouWantRequestKey": "Желаете отправить новый код?",
"services.emailFrequency": "Пожалуйста, успокойтесь, вы запрашиваете E‑mail слишком часто. Новый ключ можно будет заказать {time}.",
"services.emailInvalid": "Указан неправильный E‑mail",
"services.emailIsTempmail": "Использование сервисов временных E‑mail адресов запрещено",
@@ -163,12 +163,11 @@
"services.loginRequired": "Пожалуйста, укажите E‑mail или ник",
"services.newPasswordRequired": "Пожалуйста, заполните поле пароля",
"services.newRePasswordRequired": "Пожалуйста, введите повтор пароля",
- "services.oldHashStrategy": "Sorry, but your account's password is too old. Please change your password in order to perform this action.",
"services.passwordRequired": "Пожалуйста, введите пароль",
"services.passwordTooShort": "Пароль должен быть как минимум 8 символов в длинну",
"services.passwordsDoesNotMatch": "Пароли не совпадают",
"services.rePasswordRequired": "Пожалуйста, повторите пароль",
- "services.rulesAgreementRequired": "Для создания аккаунта вам необходими принять правила сервиса",
+ "services.rulesAgreementRequired": "Для создания аккаунта вам необходимо принять правила сервиса",
"services.suggestResetPassword": "Вы {link}?",
"services.usernameInvalid": "Ник содержит недопустимые символы",
"services.usernameRequired": "Поле ника обязательно к заполнению",
diff --git a/src/i18n/uk.json b/src/i18n/uk.json
new file mode 100644
index 0000000..f476650
--- /dev/null
+++ b/src/i18n/uk.json
@@ -0,0 +1,176 @@
+{
+ "components.auth.activation.accountActivationTitle": "Активація акаунту",
+ "components.auth.activation.activationMailWasSent": "На {email} відправлено повідомлення з інструкціями по завершенню реєстрації",
+ "components.auth.activation.confirmEmail": "Підтвердження E‑mail",
+ "components.auth.activation.didNotReceivedEmail": "Не отримали E‑mail?",
+ "components.auth.activation.enterTheCode": "Вкажіть код з E‑mail",
+ "components.auth.appInfo.appDescription": "Ви знаходитесь на сервісі авторизації Ely.by, що дозволяє вам безпечно здійснювати будь-які операції над вашим акаунтом. Це єдина точка входу для сайтів і настільних програм, включаючи ігрові лаунчери.",
+ "components.auth.appInfo.appName": "Акаунти Ely",
+ "components.auth.appInfo.documentation": "документацію",
+ "components.auth.appInfo.goToAuth": "До авторизації",
+ "components.auth.appInfo.useItYourself": "Відвідайте нашу {link}, щоб дізнатися, як використовувати цей сервіс в своїх проектах.",
+ "components.auth.changePassword.change": "Змінити пароль",
+ "components.auth.changePassword.changePasswordMessage": "Для забезпечення безпеки вашого аккаунта, будь ласка, змініть пароль.",
+ "components.auth.changePassword.changePasswordTitle": "Зміна пароля",
+ "components.auth.changePassword.currentPassword": "Введіть поточний пароль",
+ "components.auth.changePassword.newPassword": "Введіть новий пароль",
+ "components.auth.changePassword.newRePassword": "Повторіть новий пароль",
+ "components.auth.changePassword.skipThisStep": "Пропустити зміну пароля",
+ "components.auth.finish.authForAppFailed": "Авторизація для {appName} не вдалася",
+ "components.auth.finish.authForAppSuccessful": "Авторизація для {appName} успішно виконана",
+ "components.auth.finish.copy": "Скопіювати",
+ "components.auth.finish.passCodeToApp": "Щоб завершити процес авторизації, будь ласка, передайте {appName} цей код",
+ "components.auth.finish.waitAppReaction": "Будь ласка, дочекайтеся реакції вашої програми",
+ "components.auth.forgotPassword.alreadyHaveCode": "Вже отримав код",
+ "components.auth.forgotPassword.pleasePressButton": "Натисніть на кнопку нижче, щоб отримати E-mail з кодом для відновлення пароля.",
+ "components.auth.forgotPassword.sendMail": "Відправити повідомлення",
+ "components.auth.forgotPassword.specifyEmail": "Вкажіть реєстраційну E-mail адресу або останній використаний нік від вашого облікового запису, і ми відправимо E-mail з подальшими інструкціями щодо відновлення пароля.",
+ "components.auth.forgotPassword.title": "Забув пароль",
+ "components.auth.login.emailOrUsername": "E‑mail або нік",
+ "components.auth.login.loginTitle": "Вхід",
+ "components.auth.login.next": "Далі",
+ "components.auth.password.accountPassword": "Пароль від акаунту",
+ "components.auth.password.forgotPassword": "Забув пароль",
+ "components.auth.password.forgotYourPassword": "забули пароль",
+ "components.auth.password.invalidPassword": "Ви вказали не вірний пароль від акаунту.",
+ "components.auth.password.passwordTitle": "Введіть пароль",
+ "components.auth.password.rememberMe": "Запам'ятати мене на цьому пристрої",
+ "components.auth.password.signInButton": "Увійти",
+ "components.auth.password.suggestResetPassword": "Ви {link}?",
+ "components.auth.permissions.approve": "Дозволити",
+ "components.auth.permissions.decline": "Відмінити",
+ "components.auth.permissions.permissionsTitle": "Права додатку",
+ "components.auth.permissions.scope_minecraft_server_session": "Авторизація на серверахMinecraft",
+ "components.auth.permissions.scope_offline_access": "Доступ до даних профілю, коли ви не в мережі",
+ "components.auth.permissions.theAppNeedsAccess1": "Цьому додатку потрібен доступ",
+ "components.auth.permissions.theAppNeedsAccess2": "до ваших даних",
+ "components.auth.permissions.youAuthorizedAs": "Ви увійшли як:",
+ "components.auth.recoverPassword.contactSupport": "Форма зворотнього зв'язку",
+ "components.auth.recoverPassword.enterCodeBelow": "Будь ласка, введіть отриманий код у поле нижче:",
+ "components.auth.recoverPassword.enterNewPasswordBelow": "Вкажіть пароль і його підтвердження нижче:",
+ "components.auth.recoverPassword.enterTheCode": "Введіть код підтвердження",
+ "components.auth.recoverPassword.messageWasSent": "Код для відновлення пароля був відправлений на ваш E‑mail.",
+ "components.auth.recoverPassword.messageWasSentTo": "Код для відновлення пароля був відправлений на E‑mail {email}.",
+ "components.auth.recoverPassword.title": "Відновлення паролю",
+ "components.auth.register.acceptRules": "Я приймаю {link}",
+ "components.auth.register.accountPassword": "Пароль від аккаунту",
+ "components.auth.register.registerTitle": "Реєстрація",
+ "components.auth.register.repeatPassword": "Повторіть пароль",
+ "components.auth.register.signUpButton": "Зареєструватися",
+ "components.auth.register.termsOfService": "правила сервісу",
+ "components.auth.register.yourEmail": "Ваш E‑mail",
+ "components.auth.register.yourNickname": "Бажаний нік",
+ "components.auth.resendActivation.sendNewEmail": "Відправити новий лист",
+ "components.auth.resendActivation.specifyYourEmail": "Вкажіть тут вашу реєстраційну E-mail адресу, і ми надішлемо на неї повідомлення з кодом активації облікового запису",
+ "components.auth.resendActivation.title": "Не отримав лист",
+ "components.contact.cannotAccessMyAccount": "Не вдалося визначити отримати доступ до аккаунту",
+ "components.contact.close": "Закрити",
+ "components.contact.disclaimer": "Будь ласка, формуйте свої звернення, надаючи максимум корисної інформації, щоб ми могли якомога швидше зрозуміти вашу проблему і вирішити її",
+ "components.contact.email": "E‑mail",
+ "components.contact.foundBugOnSite": "Знайдена помилка на сайті",
+ "components.contact.improvementsSuggestion": "У мене є пропозиція щодо покращення функціоналу",
+ "components.contact.integrationQuestion": "Питання про інтеграцію з сервісом",
+ "components.contact.message": "Текст повідомлення",
+ "components.contact.other": "Інше",
+ "components.contact.philosophicalThought": "Правильно сформульоване питання - половина відповіді",
+ "components.contact.send": "Відправити",
+ "components.contact.subject": "Тема",
+ "components.contact.title": "Форма зворотного зв'язку",
+ "components.contact.whichQuestion": "З якого питання?",
+ "components.contact.youMessageReceived": "Ваше звернення отримано. Ми відповімо вам найближчим часом. Відповідь прийде на вказаний вами E-mail:",
+ "components.footerMenu.contactUs": "Зворотній зв'язок",
+ "components.footerMenu.rules": "Правила сайту",
+ "components.langMenu.siteLanguage": "Мова сайту",
+ "components.profile.accountDescription": "Завдяки аккаунту Ely.by ви можете отримати доступ до багатьох ресурсів, пов'язаних з Minecraft. Бережіть свій аккаунт, використовуйте надійний пароль і регулярно його змінюйте.",
+ "components.profile.accountPreferencesTitle": "Налаштування акаунту Ely.by",
+ "components.profile.back": "Назад",
+ "components.profile.changeEmail.alreadyReceivedCode": "Я вже отримав код",
+ "components.profile.changeEmail.changeEmailButton": "Змінити E-mail",
+ "components.profile.changeEmail.changeEmailDescription": "Для зміни E-mail адреси акаунта спершу необхідно підтвердити володіння поточною адресою, а потім прив'язати нову.",
+ "components.profile.changeEmail.changeEmailTitle": "Зміна E-mail",
+ "components.profile.changeEmail.codePlaceholder": "Вставте код сюди",
+ "components.profile.changeEmail.currentAccountEmail": "Поточна E-mail адреса, прив'язана до акаунту:",
+ "components.profile.changeEmail.enterFinalizationCode": "Щоб підтвердити ваш новий E-mail, будь ласка, введіть отриманий код у поле нижче:",
+ "components.profile.changeEmail.enterInitializationCode": "На E-mail {email} було відправлено лист з кодом для ініціалізації процесу зміни E-mail адреси. Введіть його у поле нижче:",
+ "components.profile.changeEmail.enterNewEmail": "Потім вкажіть нову E-mail адресу, до якої бажаєте прив'язати свій аккаунт. На неї буде вислано код підтвердження.",
+ "components.profile.changeEmail.finalizationCodeWasSentToEmail": "На вказаний E-mail {email} було надіслано листа з кодом для завершення зміни E-mail адреси.",
+ "components.profile.changeEmail.newEmailPlaceholder": "Введіть новий E‑mail",
+ "components.profile.changeEmail.pressButtonToStart": "Натисніть кнопку нижче, щоб відправити лист з кодом для ініціалізації процесу зміни E-mail адреси.",
+ "components.profile.changeEmail.sendEmailButton": "Відправити E‑mail",
+ "components.profile.changePassword.achievementLossWarning": "Адже ви цінуєте свої ігрові досягнення?",
+ "components.profile.changePassword.changePasswordButton": "Змінити пароль",
+ "components.profile.changePassword.changePasswordDescription": "Вигадайте пароль, який буде відрізнятися від ваших паролів на інших сайтах і не буде збігатися з тим паролем, який ви використовуєте для входу на різні ігрові сервери Minecraft.",
+ "components.profile.changePassword.changePasswordTitle": "Зміна паролю",
+ "components.profile.changePassword.logoutOnAllDevices": "Вийти на всіх пристроях",
+ "components.profile.changePassword.newPasswordLabel": "Новий пароль:",
+ "components.profile.changePassword.passwordRequirements": "Пароль повинен містити не менше 8 символів. Це можуть бути будь-які символи — не обмежуйте себе, вигадайте непередбачуваний пароль!",
+ "components.profile.changePassword.repeatNewPasswordLabel": "Повторіть пароль ще раз:",
+ "components.profile.changeUsername.changeUsernameButton": "Змінити нікнейм",
+ "components.profile.changeUsername.changeUsernameDescription": "Ви можете змінити свій нікнейм на будь-яке припустиме значення. Пам'ятайте про те, що не рекомендується займати нікнейми користувачів Mojang.",
+ "components.profile.changeUsername.changeUsernameTitle": "Зміна никнейму",
+ "components.profile.changeUsername.changeUsernameWarning": "Будьте уважні: якщо ви грали на сервері з прив'язкою до ніку, то після зміни ніку ви можете втратити ігрові досягнення.",
+ "components.profile.changedAt": "Змінено {at}",
+ "components.profile.disabled": "Вимкнено",
+ "components.profile.mojangPriorityWarning": "Знайдений аккаунт Mojang з таким же ніком. Майте на увазі, що згідно з {rules}, його власник має право вимагати відновлення контролю над ніком.",
+ "components.profile.nickname": "Нік",
+ "components.profile.oldHashingAlgoWarning": "Для пароля застосовується старий алгоритм хешування Будь ласка, змініть пароль.",
+ "components.profile.password": "Пароль",
+ "components.profile.passwordRequestForm.continue": "Продовжити",
+ "components.profile.passwordRequestForm.description": "Для завершення, вкажіть пароль від акаунту",
+ "components.profile.passwordRequestForm.title": "Підтвердіть дію",
+ "components.profile.personalData": "Персональні дані",
+ "components.profile.preferencesDescription": "Тут ви можете змінити ключові параметри вашого облікового запису. Зверніть увагу, що для всіх дій необхідно підтвердження за допомогою введення пароля.",
+ "components.profile.projectRules": "правилами проекта",
+ "components.profile.twoFactorAuth": "Двофакторна аутентифікація",
+ "components.userbar.login": "Вхід",
+ "components.userbar.logout": "Вихід",
+ "components.userbar.register": "Реєстрація",
+ "pages.root.siteName": "Ely.by",
+ "pages.rules.elyAccountsAsService": "{name} як сервіс",
+ "pages.rules.elyAccountsAsService1": "Ми не гарантуємо безперебійної роботи цього сервісу.",
+ "pages.rules.elyAccountsAsService2": "Ми не несемо відповідальності за простої і втрачений прибуток у результаті непрацездатності наших сервісів.",
+ "pages.rules.elyAccountsAsServiceDesc1": "Сервіс {name} надається безкоштовно будь-якому зацікавленому у його використанні проекту, пов'язаному з Minecraft.",
+ "pages.rules.elyAccountsAsServiceDesc2": "Незважаючи на всі наші зусилля, спрямовані на забезпечення швидкої і стабільної роботи сервісу, ми не застраховані від DDOS-атак, перебоїв у роботі мережі хостера, збоев електроживлення чи інших ситуацій, передбачити і захиститися від яких на 100% не представляється можливим. Щоб уникнути можливих непорозумінь, ми зобов'язані донести такі угоди, що діють у разі вакзаних вище ситуацій:",
+ "pages.rules.emailAndNickname": "E‑mail та нік",
+ "pages.rules.emailAndNickname1": "Заборонена реєстрація акаунтів з використанням сервісів тимчасової пошти. Йдеться про сервіси, що надають випадкові поштові скриньки у будь-якій кількості.",
+ "pages.rules.emailAndNickname2": "Ми намагаємося протидіяти цьому, але, якщо вам все ж вдалося зареєструвати аккаунт з використанням сервісу тимчасової пошти, по ньому не буде надаватися технічна підтримка, і згодом, при оновленні наших фільтрів, аккаунт буде заблокований разом з вашим ніком.",
+ "pages.rules.emailAndNickname3": "На призначений для користувача нікнейм, який використовується у грі, не накладаються будь-які моральні обмеження.",
+ "pages.rules.emailAndNickname4": "Ніки, що належать відомим особистостям, за вимогою, можуть бути звільнені у їх користь після встановленню цієї самої особистості.",
+ "pages.rules.emailAndNickname5": "Власник преміум-аккаунта Minecraft має право вимагати відновлення контролю над своїм ніком. У цьому випадку вам необхідно буде протягом 3-х днів змінити нік, або це буде зроблено автоматично.",
+ "pages.rules.emailAndNickname7": "Ми не несемо відповідальності за втрачений прогрес на ігрових серверах у результаті зміни ника, включаючи випадки зміни ника на вимогу з нашого боку.",
+ "pages.rules.mainProvision1": "Сервіс {name} призначений для організації безпечного доступу до призначених для користувача аккаунтів проекту Ely.by, його партнерів і будь-яких сторонніх проектів, які бажають використовувати один з наших сервісів.",
+ "pages.rules.mainProvision2": "Ми (тут і надалі) — команда розробників проекту Ely.by, що займаються створенням якісних сервісів для спільноти Minecraft.",
+ "pages.rules.mainProvision3": "Ely.by є сторонньою розробкою, яка не має ніякого відношення до компаній Mojang і Microsoft. Ми не надаємо підтримки власникам преміум-акаунтів Minecraft, а також ніяк не пов'язані з ігровими серверами, які використовують або не використовують наші сервіси.",
+ "pages.rules.mainProvision4": "Реєстрація на сервісі безкоштовна. Створення облікового запису Ely.by можливо тільки на сторінці {link}.",
+ "pages.rules.mainProvisions": "Основні положення",
+ "pages.rules.title": "Правила сайту",
+ "services.accountAlreadyActivated": "Цей обліковий запис вже активований",
+ "services.accountNotActivated": "Акаунт не активований",
+ "services.doYouWantRequestKey": "Бажаєте відправити новий код?",
+ "services.emailFrequency": "Будь ласка, заспокойтесь, ви запитуєте E-mail занадто часто. Новий ключ можна буде замовити {time}.",
+ "services.emailInvalid": "Вказано невірний E-mail",
+ "services.emailIsTempmail": "Використання сервісів тимчасових E-mail адрес заборонено",
+ "services.emailNotAvailable": "На вказану E-mail адресу вже зареєстровано обліковий запис",
+ "services.emailNotFound": "Аккаунта із зазначеною E-mail адресою не існує",
+ "services.emailRequired": "Будь ласка, вкажіть E-mail",
+ "services.emailToLong": "E‑mail занадто довгий",
+ "services.forgotYourPassword": "забули свій пароль",
+ "services.invalidPassword": "Ви вказали невірний пароль від акаунту.",
+ "services.keyNotExists": "Вказаний ключ не існує або застарів.",
+ "services.keyRequired": "Будь ласка, введіть код активації",
+ "services.loginNotExist": "На жаль, на Ely немає користувача з зазначеним логіном.",
+ "services.loginRequired": "Будь ласка, вкажіть E-mail або нік",
+ "services.newPasswordRequired": "Будь ласка, заповніть поле пароля",
+ "services.newRePasswordRequired": "Будь ласка, введіть повторення пароля",
+ "services.passwordRequired": "Будь ласка, введіть пароль",
+ "services.passwordTooShort": "Пароль повинен бути як мінімум 8 символів у довжину",
+ "services.passwordsDoesNotMatch": "Паролі не співпадають",
+ "services.rePasswordRequired": "Будь ласка, повторіть пароль",
+ "services.rulesAgreementRequired": "Для створення аккаунта вам необхідно прийняти правила сервісу",
+ "services.suggestResetPassword": "Ви {link}?",
+ "services.usernameInvalid": "Нік містить неприпустимі символи",
+ "services.usernameRequired": "Поле ніку обов'язково до заповнення",
+ "services.usernameTooLong": "Занадто довгий нік",
+ "services.usernameTooShort": "Нік занадто короткий",
+ "services.usernameUnavailable": "Цей нік вже занятий"
+}
diff --git a/src/icons/flag_uk.svg b/src/icons/flag_uk.svg
new file mode 100644
index 0000000..551b203
--- /dev/null
+++ b/src/icons/flag_uk.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/icons/flag_ukraine.svg b/src/icons/flag_ukraine.svg
deleted file mode 100644
index d1b537e..0000000
--- a/src/icons/flag_ukraine.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/src/services/errorsDict.intl.json b/src/services/errorsDict.intl.json
index e30ea19..cc60382 100644
--- a/src/services/errorsDict.intl.json
+++ b/src/services/errorsDict.intl.json
@@ -26,7 +26,6 @@
"doYouWantRequestKey": "Do you want to request a new key?",
"emailFrequency": "Please cool down, you are requesting E‑mails too often. New key can be retrieved {time}.",
"accountNotActivated": "The account is not activated",
- "oldHashStrategy": "Sorry, but your account's password is too old. Please change your password in order to perform this action.",
"emailNotFound": "Specified E‑mail is not found",
"accountAlreadyActivated": "This account is already activated"
}
diff --git a/src/services/errorsDict.js b/src/services/errorsDict.js
index 8032fd2..e9dc977 100644
--- a/src/services/errorsDict.js
+++ b/src/services/errorsDict.js
@@ -23,7 +23,6 @@ const errorsMap = {
'error.password_required': () => ,
'error.password_invalid': () => ,
- 'error.old_hash_strategy': () => ,
'error.password_incorrect': (props) => (
diff --git a/src/services/i18n.js b/src/services/i18n.js
index 84444fc..377c458 100644
--- a/src/services/i18n.js
+++ b/src/services/i18n.js
@@ -2,13 +2,15 @@ import { addLocaleData } from 'react-intl';
import enLocaleData from 'react-intl/locale-data/en';
import ruLocaleData from 'react-intl/locale-data/ru';
import beLocaleData from 'react-intl/locale-data/be';
+import ukLocaleData from 'react-intl/locale-data/uk';
// till we have not so many locales, we can require their data at once
addLocaleData(enLocaleData);
addLocaleData(ruLocaleData);
addLocaleData(beLocaleData);
+addLocaleData(ukLocaleData);
-const SUPPORTED_LANGUAGES = ['ru', 'en', 'be'];
+const SUPPORTED_LANGUAGES = ['ru', 'en', 'be', 'uk'];
const DEFAULT_LANGUAGE = 'en';
const needPolyfill = !window.Intl;
@@ -43,7 +45,7 @@ export default {
require.context(
'bundle?name=[name]-polyfill-data!intl/locale-data/jsonp',
false,
- /\.\/(en|ru|be)\.js$/
+ /\.\/(en|ru|be|uk)\.js$/
)(`./${locale}.js`)(resolve);
});
}));