Add support for russian locale (#392)

This commit is contained in:
Luke Vella 2023-01-12 16:09:46 +00:00 committed by GitHub
parent 86e0320432
commit 8f8bc33a7b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 189 additions and 0 deletions

View file

@ -19,6 +19,7 @@ module.exports = {
"pl",
"pt-BR",
"pt",
"ru",
"sk",
"sv",
"zh",

125
public/locales/ru/app.json Normal file
View file

@ -0,0 +1,125 @@
{
"12h": "12-часовой",
"24h": "24-часовой",
"addParticipant": "Добавить участника",
"addTimeOption": "Добавить временной вариант",
"alreadyVoted": "Вы уже проголосовали",
"applyToAllDates": "Применить ко всем датам",
"areYouSure": "Вы уверены?",
"back": "Назад",
"calendarHelp": "Вы не можете создать опрос без каких-либо параметров. Добавьте хотя бы один вариант, чтобы продолжить.",
"calendarHelpTitle": "Забыли что-нибудь?",
"cancel": "Отменить",
"comment": "Комментарий",
"commentPlaceholder": "Оставить комментарий в этом опросе (виден всем)",
"comments": "Комментарии",
"continue": "Далее",
"copied": "Скопировано",
"copyLink": "Скопировать ссылку",
"createdBy": "от <b>{{name}}</b>",
"createPoll": "Создать опрос",
"creatingDemo": "Создание демо-опроса…",
"delete": "Удалить",
"deleteComment": "Удалить комментарий",
"deleteDate": "Удалить дату",
"deletedPoll": "Удалённый опрос",
"deletedPollInfo": "Этот опрос больше не существует.",
"deletePoll": "Удалить опрос",
"deletePollDescription": "Все данные, связанные с этим опросом, будут удалены. Для подтверждения, пожалуйста, введите <s>“{{confirmText}}”</s> в поле ниже:",
"deletingOptionsWarning": "Вы удаляете варианты, за которые участники уже проголосовали. Их ответы также будут удалены.",
"demoPollNotice": "Демо-опросы автоматически удаляются через 1 день",
"description": "Описание",
"descriptionPlaceholder": "Привет всем! Выберите даты, которые вам подходят!",
"donate": "Пожертвовать",
"edit": "Изменить",
"editDetails": "Изменить детали",
"editOptions": "Изменить варианты",
"email": "Email",
"emailPlaceholder": "jessie.smith@email.com",
"endingGuestSessionNotice": "Как только гостевая сессия завершится, она не сможет быть возобновлена. Вы не сможете исправить ответы или комментарии, сделанные в этой сессии.",
"endSession": "Завершить сессию",
"exportToCsv": "Экспорт в CSV",
"forgetMe": "Забыть меня",
"goToAdmin": "Перейти в админку",
"guest": "Гость",
"guestSessionNotice": "Вы используете гостевую сессию. Это позволяет нам распознать вас, если вы вернетесь позже, чтобы вы могли редактировать свои ответы.",
"guestSessionReadMore": "Подробнее о гостевых сессиях.",
"hide": "Скрыть",
"ifNeedBe": "Если уж необходимо",
"linkHasExpired": "Срок действия вашей ссылки истёк или она более не действительна",
"loading": "Загрузка…",
"loadingParticipants": "Загрузка участников…",
"location": "Местоположение",
"locationPlaceholder": "Кофейный магазин Джо",
"lockPoll": "Заблокировать опрос",
"login": "Войти",
"loginCheckInbox": "Пожалуйста, проверьте вашу электронную почту.",
"loginMagicLinkSent": "Волшебная ссылка отправлена на:",
"loginSendMagicLink": "Отправить мне волшебную ссылку",
"loginViaMagicLink": "Войти по волшебной ссылке",
"loginViaMagicLinkDescription": "Мы вышлем вам письмо с волшебной ссылкой, которую вы можете использовать для входа.",
"loginWithValidEmail": "Пожалуйста, введите корректный email адрес",
"logout": "Выйти",
"manage": "Настроить",
"menu": "Меню",
"mixedOptionsDescription": "Вы не можете оставить как время, так и дату в одном опросе. Что бы вы хотели сохранить?",
"mixedOptionsKeepDates": "Сохранить варианты даты",
"mixedOptionsKeepTimes": "Сохранить варианты времени",
"mixedOptionsTitle": "Минуточку…🤔",
"monday": "Понедельник",
"monthView": "Месяц",
"name": "Имя",
"namePlaceholder": "Пётр Иванов",
"new": "Новый",
"newPoll": "Новый опрос",
"next": "Далее",
"nextMonth": "Следующий месяц",
"no": "Нет",
"noDatesSelected": "Дата не выбрана",
"notificationsDisabled": "Уведомления отключены",
"notificationsOff": "Уведомления выключены",
"notificationsOn": "Уведомлений включены",
"notificationsOnDescription": "Письмо будет отправлено <b>{{email}}</b> при появлении активности в этом опросе.",
"notificationsVerifyEmail": "Вам нужно подтвердить вашу электронную почту, чтобы включить уведомления",
"noVotes": "Никто не проголосовал за этот вариант",
"ok": "OK",
"participant": "Участник",
"participantCount_other": "{{count}} участников",
"participantCount": "{{count}} участник",
"pollHasBeenLocked": "Этот опрос заблокирован",
"pollHasBeenVerified": "Ваш опрос подтверждён",
"pollOwnerNotice": "Привет, {{name}}, похоже, вы являетесь владельцем этого опроса.",
"pollsEmpty": "Опросы отсутствуют",
"possibleAnswers": "Возможные ответы",
"preferences": "Настройки",
"previousMonth": "Предыдущий месяц",
"profileLogin": "Профиль - Войти",
"profileUser": "Профиль - {{username}}",
"requiredNameError": "Необходимо указать имя",
"save": "Сохранить",
"saveInstruction": "Укажите когда вы доступны и нажмите <b>{{save}}</b>",
"share": "Поделиться",
"shareDescription": "Поделитесь этой ссылкой с вашими <b>участниками</b>, чтобы они смогли ответить на ваш опрос.",
"shareLink": "Поделиться с помощью ссылки",
"specifyTimes": "Укажите время",
"specifyTimesDescription": "Включить время начала и окончания для каждого варианта",
"stepSummary": "Шаг {{current}} из {{total}}",
"sunday": "Воскресенье",
"timeFormat": "Формат времени:",
"timeZone": "Часовой пояс:",
"title": "Название",
"titlePlaceholder": "Ежемесячная Встреча",
"today": "Сегодня",
"unlockPoll": "Разблокировать опрос",
"unverifiedMessage": "Письмо было отправлено на <b>{{email}}</b> со ссылкой для подтверждения адреса электронной почты.",
"user": "Пользователь",
"weekStartsOn": "Начало недели",
"weekView": "Неделя",
"whatsThis": "Что это?",
"yes": "Да",
"you": "Вы",
"yourDetails": "Ваши данные",
"yourName": "Ваше имя…",
"yourProfile": "Ваш профиль",
"yourPolls": "Ваши опросы"
}

View file

@ -0,0 +1,15 @@
{
"blog": "Блог",
"discussions": "Обсуждение",
"donate": "Поддержать",
"footerCredit": "Творение <a>@imlukevella</a>",
"footerSponsor": "Этот проект финансируется пользователями. Пожалуйста, поддержите его <a>пожертвованием</a>.",
"home": "Главная",
"language": "Язык",
"links": "Ссылки",
"poweredBy": "Powered by",
"privacyPolicy": "Политика конфиденциальности",
"starOnGithub": "В избранное на Github",
"support": "Поддержка",
"volunteerTranslator": "Помочь с переводом того сайта"
}

View file

@ -0,0 +1,6 @@
{
"notFoundTitle": "404: Не найдено",
"notFoundDescription": "Мы не можем найти страницу, которую вы искали.",
"goToHome": "Вернуться на главную",
"startChat": "Начать чат"
}

View file

@ -0,0 +1,35 @@
{
"3Ls": "Да — с 3 <e>L</e>",
"adFree": "Без рекламы",
"adFreeDescription": "Можете позволить вашему блокировщику рекламы расслабиться — здесь он вам не понадобится.",
"comments": "Комментарии",
"commentsDescription": "Участники могут комментировать ваш опрос, и комментарии будут видны всем.",
"features": "Возможности",
"featuresSubheading": "Умный планировщик",
"getStarted": "Начать",
"heroSubText": "Найти нужную дату без лишних итераций",
"heroText": "Запланировать<br/><s>групповые встречи</s><br />с легкостью",
"links": "Ссылки",
"liveDemo": "Демонстрация",
"metaDescription": "Создавайте опросы и голосуйте за лучший день или время. Бесплатная альтернатива Doodle.",
"metaTitle": "Rallly - Расписание групповых встреч",
"mobileFriendly": "Адаптировано для мобильных устройств",
"mobileFriendlyDescription": "Работает отлично на мобильных устройствах, так что участники могут отвечать на опросы, где бы они ни были.",
"new": "Новый",
"noLoginRequired": "Вход не требуется",
"noLoginRequiredDescription": "Вам не нужно авторизоваться, чтобы создать или принять участие в опросе",
"notifications": "Уведомления",
"notificationsDescription": "Будьте в курсе кто ответил. Получайте уведомление, когда участники голосуют или комментируют ваш опрос.",
"openSource": "Открытый код",
"openSourceDescription": "Код полностью открыт и <a>доступен на GitHub</a>.",
"participant": "Участник",
"participantCount_other": "{{count}} участников",
"participantCount": "{{count}} участник",
"perfect": "Превосходно!",
"principles": "Принципиальные отличия",
"principlesSubheading": "Мы не такие, как все",
"selfHostable": "Собственный хостинг",
"selfHostableDescription": "Запустите его на своём сервере, чтобы полностью контролировать ваши данные",
"timeSlots": "Временные интервалы",
"timeSlotsDescription": "Установите индивидуальное время начала и окончания для каждого варианта в вашем опросе. Время может автоматически подстраиваться под часовой пояс каждого участника или может быть установлено так, чтобы полностью игнорировать часовые пояса."
}

View file

@ -34,6 +34,7 @@ export const LanguageSelect: React.VoidFunctionComponent<{
<option value="pl">Polski</option>
<option value="pt">Português</option>
<option value="pt-BR">Português - Brasil</option>
<option value="ru">Pусский</option>
<option value="sk">Slovenčina</option>
<option value="sv">Svenska</option>
</select>

View file

@ -17,6 +17,7 @@ const supportedLocales = [
"pl",
"pt-BR",
"pt",
"ru",
"sk",
"sv",
"zh",

View file

@ -95,6 +95,11 @@ const dayjsLocales: Record<
timeFormat: "24h",
import: () => import("dayjs/locale/pt-br"),
},
ru: {
weekStartsOn: "monday",
timeFormat: "24h",
import: () => import("dayjs/locale/ru"),
},
ko: {
weekStartsOn: "sunday",
timeFormat: "12h",