From 4723652dec5900bb4e864429531899b41e3d987c Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Fri, 17 Sep 2021 23:56:56 +0100 Subject: [PATCH] :globe_with_meridians: Adds Russian translations --- README.md | 7 +- src/assets/locales/ru.json | 172 +++++++++++++++++++++++++++++++++++++ src/utils/languages.js | 17 ++-- 3 files changed, 188 insertions(+), 8 deletions(-) create mode 100644 src/assets/locales/ru.json diff --git a/README.md b/README.md index a39bc97045..024d2dd43a 100644 --- a/README.md +++ b/README.md @@ -445,9 +445,10 @@ Dashy supports multiple languages and locales. When available, you're language s - 🇸🇮 **Slovenian**: `sl` - Contributed by **[@UrekD](https://github.com/UrekD)** - 🇮🇹 **Italian**: `it` - Machine Translated *(awaiting human review)* - 🇵🇹 **Portuguese**: `pt` - Machine Translated *(awaiting human review)* -- 🇦🇪 **Arabic**: `ar` -- 🇮🇳 **Hindi**: `hi` -- 🇯🇵 **Japanese**: `ja` +- 🇷🇺 **Russian**: `ru` - Contributed by Anon +- 🇦🇪 **Arabic**: `ar` - Contributed by Anon +- 🇮🇳 **Hindi**: `hi` - Contributed by Anon +- 🇯🇵 **Japanese**: `ja` - Contributed by Anon #### Add your Language I would love for Dashy to be available to everyone, without language being a barrier to entry for non-native English speakers. If you have a few minutes to sapir, you're help with translating it would be very much appreciated. diff --git a/src/assets/locales/ru.json b/src/assets/locales/ru.json new file mode 100644 index 0000000000..81759afb35 --- /dev/null +++ b/src/assets/locales/ru.json @@ -0,0 +1,172 @@ +{ + "home": { + "no-results": "Нет Результатов Поиска", + "no-data": "Данные не настроены" + }, + "search": { + "search-label": "Поиск", + "search-placeholder": "Начните вводить, чтобы отфильтровать", + "clear-search-tooltip": "Очистить поиск", + "enter-to-search-web": "Нажмите \"Ввод\" для поиска в Интернете" + }, + "login": { + "title": "Даши", + "username-label": "Имя пользователя", + "password-label": "Пароль", + "login-button": "Авторизоваться", + "remember-me-label": "Помни меня за", + "remember-me-never": "Никогда", + "remember-me-hour": "4 часа", + "remember-me-day": "1 день", + "remember-me-week": "1 неделя", + "error-missing-username": "Отсутствует имя пользователя", + "error-missing-password": "Отсутствует пароль", + "error-incorrect-username": "Пользователь не найден", + "error-incorrect-password": "Неверный пароль", + "success-message": "Вход в систему...", + "logout-message": "Вышли из", + "already-logged-in-title": "Уже вошли в систему", + "already-logged-in-text": "Вы вошли как", + "proceed-to-dashboard": "Перейти на панель управления", + "log-out-button": "Выйти", + "proceed-guest-button": "Продолжить как гость" + }, + "config": { + "main-tab": "Главное меню", + "view-config-tab": "Просмотр конфигурации", + "edit-config-tab": "Изменить конфигурацию", + "custom-css-tab": "Пользовательские стили", + "heading": "Варианты конфигурации", + "download-config-button": "Скачать конфигурацию", + "edit-config-button": "Изменить конфигурацию", + "edit-css-button": "Редактировать собственный CSS", + "cloud-sync-button": "Включить облачную синхронизацию", + "edit-cloud-sync-button": "Изменить Cloud Sync", + "rebuild-app-button": "Восстановить приложение", + "change-language-button": "Изменить язык приложения", + "reset-settings-button": "Сбросить локальные настройки", + "app-info-button": "Информация о приложении", + "backup-note": "Перед внесением изменений рекомендуется сделать резервную копию вашей конфигурации.", + "reset-config-msg-l1": "Это удалит все пользовательские настройки из локального хранилища, но не повлияет на ваш файл conf.yml.", + "reset-config-msg-l2": "Вы должны сначала сделать резервную копию любых изменений, которые вы внесли локально, если вы хотите использовать их в будущем.", + "reset-config-msg-l3": "Вы уверены, что хотите продолжить?", + "data-cleared-msg": "Данные успешно очищены", + "actions-label": "Действия", + "copy-config-label": "Копировать конфигурацию", + "data-copied-msg": "Конфиг скопирован в буфер обмена", + "reset-config-label": "Сбросить конфигурацию", + "css-save-btn": "Сохранить изменения", + "css-note-label": "Примечание", + "css-note-l1": "Вам нужно будет обновить страницу, чтобы изменения вступили в силу.", + "css-note-l2": "Переопределения стилей хранятся только локально, поэтому рекомендуется сделать копию вашего CSS.", + "css-note-l3": "Чтобы удалить все пользовательские стили, удалите содержимое и нажмите «Сохранить изменения»." + }, + "alternate-views": { + "alternate-view-heading": "Переключить вид", + "default": "Дефолт", + "workspace": "Рабочая среда", + "minimal": "Минимальный" + }, + "settings": { + "theme-label": "Тема", + "layout-label": "Макет", + "layout-auto": "Авто", + "layout-horizontal": "По горизонтали", + "layout-vertical": "Вертикальный", + "item-size-label": "Размер элемента", + "item-size-small": "Небольшой", + "item-size-medium": "Середина", + "item-size-large": "Большой", + "config-launcher-label": "Конфиг", + "config-launcher-tooltip": "Обновить конфигурацию", + "sign-out-tooltip": "Выход", + "sign-in-tooltip": "Авторизоваться", + "sign-in-welcome": "Здравствуйте, {username}!" + }, + "updates": { + "app-version-note": "Даши версия", + "up-to-date": "Своевременно", + "out-of-date": "Доступно обновление", + "unsupported-version-l1": "Вы используете неподдерживаемую версию Dashy", + "unsupported-version-l2": "Для оптимальной работы и получения последних исправлений безопасности, пожалуйста, обновите до" + }, + "language-switcher": { + "title": "Изменить язык приложения", + "dropdown-label": "Выберите язык", + "save-button": "Сохранить", + "success-msg": "Язык обновлен до" + }, + "theme-maker": { + "title": "Конфигуратор темы", + "export-button": "Экспорт пользовательских переменных", + "reset-button": "Сбросить стили для", + "show-all-button": "Показать все переменные", + "save-button": "Сохранить", + "cancel-button": "Отмена", + "saved-toast": "{theme} Обновлено успешно", + "copied-toast": "Данные темы для {theme} скопированы в буфер обмена", + "reset-toast": "Пользовательские цвета для {theme} удалены" + }, + "config-editor": { + "save-location-label": "Сохранить местоположение", + "location-local-label": "Применять локально", + "location-disk-label": "Запись изменений в файл конфигурации", + "save-button": "Сохранить изменения", + "valid-label": "Конфигурация действительна", + "status-success-msg": "Задача завершена", + "status-fail-msg": "Сбой задачи", + "success-msg-disk": "Файл конфигурации успешно записан на диск", + "success-msg-local": "Локальные изменения успешно сохранены", + "success-note-l1": "Приложение должно перестроиться автоматически.", + "success-note-l2": "Это может занять до минуты.", + "success-note-l3": "Вам нужно будет обновить страницу, чтобы изменения вступили в силу.", + "error-msg-save-mode": "Пожалуйста, выберите режим сохранения: локальный или файл", + "error-msg-cannot-save": "Произошла ошибка при сохранении конфигурации", + "error-msg-bad-json": "Ошибка в JSON, возможно, неверный формат", + "warning-msg-validation": "Предупреждение о проверке", + "not-admin-note": "Вы не можете записать измененные на диск, потому что вы не вошли в систему как администратор" + }, + "app-rebuild": { + "title": "Восстановить приложение", + "rebuild-note-l1": "Чтобы изменения, записанные в файл conf.yml, вступили в силу, требуется перестройка.", + "rebuild-note-l2": "Это должно произойти автоматически, но если этого не произошло, вы можете запустить это вручную здесь.", + "rebuild-note-l3": "Это не требуется для изменений, хранящихся локально.", + "rebuild-button": "Начать сборку", + "rebuilding-status-1": "Строительство...", + "rebuilding-status-2": "Это может занять несколько минут", + "error-permission": "У вас нет разрешения запускать это действие", + "success-msg": "Сборка успешно завершена", + "fail-msg": "Не удалось выполнить операцию сборки", + "reload-note": "Теперь требуется перезагрузка страницы, чтобы изменения вступили в силу.", + "reload-button": "Перезагрузить страницу" + }, + "cloud-sync": { + "title": "Резервное копирование и восстановление в облаке", + "intro-l1": "Резервное копирование и восстановление в облако - это дополнительная функция, которая позволяет вам загрузить свою конфигурацию в Интернет, а затем восстановить ее на любом другом устройстве или экземпляре Dashy.", + "intro-l2": "Все данные полностью зашифрованы с помощью AES с использованием вашего пароля в качестве ключа.", + "intro-l3": "Для получения дополнительной информации см.", + "backup-title-setup": "Сделать резервную копию", + "backup-title-update": "Обновить резервную копию", + "password-label-setup": "Выберите пароль", + "password-label-update": "Введите ваш пароль", + "backup-button-setup": "Резервное копирование", + "backup-button-update": "Обновить резервную копию", + "backup-id-label": "Ваш резервный идентификатор", + "backup-id-note": "Это используется для восстановления из резервных копий позже. Так что храните его вместе со своим паролем в надежном месте.", + "restore-title": "Восстановить резервную копию", + "restore-id-label": "Восстановить ID", + "restore-password-label": "Пароль", + "restore-button": "Восстановить", + "backup-missing-password": "Отсутствует пароль", + "backup-error-unknown": "Невозможно обработать запрос", + "backup-error-password": "Неверный пароль. Пожалуйста, введите ваш текущий пароль.", + "backup-success-msg": "Успешно завершено", + "restore-success-msg": "Конфигурация успешно восстановлена" + }, + "menu": { + "sametab": "Открыть в текущей вкладке", + "newtab": "Открыть в новой вкладке", + "modal": "Открыть в модальном всплывающем окне", + "workspace": "Открыть в представлении рабочей области" + } +} diff --git a/src/utils/languages.js b/src/utils/languages.js index 37402489a6..0ef43e658b 100644 --- a/src/utils/languages.js +++ b/src/utils/languages.js @@ -11,6 +11,7 @@ import ar from '@/assets/locales/ar.json'; import hi from '@/assets/locales/hi.json'; import ja from '@/assets/locales/ja.json'; import pt from '@/assets/locales/pt.json'; +import ru from '@/assets/locales/ru.json'; // Language data - Next register your language by adding it to this list export const languages = [ @@ -20,8 +21,8 @@ export const languages = [ locale: en, flag: '🇬🇧', }, - { - name: 'German', + { // German + name: 'Deutsch', code: 'de', locale: de, flag: '🇩🇪', @@ -33,19 +34,19 @@ export const languages = [ flag: '🇳🇱', }, { - name: 'French', + name: 'Français', code: 'fr', locale: fr, flag: '🇲🇫', }, { - name: 'Slovenian', + name: 'Slovenščina', code: 'sl', locale: sl, flag: '🇸🇮', }, { // Spanish - name: 'Spanish', + name: 'Español', code: 'es', locale: es, flag: '🇪🇸', @@ -86,6 +87,12 @@ export const languages = [ locale: pt, flag: '🇵🇹', }, + { // Russian + name: 'Русский', + code: 'ru', + locale: ru, + flag: '🇷🇺', + }, ]; /**