From 2411752c9bd1e0f1598367f2d4789b15efabc365 Mon Sep 17 00:00:00 2001 From: Alexander Sigachov Date: Sat, 18 Oct 2025 17:02:15 +0300 Subject: [PATCH 1/2] Create ru.json Russian translation --- frontend/src/i18n/ru.json | 191 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 frontend/src/i18n/ru.json diff --git a/frontend/src/i18n/ru.json b/frontend/src/i18n/ru.json new file mode 100644 index 0000000..62d6e60 --- /dev/null +++ b/frontend/src/i18n/ru.json @@ -0,0 +1,191 @@ +{ + "@metadata": { + "authors": [ + "ajvol" + ] + }, + "montage-title": "Montage", + "montage-about": "Описание", + "montage-credit": "от команды Montage", + "montage-source-code": "Исходный код", + "montage-login-heading": "Пожалуйста, войдите", + "montage-login-description": "Вы будете перенапралены на Мета-вики для подтверждения. Montage не будет публиковать ничего в проектах Викимедиа от имени вашей учётной записи.", + "montage-login-account-instructions": "Если у вас нет учётной записи Викимедиа, вы можете создать её на {0}.", + "montage-login-metawiki": "Мета-вики", + "montage-login-button": "Войти с учётной записью Викимедиа", + "montage-login-logout": "Выйти", + "montage-active-campaigns": "Текущие кампании", + "montage-all-campaigns": "Все кампании", + "montage-new-campaign": "Создать новую кампанию", + "montage-manage-current": "Работайте с приведёнными ниже текущими кампаниями", + "montage-manage-all": "Просмотрите все приведённые ниже текущие и архивные камппании", + "montage-or": "или", + "montage-view-all": "переключитесь на отображение всех кампаний и раундов.", + "montage-view-active": "переключитесь на отображение только текущих кампаний и раундов.", + "montage-coordinator-campaigns": "Кампании, где вы координатор", + "montage-juror-campaigns": "Кампании, где вы член жюри", + "montage-active-voting-round": "Текущие раунды голосования", + "montage-latest-round": "Последний раунд", + "montage-coordinators": "Координаторы", + "montage-voting-deadline": "Последний день голосования", + "montage-directions": "Указания", + "montage-your-progress": "Ваше продвижение", + "montage-vote": "Оценивать", + "montage-edit-previous-vote": "Внести правки в ранее поданые оценки", + "montage-progress-status": "{0} из {1}", + "montage-new-campaig-heading": "Новая кампания", + "montage-placeholder-campaign-name": "Название кампании", + "montage-description-campaign-name": "Введите название кампании", + "montage-required-campaign-name": "Название кампании обязательно", + "montage-placeholder-campaign-url": "URL-адрес кампании", + "montage-description-campaign-url": "Введите URL-адрес страницы кампании, например, на укажите страницу на Викискладе или страницу вашего конкурса в другой вики.", + "montage-required-campaign-url": "URL кампании обязателен", + "montage-invalid-campaign-url": "Недействительный URL", + "montage-label-date-range": "Диапазон дат (UTC)", + "montage-description-date-range": "После того, как изображения будут импортированы в первый тур, изменение даты и времени не повлияет на то, какие изображения смогут быть просмотрены вашим жюри. Однако изменение этих значений перед импортом в первый тур гарантирует, что вашему жюри будут видны только фотографии, загруженные до даты и времени окончания.", + "montage-label-open-date": "Дата открытия", + "montage-required-open-date": "Дата открытия обязательна", + "montage-label-open-time": "Время открытия", + "montage-required-open-time": "Время открытия обязательно", + "montage-label-close-date": "Дата закрытия", + "montage-required-close-date": "Дата закрытия обязательна", + "montage-label-close-time": "Время закрытия", + "montage-required-close-time": "Время закрытия обязательно", + "montage-label-campaign-coordinators": "Координаторы кампании", + "montage-description-campaign-coordinators": "Координаторы — это люди, которые имеют доступ к редактированию кампании и раундов, к статистике раундов.", + "montage-required-campaign-coordinators": "Требуется хотя бы один координатор", + "montage-campaign-added-success": "Кампания успешно создана", + "montage-something-went-wrong": "Что-то пошло не так", + "montage-btn-create-campaign": "Создать кампанию", + "montage-btn-save": "Сохранить", + "montage-btn-cancel": "Отменить", + "montage-close-campaign": "Закрыть кампанию", + "montage-archive": "Архивировать", + "montage-unarchive": "Достать из архива", + "montage-edit-campaign": "Править кампанию", + "montage-round-add": "Добавить раунд", + "montage-round-open-date": "Дата открытия (UTC)", + "montage-round-open-time": "Время открытия (UTC)", + "montage-round-close-date": "Дата закрытия (UTC)", + "montage-round-close-time": "Время закрытия (UTC)", + "montage-round-name": "Название раунда", + "montage-round-deadline": "Последний день голосования", + "montage-label-round-stats": "Показать личную статистику (бета)", + "montage-description-round-stats": "Показывать ли личную статистику голосования члена жюри (например, количество принятых или отклонённых изображений в раунде).", + "montage-label-round-quorum": "Кворум", + "montage-description-round-quorum": "Количество членов жюри, которые должны проголосовать за каждое изображение", + "montage-label-round-jurors": "Жюри", + "montage-description-round-jurors": "Укажите имя участника (username в проектах Википедия), которого вы хотите включить в состав жюри для этого раунда.", + "montage-round-stats": "Показать личную статистику (бета)", + "montage-round-stats-description": "Показывать ли личную статистику голосования члена жюри (например, количество принятых или отклонённых изображений в раунде).", + "montage-round-file-setting": "Настройки файлов раунда", + "montage-round-delete": "Удалить раунд", + "montage-round-edit": "Править раунд", + "montage-round-save": "Сохранить раунд", + "montage-round-delete-confirm": "Вы действительно хотите удалить этот раунд?", + "montage-round-allowed-filetypes": "Разрешённые типы файлов", + "montage-round-dq-by-filetype": "Не допускать по типу файла", + "montage-round-dq-by-resolution": "Не допускать по разрешению", + "montage-round-dq-by-upload-date": "Не допускать по дате загрузки", + "montage-round-dq-by-uploader": "Не допускать жюри", + "montage-round-dq-coords": "Не допускать координаторов", + "montage-round-dq-maintainers": "Не допускать разработчиков", + "montage-round-dq-organizers": "Не допускать организаторов", + "montage-round-final-threshold": "Финальный порог", + "montage-round-min-resolution": "Мин. разрешение", + "montage-round-show-filename": "Показывать имя файла", + "montage-round-show-link": "Показывать ссылку", + "montage-round-show-resolution": "Показывать разрешение", + "montage-round-show-stats": "Показывать статистику", + "montage-round-vote-ending": "через {0} дн.", + "montage-round-no-direction-given": "Указания не предоставлены", + "montage-round-ranking": "Упорядочивание", + "montage-round-rating": "Оценка", + "montage-round-yesno": "Да/Нет", + "montage-round-file-info": "Информация файла раунда", + "montage-round-file-type": "Тип файла", + "montage-round-voting-details": "Подробности голосования", + "montage-round-activate": "Включить", + "montage-round-activated": "Раунд успешно включен.", + "montage-round-pause": "Приостановить", + "montage-round-paused": "Раунд успешно приостановлен.", + "montage-round-added": "Раунд успешно добавлен.", + "montage-round-finalize": "Завершить", + "montage-round-finalized": "Раунд успешно завершён.", + "montage-round-download-results": "Скачать результаты", + "montage-round-download-entries": "Скачать записи", + "montage-round-source": "Источник", + "montage-round-source-category": "Категория на Викискладе", + "montage-round-source-csv": "URL-адрес списка файлов", + "montage-round-source-filelist": "Список файлов", + "montage-round-source-category-help": "Категория на Викискладе, в которой собраны все конкурсные изображения. Пример: Images from Wiki Loves Monuments 2017 in Ghana.", + "montage-round-source-csv-help": "Список файлов, сохранённых в формате CSV и загруженных в Google Sheet или Gist.", + "montage-round-source-selected-help": "Список файлов, по одному в строке, без префикса File", + "montage-round-category-placeholder": "Введите категорию", + "montage-round-category-label": "Введите категорию", + "montage-round-no-category": "Категорий не найдено.", + "montage-round-file-url": "Введите URL-адрес файла", + "montage-round-file-list": "Список (один файл в строке)", + "montage-round-threshold": "Порог", + "montage-round-vote-method": "Метод голосования", + "montage-round-threshold-description": "Минимальная средняя оценка для фото", + "montage-round-threshold-default": "Выберите порог", + "montage-round-jurors-description": "Укажите имя участника (username в проектах Википедия), которого вы хотите включить в состав жюри для этого раунда.", + "montage-round-quorum-description": "Количество членов жюри, которые должны проголосовать за каждое изображение", + "montage-no-results": "Результатов не найдено", + "montage-vote-round-inactive": "Раунд не запущен", + "montage-vote-contact-organizer": "Этот раунд не запущен. Пожалуйста, свяжитесь с организатором.", + "montage-vote-show-full-size": "Показать в полном размере", + "montage-vote-commons-page": "Страница Викисклада", + "montage-vote-accept": "Принять", + "montage-vote-decline": "Отклонить", + "montage-vote-keyboard-instructions": "Вы также можете использовать клавиатуру для голосования.", + "montage-vote-actions": "Действия", + "montage-vote-add-favorites": "Добавить в избранное", + "montage-vote-added-favorites": "Изображение добавлено в избранное", + "montage-vote-remove-favorites": "Убрать из избранного", + "montage-vote-removed-favorites": "Изображение убрано из избранного", + "montage-vote-skip": "Пропустить (голосовать позже)", + "montage-vote-description": "Описание", + "montage-vote-version": "Версия", + "montage-vote-last-version": "Последняя версия на {0}", + "montage-vote-all-done": "Готово!", + "montage-vote-no-images": "Вы проголосовали за все изображения в этом раунде. Вы всё ещё можете править свои предыдущие голоса, нажав кнопку ниже.", + "montage-vote-no-images-warning": "ПРЕДУПРЕЖДЕНИЕ: возможно, ваш браузер всё ещё загружает следующие задания. Пожалуйста, проверьте главную страницу Montage, чтобы убедиться, что «ваше продвижение» действительно составляет 100%.", + "montage-vote-hide-panel": "Скрыть панель", + "montage-vote-show-panel": "Показать панель", + "montage-vote-image": "Изображение", + "montage-vote-image-remains": "Осталось {0} изображение/ий", + "montage-vote-rating-instructions": "От одной до пяти звёзд", + "montage-vote-round-part-of-campaign": "Часть {0}", + "montage-vote-grid-size-large": "Большие", + "montage-vote-grid-size-medium": "Средние", + "montage-vote-grid-size-small": "Малые", + "montage-vote-image-review": "Обзор изображения {0}", + "montage-vote-ordinal-place": "{0} место", + "montage-vote-order-by": "Упорядочить по:", + "montage-vote-gallery-size": "Размер изображений", + "montage-voted-time": "проголосовали {0}", + "montage-no-votes-yet": "Ещё нет голосов!", + "montage-no-votes-this-round": "Вы не проголосовали ни за одно изображение в этом раунде.", + "montage-option-yes": "Да", + "montage-option-no": "Нет", + "montage-vote-edit-for": "Править голоса в {0}", + "montage-add-organizer": "Добавить организатора кампании", + "montage-btn-add": "Добавить", + "montage-added-organizer": "Организатор успешно добавлен", + "montage-at-least-one-user": "Добавьте хотя бы одного участника", + "montage-only-one-user": "Пожалуйста, добавьте только одного участника", + "montage-round-quorum-per-photo": "{0} члена жюри на одно фото", + "montage-round-open-task-percentage": "Доля открытых заданий", + "montage-round-cancelled-tasks": "Отменённые задания", + "montage-round-disqualified-files": "Недопущенные файлы", + "montage-round-open-tasks": "Открытые задания", + "montage-round-files": "Файлы", + "montage-round-tasks": "Задания", + "montage-round-uploaders": "Загрузчики", + "permission-denied-title": "Доступ запрещён", + "permission-denied-message": "У вас недостаточно прав для доступа к этой странице.", + "permission-denied-home": "Перейти на главную страницу", + "montage-required-voting-deadline": "Укажите правильный последний день голосования" +} From 84a890172694dfb131be2c86f566ca674c144c61 Mon Sep 17 00:00:00 2001 From: Alexander Sigachov Date: Sat, 18 Oct 2025 17:10:07 +0300 Subject: [PATCH 2/2] Update ru.json margins --- frontend/src/i18n/ru.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/i18n/ru.json b/frontend/src/i18n/ru.json index 62d6e60..7b5fd0a 100644 --- a/frontend/src/i18n/ru.json +++ b/frontend/src/i18n/ru.json @@ -1,9 +1,9 @@ { - "@metadata": { - "authors": [ - "ajvol" - ] - }, + "@metadata": { + "authors": [ + "ajvol" + ] + }, "montage-title": "Montage", "montage-about": "Описание", "montage-credit": "от команды Montage",