Skip to content

Commit

Permalink
feat: add russian locale (#879)
Browse files Browse the repository at this point in the history
  • Loading branch information
iFaustov committed Dec 31, 2022
1 parent 2b2792d commit 65e9fde
Show file tree
Hide file tree
Showing 5 changed files with 263 additions and 2 deletions.
2 changes: 1 addition & 1 deletion api/user_setting.go
Expand Up @@ -36,7 +36,7 @@ func (key UserSettingKey) String() string {
}

var (
UserSettingLocaleValue = []string{"en", "zh", "vi", "fr", "nl", "sv", "de", "es", "uk"}
UserSettingLocaleValue = []string{"en", "zh", "vi", "fr", "nl", "sv", "de", "es", "uk", "ru"}
UserSettingAppearanceValue = []string{"system", "light", "dark"}
UserSettingMemoVisibilityValue = []Visibility{Private, Protected, Public}
UserSettingMemoDisplayTsOptionKeyValue = []string{"created_ts", "updated_ts"}
Expand Down
1 change: 1 addition & 0 deletions web/src/components/LocaleSelect.tsx
Expand Up @@ -31,6 +31,7 @@ const LocaleSelect: FC<Props> = (props: Props) => {
<Option value="de">German</Option>
<Option value="es">Español</Option>
<Option value="uk">Українська</Option>
<Option value="ru">Русский</Option>
</Select>
);
};
Expand Down
4 changes: 4 additions & 0 deletions web/src/i18n.ts
Expand Up @@ -9,6 +9,7 @@ import svLocale from "./locales/sv.json";
import deLocale from "./locales/de.json";
import esLocale from "./locales/es.json";
import ukLocale from "./locales/uk.json";
import ruLocale from "./locales/ru.json";

i18n.use(initReactI18next).init({
resources: {
Expand Down Expand Up @@ -39,6 +40,9 @@ i18n.use(initReactI18next).init({
uk: {
translation: ukLocale,
},
ru: {
translation: ruLocale,
},
},
lng: "nl",
fallbackLng: "en",
Expand Down
256 changes: 256 additions & 0 deletions web/src/locales/ru.json
@@ -0,0 +1,256 @@
{
"common": {
"about": "Про Memos",
"email": "Эл. почта",
"password": "Пароль",
"repeat-password-short": "Повторить",
"repeat-password": "Повторить пароль",
"new-password": "Новый пароль",
"repeat-new-password": "Повторить новый пароль",
"username": "Имя пользователя",
"nickname": "Псевдоним",
"save": "Сохранить",
"close": "Закрыть",
"cancel": "Отменить",
"create": "Создать",
"change": "Заменить",
"confirm": "Подтвердить",
"reset": "Стереть",
"language": "Язык",
"version": "Версия",
"pin": "Закрепить",
"unpin": "Открепить",
"edit": "Редактировать",
"restore": "Восстановить",
"delete": "Удалить",
"null": "Пусто",
"share": "Поделиться",
"archive": "Архивировать",
"basic": "Базовые",
"admin": "Администратор",
"explore": "Больше",
"sign-in": "Войти",
"sign-up": "Зарегистрироваться",
"sign-out": "Выйти",
"back-to-home": "Вернуться на главную",
"type": "Тип",
"shortcuts": "Ярлыки",
"title": "Заголовок",
"filter": "Фильтр",
"tags": "Теги",
"yourself": "Вы",
"archived-at": "Архив",
"changed": "изменено",
"update-on": "Обновлено",
"fold": "Свернуть",
"expand": "Развернуть",
"image": "Изображение",
"link": "Ссылка",
"vacuum": "Сжать",
"select": "Выбрать"
},
"slogan": "Self-hosted платформа с открытым исходным кодом для заметок и управления записями с поддержкой социальных функций.",
"auth": {
"signup-as-host": "Зарегистрироваться как владелец",
"host-tip": "Вы регистрируете владельца сайта.",
"not-host-tip": "Если у вас нет аккаунта, обратитесь к владельцу сайта."
},
"sidebar": {
"daily-review": "По дням",
"resources": "Ресурсы",
"setting": "Настройки",
"archived": "Заархивировано"
},
"daily-review": {
"oops-nothing": "Ой, здесь ничего нет."
},
"resources": {
"description": "Посмотреть ваши статические ресурсы в Memos (изображения и пр.)",
"no-resources": "Нет ресурсов.",
"fetching-data": "загрузка данных...",
"upload": "Загрузить",
"preview": "Предпросмотр",
"copy-link": "Скопировать ссылку",
"delete-resource": "Удалить ресурс",
"warning-text": "Вы уверены, что хотите удалить этот ресурс? ЭТО ДЕЙСТВИЕ НЕВОЗМОЖНО ОТМЕНИТЬ❗",
"linked-amount": "Количество записей",
"rename": "Переименовать",
"clear-unused-resources": "Удалить неиспользуемые ресурсы",
"warning-text-unused": "Вы уверены, что хотите удалить неиспользуемые ресурсы? ЭТО ДЕЙСТВИЕ НЕВОЗМОЖНО ОТМЕНИТЬ❗",
"no-unused-resources": "Нет неиспользуемых ресурсов",
"name": "Название"
},
"archived": {
"archived-memos": "Заархивированные записи",
"no-archived-memos": "Нет заархивированных записей.",
"fetching-data": "загрузка данных..."
},
"editor": {
"editing": "Редактирование...",
"cancel-edit": "Отменить",
"save": "Сохранить",
"placeholder": "Ваши мысли...",
"only-image-supported": "Поддерживаются только изображения.",
"cant-empty": "Содержимое не может быть пустым",
"local": "На устройстве",
"resources": "Ресурсы"
},
"memo": {
"view-detail": "Подробно",
"copy": "Копировать",
"visibility": {
"private": "Видно только вам",
"protected": "Видно только пользователям",
"public": "Видно всем"
}
},
"memo-list": {
"fetching-data": "загрузка данных...",
"fetch-more": "Загрузить больше"
},
"shortcut-list": {
"shortcut-title": "название ярлыка",
"create-shortcut": "Создать ярлык",
"edit-shortcut": "Редактировать ярлык",
"eligible-memo": "связанные записи",
"fill-previous": "Пожалуйста, заполните значение фильтра",
"title-required": "Название обязательно",
"value-required": "Значение фильтра обязательно"
},
"filter": {
"new-filter": "Новый фильтр",
"type": {
"tag": "Тег",
"type": "Тип",
"text": "Текст",
"display-time": "Время отображения",
"visibility": "Видимость"
},
"operator": {
"contains": "Содержит",
"not-contains": "Не содержит",
"is": "Только",
"is-not": "Кроме",
"before": "До",
"after": "После"
},
"value": {
"not-tagged": "Без тегов",
"linked": "Содержит ссылки"
},
"text-placeholder": "Начните с ^ чтобы использовать регулярные выражения"
},
"tag-list": {
"tip-text": "Введите `#tag` для создания"
},
"search": {
"quickly-filter": "Быстрый фильтр"
},
"setting": {
"my-account": "Мой аккаунт",
"preference": "Настройки",
"member": "Пользователи",
"member-list": "Список пользователей",
"system": "Системные",
"account-section": {
"title": "Информация об аккаунте",
"update-information": "Обновить информацию",
"change-password": "Изменить пароль"
},
"preference-section": {
"theme": "Тема",
"default-memo-visibility": "Видимость записей по умолчанию",
"enable-folding-memo": "Включить сворачивание записей",
"enable-powerful-editor": "Включить расширенный редактор",
"editor-font-style": "Стиль шрифта",
"mobile-editor-style": "Стиль мобильного редактора",
"default-memo-sort-option": "Отображаемое время записи",
"created_ts": "Время создания",
"updated_ts": "Время обновления"
},
"member-section": {
"create-a-member": "Создать пользователя"
},
"system-section": {
"server-name": "Имя сервера",
"customize-server": {
"title": "Настроить сервер",
"default": "По умолчанию: memos",
"icon-url": "URL иконки"
},
"database-file-size": "Размер файла базы данных",
"allow-user-signup": "Разрешить регистрацию пользователей",
"additional-style": "Настраиваемый стиль",
"additional-script": "Настраиваемый скрипт",
"additional-style-placeholder": "Настраиваемый код CSS",
"additional-script-placeholder": "Настраиваемый код JavaScript"
},
"apperance-option": {
"system": "Системная",
"light": "Светлая",
"dark": "Тёмная"
}
},
"amount-text": {
"memo_one": "ЗАПИСЬ",
"memo_other": "ЗАПИСИ",
"tag_one": "ТЕГ",
"tag_other": "ТЕГИ",
"day_one": "ДЕНЬ",
"day_other": "ДНИ"
},
"message": {
"no-memos": "нет записей 🌃",
"memos-ready": "больше записей нет 🎉",
"restored-successfully": "Успешно восстановлено.",
"memo-updated-datetime": "Время создания изменено.",
"invalid-created-datetime": "Неверное время создания.",
"change-memo-created-time": "Изменить время создания записи",
"memo-not-found": "Запись не найдена.",
"fill-all": "Пожалуйста, заполните все поля.",
"password-not-match": "Пароли не совпадают.",
"new-password-not-match": "Новый пароль не совпадает.",
"image-load-failed": "Ошибка загрузки изображения",
"fill-form": "Пожалуйста, заполните форму",
"login-failed": "Ошибка входа",
"signup-failed": "Помилка реєстрації",
"user-not-found": "Пользователь не найден",
"password-changed": "Пароль изменён",
"private-only": "Это частная заметка.",
"copied": "Скопировано",
"succeed-copy-content": "Скопировано в буфер обмена.",
"succeed-copy-link": "Ссылка скопирована в буфер обмена.",
"change-resource-filename": "Изменить имя файла",
"resource-filename-updated": "Имя файла изменено.",
"invalid-resource-filename": "Неверное имя файла.",
"click-to-save-the-image": "Нажмите для сохранения изображения",
"generating-the-screenshot": "Создание снимка...",
"count-selected-resources": "Всего выбрано",
"too-short": "Слишком короткое",
"too-long": "Слишком длинное",
"not-allow-space": "Пробел не разрешён",
"not-allow-chinese": "Китайские символы не разрешены",
"succeed-vacuum-database": "База данных успешно сжата",
"succeed-update-additional-style": "Настраиваемый стиль успешно обновлен",
"succeed-copy-resource-link": "Ссылка на файл скопирована в буфер обмена",
"succeed-update-customized-profile": "Собственный профиль успешно обновлён",
"succeed-update-additional-script": "Настраиваемый скрипт успешно обновлён",
"update-succeed": "Успешно обновлено"
},
"days": {
"monday": "Понедельник",
"mon": "Пон.",
"tuesday": "Вторник",
"tue": "Вт.",
"wednesday": "Среда",
"wed": "Ср.",
"thursday": "Четверг",
"thu": "Чт.",
"friday": "Пятница",
"fri": "Пт.",
"saturday": "Суббота",
"sat": "Сб.",
"sunday": "Воскресенье",
"sun": "Вс."
}
}
2 changes: 1 addition & 1 deletion web/src/types/i18n.d.ts
@@ -1 +1 @@
type Locale = "en" | "zh" | "vi" | "fr" | "nl" | "sv" | "de" | "es" | "uk";
type Locale = "en" | "zh" | "vi" | "fr" | "nl" | "sv" | "de" | "es" | "uk" | "ru";

0 comments on commit 65e9fde

Please sign in to comment.