forked from nutomic/lemmy
Merge branch 'digitalkiller-master'
This commit is contained in:
commit
67d949722b
4 changed files with 170 additions and 0 deletions
|
@ -4,6 +4,7 @@ import 'moment/locale/de';
|
||||||
import 'moment/locale/zh-cn';
|
import 'moment/locale/zh-cn';
|
||||||
import 'moment/locale/fr';
|
import 'moment/locale/fr';
|
||||||
import 'moment/locale/sv';
|
import 'moment/locale/sv';
|
||||||
|
import 'moment/locale/ru';
|
||||||
import { getMomentLanguage } from '../utils';
|
import { getMomentLanguage } from '../utils';
|
||||||
import { i18n } from '../i18next';
|
import { i18n } from '../i18next';
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import { de } from './translations/de';
|
||||||
import { zh } from './translations/zh';
|
import { zh } from './translations/zh';
|
||||||
import { fr } from './translations/fr';
|
import { fr } from './translations/fr';
|
||||||
import { sv } from './translations/sv';
|
import { sv } from './translations/sv';
|
||||||
|
import { ru } from './translations/ru';
|
||||||
|
|
||||||
// https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
|
// https://github.com/nimbusec-oss/inferno-i18next/blob/master/tests/T.test.js#L66
|
||||||
// TODO don't forget to add moment locales for new languages.
|
// TODO don't forget to add moment locales for new languages.
|
||||||
|
@ -14,6 +15,7 @@ const resources = {
|
||||||
zh,
|
zh,
|
||||||
fr,
|
fr,
|
||||||
sv,
|
sv,
|
||||||
|
ru,
|
||||||
}
|
}
|
||||||
|
|
||||||
function format(value: any, format: any, lng: any) {
|
function format(value: any, format: any, lng: any) {
|
||||||
|
|
165
ui/src/translations/ru.ts
Normal file
165
ui/src/translations/ru.ts
Normal file
|
@ -0,0 +1,165 @@
|
||||||
|
export const ru = {
|
||||||
|
translation: {
|
||||||
|
post: 'запись',
|
||||||
|
remove_post: 'Удалить запись',
|
||||||
|
no_posts: 'Нет записей.',
|
||||||
|
create_a_post: 'Создать запись',
|
||||||
|
create_post: 'Создать запись',
|
||||||
|
number_of_posts:'{{count}} записей',
|
||||||
|
posts: 'Записи',
|
||||||
|
related_posts: 'Эти записи могут быть связаны',
|
||||||
|
comments: 'Комментарии',
|
||||||
|
number_of_comments:'{{count}} комментариев',
|
||||||
|
remove_comment: 'Удалить комментарий',
|
||||||
|
communities: 'Сообщества',
|
||||||
|
users: 'Пользователи',
|
||||||
|
create_a_community: 'Создать сообщество',
|
||||||
|
create_community: 'Создать сообщество',
|
||||||
|
remove_community: 'Удалить сообщество',
|
||||||
|
subscribed_to_communities:'Подписаны на <1>сообщества</1>',
|
||||||
|
trending_communities:'<1>Сообщества</1> в тренде',
|
||||||
|
list_of_communities: 'Список сообществ',
|
||||||
|
community_reqs: 'строчными буквами, подчеркиваниями и без пробелов.',
|
||||||
|
edit: 'редактировать',
|
||||||
|
reply: 'ответить',
|
||||||
|
cancel: 'Отмена',
|
||||||
|
unlock: 'разблокировать',
|
||||||
|
lock: 'заблокировать',
|
||||||
|
link: 'ссылка',
|
||||||
|
mod: 'модератор',
|
||||||
|
mods: 'модераторы',
|
||||||
|
moderates: 'Модерация',
|
||||||
|
settings: 'Настройки',
|
||||||
|
remove_as_mod: 'снять из модераторов',
|
||||||
|
appoint_as_mod: 'назначить модератором',
|
||||||
|
modlog: 'Модлог',
|
||||||
|
admin: 'администратор',
|
||||||
|
admins: 'администраторы',
|
||||||
|
remove_as_admin: 'снять из администраторов',
|
||||||
|
appoint_as_admin: 'назначить администратором',
|
||||||
|
remove: 'убрать',
|
||||||
|
removed: 'убрано',
|
||||||
|
locked: 'заблокировано',
|
||||||
|
reason: 'Причина',
|
||||||
|
mark_as_read: 'пометить как прочитанное',
|
||||||
|
mark_as_unread: 'пометить как непрочитанное',
|
||||||
|
delete: 'удалить',
|
||||||
|
deleted: 'удалено',
|
||||||
|
restore: 'восстановить',
|
||||||
|
ban: 'заблокировать',
|
||||||
|
ban_from_site: 'заблокировать на сайте',
|
||||||
|
unban: 'разблокировать',
|
||||||
|
unban_from_site: 'разблокировать на сайте',
|
||||||
|
save: 'сохранить',
|
||||||
|
unsave: 'не сохранять',
|
||||||
|
create: 'создать',
|
||||||
|
username: 'Имя пользователя',
|
||||||
|
email_or_username: 'Электронная почта или имя пользователя',
|
||||||
|
number_of_users:'{{count}} пользователей',
|
||||||
|
number_of_subscribers:'{{count}} подписчиков',
|
||||||
|
number_of_points:'{{count}} баллов',
|
||||||
|
name: 'Имя',
|
||||||
|
title: 'Название',
|
||||||
|
category: 'Категория',
|
||||||
|
subscribers: 'Подписчики',
|
||||||
|
both: 'Оба',
|
||||||
|
saved: 'Сохранено',
|
||||||
|
unsubscribe: 'Отписаться',
|
||||||
|
subscribe: 'Подписаться',
|
||||||
|
subscribed: 'Подписаны',
|
||||||
|
prev: 'Назад',
|
||||||
|
next: 'Далее',
|
||||||
|
sidebar: 'Боковая панель',
|
||||||
|
sort_type: 'Тип сортировки',
|
||||||
|
hot: 'Популярно',
|
||||||
|
new: 'Новое',
|
||||||
|
top_day: 'Лучшее за день',
|
||||||
|
week: 'Неделя',
|
||||||
|
month: 'Месяц',
|
||||||
|
year: 'Год',
|
||||||
|
all: 'Всё',
|
||||||
|
top: 'Лучшее',
|
||||||
|
api: 'API',
|
||||||
|
inbox: 'Входящие',
|
||||||
|
inbox_for: 'Входящие сообщения для <1>{{user}}</1>',
|
||||||
|
mark_all_as_read: 'пометить все как прочитанные',
|
||||||
|
type: 'Тип',
|
||||||
|
unread: 'Не прочитано',
|
||||||
|
reply_sent: 'Ответ отправлен',
|
||||||
|
search: 'Поиск',
|
||||||
|
overview: 'Обзор',
|
||||||
|
view: 'Просмотр',
|
||||||
|
logout: 'Выйти',
|
||||||
|
login_sign_up: 'Войти / Регистрация',
|
||||||
|
login: 'Авторизация',
|
||||||
|
sign_up: 'Регистрация',
|
||||||
|
notifications_error: 'Уведомления на рабочем столе недоступны в вашем браузере. Попробуйте Firefox или Chrome.',
|
||||||
|
unread_messages: 'Непрочитанные сообщения',
|
||||||
|
password: 'Пароль',
|
||||||
|
verify_password: 'Повторите пароль',
|
||||||
|
email: 'Электронная почта',
|
||||||
|
optional: 'Необязательно',
|
||||||
|
expires: 'Истёк',
|
||||||
|
url: 'URL',
|
||||||
|
body: 'Тело',
|
||||||
|
copy_suggested_title: 'предложенное название: {{title}}',
|
||||||
|
community: 'Сообщество',
|
||||||
|
expand_here: 'Расширить здесь',
|
||||||
|
subscribe_to_communities: 'Подпишитесь на некоторые <1>сообщества</1>.',
|
||||||
|
chat: 'Чат',
|
||||||
|
no_results: 'Нет результатов.',
|
||||||
|
setup: 'Установка',
|
||||||
|
lemmy_instance_setup: 'Установка инстанции Lemmy',
|
||||||
|
setup_admin: 'Настройка администратора сайта',
|
||||||
|
your_site: 'ваш сайт',
|
||||||
|
modified: 'изменено',
|
||||||
|
nsfw: 'NSFW',
|
||||||
|
show_nsfw: 'Показывать NSFW-контент',
|
||||||
|
sponsors: 'Спонсоры',
|
||||||
|
sponsors_of_lemmy: 'Спонсоры Lemmy',
|
||||||
|
sponsor_message: 'Lemmy это бесплатное, <1>открытое</1> программное обеспечение, что означает отсутствие рекламы, монетизации или венчурного капитала, никогда. Ваши пожертвования напрямую поддерживают развитие проекта. Спасибо нижеуказанным людям:',
|
||||||
|
support_on_patreon: 'Поддержать на Patreon',
|
||||||
|
general_sponsors:'Генеральные спонсоры - это те, кто пообещал Lemmy от $10 до $39.',
|
||||||
|
crypto: 'Крипто',
|
||||||
|
bitcoin: 'Bitcoin',
|
||||||
|
ethereum: 'Ethereum',
|
||||||
|
code: 'Код',
|
||||||
|
joined: 'Присоединился',
|
||||||
|
powered_by: 'Работает на',
|
||||||
|
landing_0: 'Lemmy - это <1>агрегатор ссылок</1> / альтернатива reddit, предназначенный для работы в <2>федиверсе</2>.<3></3>Это самодостаточная система, с обновляемыми комментариями, и эта система крошечная (<4>~80 Кб</4>). Федерация в сети ActivityPub находится в разработке. <5></5>Это <6>очень ранняя бета-версия</6>, и многие функции в настоящее время сломаны или отсутствуют. <7></7>Предлагать новые функции или сообщать об ошибках можно <8>здесь.</8><9></9>Сделано на <10>Rust</10>, <11>Actix</11>, <12>Inferno</12>, <13>Typescript</13>.',
|
||||||
|
not_logged_in: 'Не авторизованы.',
|
||||||
|
community_ban: 'Вы были заблокированы на данном сообществе.',
|
||||||
|
site_ban: 'Вы были заблокированы на данном сайте',
|
||||||
|
couldnt_create_comment: 'Не получилось создать комментарий.',
|
||||||
|
couldnt_like_comment: 'Не получилось лайкнуть комментарий.',
|
||||||
|
couldnt_update_comment: 'Не получилось обновить комментарий.',
|
||||||
|
couldnt_save_comment: 'Не получилось сохранить комментарий.',
|
||||||
|
no_comment_edit_allowed: 'Невозможно отредактировать комментарий.',
|
||||||
|
no_post_edit_allowed: 'Невозможно отредактировать запись.',
|
||||||
|
no_community_edit_allowed: 'Невозможно отредактировать сообщество.',
|
||||||
|
couldnt_find_community: 'Не получилось найти сообщество.',
|
||||||
|
couldnt_update_community: 'Не получилось обновить сообщество.',
|
||||||
|
community_already_exists: 'Сообщество уже существует.',
|
||||||
|
community_moderator_already_exists: 'Модератор сообщества уже существует.',
|
||||||
|
community_follower_already_exists: 'Подписчик сообщества уже существует.',
|
||||||
|
community_user_already_banned: 'Пользователь сообщества уже заблокирован.',
|
||||||
|
couldnt_create_post: 'Не получилось создать запись.',
|
||||||
|
couldnt_like_post: 'Не получилось лайкнуть запись.',
|
||||||
|
couldnt_find_post: 'Не получилось найти запись.',
|
||||||
|
couldnt_get_posts: 'Не получилось найти записи',
|
||||||
|
couldnt_update_post: 'Не получилось обновить запись',
|
||||||
|
couldnt_save_post: 'Не получилось сохранить запись.',
|
||||||
|
no_slurs: 'Без оскорблений.',
|
||||||
|
not_an_admin: 'Не администратор.',
|
||||||
|
site_already_exists: 'Сайт уже существует.',
|
||||||
|
couldnt_update_site: 'Не получилось обновить сайт.',
|
||||||
|
couldnt_find_that_username_or_email: 'Не получилось найти данное имя пользователя или электронную почту.',
|
||||||
|
password_incorrect: 'Неверный пароль.',
|
||||||
|
passwords_dont_match: 'Пароли не совпадают.',
|
||||||
|
admin_already_created: 'Извините, уже есть администратор.',
|
||||||
|
user_already_exists: 'Пользователь уже существует.',
|
||||||
|
couldnt_update_user: 'Не получилось обновить пользователя.',
|
||||||
|
system_err_login: 'Системная ошибка. Попробуйте выйти из системы и вернуться обратно.',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
|
@ -184,6 +184,8 @@ export function getMomentLanguage(): string {
|
||||||
lang = 'fr';
|
lang = 'fr';
|
||||||
} else if (lang.startsWith('de')) {
|
} else if (lang.startsWith('de')) {
|
||||||
lang = 'de';
|
lang = 'de';
|
||||||
|
} else if (lang.startsWith('ru')) {
|
||||||
|
lang = 'ru';
|
||||||
} else {
|
} else {
|
||||||
lang = 'en';
|
lang = 'en';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue