Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ru_RU locale #5120

Merged
merged 6 commits into from
May 3, 2024
Merged

Conversation

bodryi
Copy link
Contributor

@bodryi bodryi commented Apr 26, 2024

Hello! This PR updates Russian translations. Now RU locale is 100% up to date with en_US.

  1. Added missing ru_RU locale entries.
  2. Removed entries that are absent from en_US file.
  3. Reordered some existing keys in ru_RU to match alphabetic order in en_US.

Copy link
Contributor

github-actions bot commented Apr 26, 2024

Diff output files
diff --git a/packages/@uppy/locales/lib/ru_RU.js b/packages/@uppy/locales/lib/ru_RU.js
index 91defda..c98789d 100644
--- a/packages/@uppy/locales/lib/ru_RU.js
+++ b/packages/@uppy/locales/lib/ru_RU.js
@@ -11,22 +11,48 @@ const ru_RU = {
   },
 };
 ru_RU.strings = {
-  addMoreFiles: "Добавить еще файлы",
+  addBulkFilesFailed: {
+    "0": "Не удалось добавить %{smart_count} файл из-за внутренней ошибки",
+    "1": "Не удалось добавить %{smart_count} файла из-за внутренней ошибки",
+    "2": "Не удалось добавить %{smart_count} файлов из-за внутренней ошибки",
+  },
+  addedNumFiles: {
+    "0": "Добавлен %{numFiles} файл",
+    "1": "Добавлено %{numFiles} файла",
+    "2": "Добавлено %{numFiles} файлов",
+  },
   addingMoreFiles: "Добавление дополнительных файлов",
-  allowAccessDescription: "Чтобы сделать фото или видео, пожалуйста, разрешите доступ к камере для этого сайта",
+  additionalRestrictionsFailed: {
+    "0": "%{count} дополнительное ограничение не было удовлетворено",
+    "1": "%{count} дополнительных ограничения не были удовлетворены",
+    "2": "%{count} дополнительных ограничений не были удовлетворены",
+  },
+  addMore: "Добавить еще",
+  addMoreFiles: "Добавить еще файлы",
+  allFilesFromFolderNamed: "Все файлы из папки %{name}",
+  allowAccessDescription:
+    "Чтобы сделать фото или записать видео, пожалуйста, разрешите доступ к камере для этого сайта",
   allowAccessTitle: "Пожалуйста, разрешите доступ к вашей камере",
-  authenticateWithTitle: "Пожалуйста, авторизуйтесь в %{pluginName}, чтобы выбрать файлы",
+  allowAudioAccessDescription: "Чтобы записать аудио, пожалуйста, разрешите доступ к микрофону для этого сайта",
+  allowAudioAccessTitle: "Пожалуйста, разрешите доступ к вашему микрофону",
+  aspectRatioLandscape: "Обрезать альбомный формат (16:9)",
+  aspectRatioPortrait: "Обрезать портрет (9:16)",
+  aspectRatioSquare: "Обрезать квадрат",
+  authAborted: "Аутентификация прервана",
   authenticateWith: "Подключиться к %{pluginName}",
+  authenticateWithTitle: "Пожалуйста, авторизуйтесь в %{pluginName}, чтобы выбрать файлы",
   back: "Назад",
-  addMore: "Добавить еще",
   browse: "выберите",
-  browseFiles: "выберите",
+  browseFiles: "выберите файлы",
   cancel: "Отменить",
   cancelUpload: "Отменить загрузку",
   chooseFiles: "Выбрать файлы",
   closeModal: "Закрыть окно",
   companionError: "Не удалось подключиться к Companion",
+  companionUnauthorizeHint: "Чтобы выйти из вашего аккаунта %{provider}, пожалуйста, перейдите по ссылке %{url}",
   complete: "Готово",
+  compressedX: "Сохранено %{size} благодаря сжатию изображений",
+  compressingImages: "Сжатие изображений...",
   connectedToInternet: "Подключено к интернету",
   copyLink: "Скопировать ссылку",
   copyLinkToClipboardFallback: "Скопируйте ссылку",
@@ -36,6 +62,7 @@ ru_RU.strings = {
   dashboardTitle: "Загрузчик файлов",
   dashboardWindowTitle: "Окно загрузчика файлов (нажмите escape, чтобы закрыть)",
   dataUploadedOfTotal: "%{complete} из %{total}",
+  discardRecordedFile: "Удалить записанный файл",
   done: "Готово",
   dropHereOr: "Перетащите файлы или %{browse}",
   dropHint: "Перетащите файлы сюда",
@@ -47,15 +74,17 @@ ru_RU.strings = {
   dropPasteImportFolders: "Перетащите файлы, вставьте, %{browse} или импортируйте из:",
   editFile: "Редактировать файл",
   editImage: "Редактировать изображение",
+  editFileWithFilename: "Редактировать файл %{file}",
   editing: "Редактируется %{file}",
   emptyFolderAdded: "Файлы не были добавлены — папка пуста",
   encoding: "Обработка...",
   enterCorrectUrl: "Неправильный адрес: пожалуйста, убедитесь что вы используете прямую ссылку на файл",
+  enterTextToSearch: "Введите текст для поиска изображений",
   enterUrlToImport: "Введите адрес, чтобы импортировать файл",
+  error: "Ошибка",
   exceedsSize: "Этот файл больше максимально разрешенного размера в %{size}",
   failedToFetch: "Companion не смог загрузить файл по ссылке, пожалуйста, убедитесь, что адрес верный",
   failedToUpload: "Ошибка загрузки %{file}",
-  fileSource: "Источник файла: %{name}",
   filesUploadedOfTotal: {
     "0": "%{complete} из %{smart_count} файла загружено",
     "1": "%{complete} из %{smart_count} файлов загружено",
@@ -63,49 +92,107 @@ ru_RU.strings = {
   },
   filter: "Фильтр",
   finishEditingFile: "Закончить редактирование файла",
+  flipHorizontal: "Повернуть горизонтально",
   folderAdded: {
     "0": "Добавлен %{smart_count} файл из %{folder}",
     "1": "Добавлено %{smart_count} файла из %{folder}",
     "2": "Добавлено %{smart_count} файлов из %{folder}",
   },
+  folderAlreadyAdded: "Папка \"%{folder}\" уже была добавлена",
+  generatingThumbnails: "Создание превью изображений...",
   import: "Импортировать",
+  importFiles: "Импортировать файлы из:",
   importFrom: "Импортировать из %{name}",
+  inferiorSize: "Этот файл меньше минимального размера %{size}",
+  loadedXFiles: {
+    "0": "Загружен %{numFiles} файл",
+    "1": "Загружено %{numFiles} файла",
+    "2": "Загружено %{numFiles} файлов",
+  },
   loading: "Загрузка...",
   logOut: "Выйти",
+  micDisabled: "Пользователь ограничил доступ к микрофону",
+  missingRequiredMetaField: "Отсутствуют обязательные meta поля",
+  missingRequiredMetaFieldOnFile: "В файле %{fileName} отсутствуют обязательные meta поля",
+  missingRequiredMetaFields: {
+    "0": "Отсутствует обязательное meta поле: %{fields}.",
+    "1": "Отсутствуют обязательные meta поля: %{fields}.",
+    "2": "Отсутствуют обязательные meta поля: %{fields}.",
+  },
   myDevice: "Мое устройство",
+  noAudioDescription: "Пожалуйста, подключите микрофон или другое аудиоустройство, чтобы записывать аудио",
+  noAudioTitle: "Микрофон недоступен",
+  noCameraDescription: "Пожалуйста, подключите камеру, чтобы сделать фото или записать видео",
+  noCameraTitle: "Камера недоступна",
+  noDuplicates: "Нельзя добавить '%{fileName}', файл уже добавлен",
   noFilesFound: "Здесь нет файлов или папок",
   noInternetConnection: "Нет подключения к интернету",
+  noMoreFilesAllowed: "Нельзя добавить больше файлов",
+  noSearchResults: "К сожалению, нет результатов для поискового запроса",
+  openFolderNamed: "Открыть папку %{name}",
   pause: "Поставить на паузу",
-  pauseUpload: "Поставить загрузку на паузу",
   paused: "На паузе",
+  pauseUpload: "Поставить загрузку на паузу",
+  poweredBy: "Работает на %{uppy}",
   processingXFiles: {
     "0": "Обрабатывается %{smart_count} файл",
     "1": "Обрабатываются %{smart_count} файла",
     "2": "Обрабатываются %{smart_count} файлов",
   },
-  poweredBy: "Работает на %{uppy}",
+  recording: "Идет запись",
+  recordingLength: "Длительность записи %{recording_length}",
+  recordingStoppedMaxSize: "Запись остановлена из-за того, что файл достиг максимального размера",
+  recordVideoBtn: "Записать видео",
+  recoveredAllFiles: "Все файлы восстановлены. Вы можете продолжить загрузку.",
+  recoveredXFiles: {
+    "0": "Не удалось восстановить %{smart_count} файл. Пожалуйста, выберите его заново и продолжите загрузку.",
+    "1": "Не удалось восстановить %{smart_count} файла. Пожалуйста, выберите их заново и продолжите загрузку.",
+    "2": "Не удалось восстановить %{smart_count} файлов. Пожалуйста, выберите их заново и продолжите загрузку.",
+  },
   removeFile: "Удалить файл",
+  reSelect: "Выбрать заново",
   resetFilter: "Сбросить фильтр",
+  resetSearch: "Сбросить поиск",
   resume: "Продолжить",
   resumeUpload: "Продолжить загрузку",
   retry: "Повторить попытку",
   retryUpload: "Повторить попытку загрузки",
+  revert: "Отменить изменения",
+  rotate: "Повернуть",
   save: "Сохранить",
-  saveChanges: "Сохранить",
+  saveChanges: "Сохранить изменения",
+  search: "Поиск",
+  searchImages: "Поиск изображений",
   selectX: {
     "0": "Выбрать %{smart_count}",
     "1": "Выбрать %{smart_count}",
     "2": "Выбрать %{smart_count}",
   },
+  sessionRestored: "Сессия восстановлена",
+  showErrorDetails: "Показать детали ошибки",
+  signInWithGoogle: "Войти с Google",
   smile: "Улыбнитесь!",
+  startAudioRecording: "Начать запись аудио",
+  startCapturing: "Начать запись экрана",
   startRecording: "Начать запись видео",
+  stopAudioRecording: "Остановить запись аудио",
+  stopCapturing: "Остановить запись экрана",
   stopRecording: "Закончить запись видео",
+  streamActive: "Активный поток",
+  streamPassive: "Пассивный поток",
+  submitRecordedFile: "Отправить записанный файл",
   takePicture: "Сделать фотографию",
+  takePictureBtn: "Сделать фотографию",
   timedOut: "Загрузка остановилась на %{seconds} секунд, отмена",
   upload: "Загрузить",
   uploadComplete: "Загрузка завершена",
   uploadFailed: "Загрузка не удалась",
   uploadPaused: "Загрузка на паузе",
+  uploadStalled: {
+    "0": "Прошла %{seconds} секунда без прогресса в загрузке. Возможно, вы хотите перезапустить ее.",
+    "1": "Прошло %{seconds} секунды без прогресса в загрузке. Возможно, вы хотите перезапустить ее.",
+    "2": "Прошло %{seconds} секунд без прогресса в загрузке. Возможно, вы хотите перезапустить ее.",
+  },
   uploadXFiles: {
     "0": "Загрузить %{smart_count} файл",
     "1": "Загрузить %{smart_count} файла",
@@ -144,9 +231,8 @@ ru_RU.strings = {
     "1": "Вы должны выбрать хотя бы %{smart_count} файла",
     "2": "Вы должны выбрать хотя бы %{smart_count} файлов",
   },
-  selectFileNamed: "Выбрать файл %{name}",
-  unselectFileNamed: "Отменить выбор файла %{name}",
-  openFolderNamed: "Открыть папку %{name}",
+  zoomIn: "Приблизить",
+  zoomOut: "Отдалить",
 };
 if (typeof Uppy !== "undefined") {
   globalThis.Uppy.locales.ru_RU = ru_RU;

@bodryi
Copy link
Contributor Author

bodryi commented Apr 26, 2024

Updated commit author name.

@kvz kvz requested a review from lakesare April 29, 2024 05:42
folderAdded: {
'0': 'Добавлен %{smart_count} файл из %{folder}',
'1': 'Добавлено %{smart_count} файла из %{folder}',
'2': 'Добавлено %{smart_count} файлов из %{folder}',
},
folderAlreadyAdded: 'Папка "%{folder}" уже была добавлена',
generatingThumbnails: 'Создание обложек...',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Превью, миниатюр изображений? Обложки без контекста странно звучат?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@arturi Согласен, заменил на "Создание превью изображений...".

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Спасибо!

@bodryi
Copy link
Contributor Author

bodryi commented Apr 29, 2024

Fixed @arturi comment for generatingThumbnails key, fixed typo for zoomIn key.

packages/@uppy/locales/src/ru_RU.ts Outdated Show resolved Hide resolved
timedOut: 'Загрузка остановилась на %{seconds} секунд, отмена',
upload: 'Загрузить',
uploadComplete: 'Загрузка завершена',
uploadFailed: 'Загрузка не удалась',
uploadPaused: 'Загрузка на паузе',
uploadStalled:
'Прогресс загрузки остановился на %{seconds} секунд. Возможно вы хотите перезапустить ее.',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Так звучит будто "мы загружали загружали 20 секунд, и потом загрузка остановилась на этом времени". Вместо "мы загружали какое-то время, но потом загрузка застопорилась на 20 секунд".

Давай напишем "Загрузка не сделала никакого прогресса в течение %{seconds} секунд. Возможно вы хотите перезапустить ее."

Заодно не нужно будет думать о падежах слова секунды 😅

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можно все интерфейсы будут на английском? Шучу.

Загрузка не сделала никакого прогресса

Звучит одушевленно :) Но лучше сказать сложно. Может, «Нет прогресса загрузки в течение Х» или «от сервера нет ответа в течение Х»?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Заодно не нужно будет думать о падежах слова секунды

Точно, в еще и падежи добавить надо было бы!

Предлагаю тогда "Прошло %{seconds} секунд без прогресса в загрузке. Возможно, вы хотите перезапустить ее." + варианты с падежами

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both

«Нет прогресса загрузки в течение Х» или «от сервера нет ответа в течение Х»

and

"Прошло %{seconds} секунд без прогресса в загрузке. Возможно, вы хотите перезапустить ее."

sound good to me.

Не уверена можно ли легко сделать падежи в uppy, если нельзя, то лучше первый вариант.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lakesare сделал предложенный мной вариант, падежи добавил.

Чтобы их задать, нужно указать перевод не в виде строки, а в виде объекта с ключами 0 | 1 | 2, каждый из которых соответствует определенным падежам.

@aduh95 aduh95 requested a review from lakesare May 2, 2024 18:13
@@ -16,25 +16,52 @@ const ru_RU: Locale<0 | 1 | 2> = {
}

ru_RU.strings = {
addMoreFiles: 'Добавить еще файлы',
addBulkFilesFailed: {
'0': 'Не удалось добавить файл %{smart_count} из-за внутренней ошибки',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Не удалось добавить файл 101 из-за внутренней ошибки"
=>
"Не удалось добавить 101 файл из-за внутренней ошибки"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Спасибо! Исправил.

@aduh95 aduh95 requested a review from lakesare May 3, 2024 09:29
Copy link
Contributor

@lakesare lakesare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, thanks @bodryi! Let's merge.

@lakesare lakesare merged commit 9abe1ef into transloadit:main May 3, 2024
5 checks passed
github-actions bot added a commit that referenced this pull request May 3, 2024
| Package          | Version | Package          | Version |
| ---------------- | ------- | ---------------- | ------- |
| @uppy/companion  |  4.13.2 | @uppy/xhr-upload |   3.6.6 |
| @uppy/core       |  3.11.1 | uppy             |  3.25.1 |
| @uppy/locales    |   3.5.3 |                  |         |

- @uppy/locales: Update ru_RU locale  (Uladzislau Bodryi / #5120)
- meta: fix `update-contributors` script (Antoine du Hamel / #5137)
- meta: fix `bullet` setting for ReMark (Antoine du Hamel)
- meta: add prettier to `.md` pre-commit hooks (Antoine du Hamel)
- @uppy/core: make UppyEventMap more readable (Murderlon)
- meta: enable prettier for markdown (Merlijn Vos / #5133)
- @uppy/xhr-upload: do not throw when res is missing url (Merlijn Vos / #5132)
- @uppy/companion: coerce `requestUrl` to a string (Antoine du Hamel / #5128)
Murderlon added a commit that referenced this pull request May 6, 2024
* 4.x:
  Release: [email protected] (#5141)
  meta: run Prettier in the release workflow
  Release: [email protected] (#5139)
  Bump ejs from 3.1.9 to 3.1.10 (#5135)
  Update ru_RU locale  (#5120)
  meta: fix `update-contributors` script (#5137)
  meta: fix `bullet` setting for ReMark
  meta: add prettier to `.md` pre-commit hooks
  @uppy/core: make UppyEventMap more readable
  Format
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants