Add Russian translation to CMakelists.txt

This commit is contained in:
Floris Bos 2023-03-24 15:51:09 +01:00
parent 83e2d22a9a
commit 9e882b31c4
2 changed files with 100 additions and 94 deletions

View file

@ -115,7 +115,10 @@ if(${QT}WinExtras_FOUND)
set(EXTRALIBS ${EXTRALIBS} ${QT}::WinExtras)
endif()
set(TRANSLATIONS i18n/rpi-imager_en.ts i18n/rpi-imager_nl.ts i18n/rpi-imager_zh.ts i18n/rpi-imager_tr.ts i18n/rpi-imager_fr.ts i18n/rpi-imager_de.ts i18n/rpi-imager_sk.ts i18n/rpi-imager_it.ts i18n/rpi-imager_ca.ts i18n/rpi-imager_sl.ts i18n/rpi-imager_ko.ts i18n/rpi-imager_ja.ts)
set(TRANSLATIONS i18n/rpi-imager_en.ts i18n/rpi-imager_nl.ts i18n/rpi-imager_zh.ts i18n/rpi-imager_tr.ts
i18n/rpi-imager_fr.ts i18n/rpi-imager_de.ts i18n/rpi-imager_sk.ts i18n/rpi-imager_it.ts
i18n/rpi-imager_ca.ts i18n/rpi-imager_sl.ts i18n/rpi-imager_ko.ts i18n/rpi-imager_ja.ts
i18n/rpi-imager_ru.ts)
#qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TRANSLATIONS})
if (Qt5_FOUND)
qt5_add_translation(QM_FILES ${TRANSLATIONS})

View file

@ -33,162 +33,160 @@
<context>
<name>DownloadThread</name>
<message>
<location filename="../downloadthread.cpp" line="147"/>
<location filename="../downloadthread.cpp" line="166"/>
<source>Error running diskpart: %1</source>
<translation>Ошибка выполнения diskpart: %1</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="168"/>
<location filename="../downloadthread.cpp" line="187"/>
<source>Error removing existing partitions</source>
<translation>Ошибка удаления существующих разделов</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="194"/>
<location filename="../downloadthread.cpp" line="213"/>
<source>Authentication cancelled</source>
<translation>Аутентификация отменена</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="197"/>
<location filename="../downloadthread.cpp" line="216"/>
<source>Error running authopen to gain access to disk device &apos;%1&apos;</source>
<translation>Ошибка выполнения authopen для получения доступа к дисковому устройству «%1»</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="198"/>
<location filename="../downloadthread.cpp" line="217"/>
<source>Please verify if &apos;Raspberry Pi Imager&apos; is allowed access to &apos;removable volumes&apos; in privacy settings (under &apos;files and folders&apos; or alternatively give it &apos;full disk access&apos;).</source>
<translation>Убедитесь, что в параметрах настройки конфиденциальности (privacy settings) в разделе «файлы и папки» («files and folders») программе Raspberry Pi Imager разрешён доступ к съёмным томам (removable volumes). Либо можно предоставить программе доступ ко всему диску (full disk access).</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="220"/>
<location filename="../downloadthread.cpp" line="239"/>
<source>Cannot open storage device &apos;%1&apos;.</source>
<translation>Не удалось открыть запоминающее устройство «%1».</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="262"/>
<location filename="../downloadthread.cpp" line="281"/>
<source>discarding existing data on drive</source>
<translation>удаление существующих данных на диске</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="282"/>
<location filename="../downloadthread.cpp" line="301"/>
<source>zeroing out first and last MB of drive</source>
<translation>обнуление первого и последнего мегабайта диска</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="288"/>
<location filename="../downloadthread.cpp" line="307"/>
<source>Write error while zero&apos;ing out MBR</source>
<translation>Ошибка записи при обнулении MBR</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="779"/>
<location filename="../downloadthread.cpp" line="822"/>
<source>Error reading from storage.&lt;br&gt;SD card may be broken.</source>
<translation>Ошибка чтения с запоминающего устройства.&lt;br&gt;SD-карта может быть повреждена.</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="855"/>
<source>Waiting for FAT partition to be mounted</source>
<translation>Ожидание подключения раздела FAT</translation>
<translation type="vanished">Ожидание подключения раздела FAT</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="941"/>
<source>Error mounting FAT32 partition</source>
<translation>Ошибка подключения раздела FAT32</translation>
<translation type="vanished">Ошибка подключения раздела FAT32</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="963"/>
<source>Operating system did not mount FAT32 partition</source>
<translation>Операционная система не подключила раздел FAT32</translation>
<translation type="vanished">Операционная система не подключила раздел FAT32</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="996"/>
<source>Unable to customize. File &apos;%1&apos; does not exist.</source>
<translation>Не удалось настроить. Файл «%1» не существует.</translation>
<translation type="vanished">Не удалось настроить. Файл «%1» не существует.</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="1000"/>
<location filename="../downloadthread.cpp" line="894"/>
<source>Customizing image</source>
<translation>Настройка образа</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="1085"/>
<source>Error creating firstrun.sh on FAT partition</source>
<translation>Ошибка создания firstrun.sh в разделе FAT</translation>
<translation type="vanished">Ошибка создания firstrun.sh в разделе FAT</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="1037"/>
<source>Error writing to config.txt on FAT partition</source>
<translation>Ошибка записи в config.txt в разделе FAT</translation>
<translation type="vanished">Ошибка записи в config.txt в разделе FAT</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="1102"/>
<source>Error creating user-data cloudinit file on FAT partition</source>
<translation>Ошибка создания файла user-data cloudinit в разделе FAT</translation>
<translation type="vanished">Ошибка создания файла user-data cloudinit в разделе FAT</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="1116"/>
<source>Error creating network-config cloudinit file on FAT partition</source>
<translation>Ошибка создания файла network-config cloudinit в разделе FAT</translation>
<translation type="vanished">Ошибка создания файла network-config cloudinit в разделе FAT</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="1139"/>
<source>Error writing to cmdline.txt on FAT partition</source>
<translation>Ошибка записи в cmdline.txt в разделе FAT</translation>
<translation type="vanished">Ошибка записи в cmdline.txt в разделе FAT</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="432"/>
<location filename="../downloadthread.cpp" line="451"/>
<source>Access denied error while writing file to disk.</source>
<translation>Ошибка доступа при записи файла на диск.</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="437"/>
<location filename="../downloadthread.cpp" line="456"/>
<source>Controlled Folder Access seems to be enabled. Please add both rpi-imager.exe and fat32format.exe to the list of allowed apps and try again.</source>
<translation>Похоже, что включён контролируемый доступ к папкам (Controlled Folder Access). Добавьте rpi-imager.exe и fat32format.exe в список разрешённых программ и попробуйте снова.</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="444"/>
<location filename="../downloadthread.cpp" line="463"/>
<source>Error writing file to disk</source>
<translation>Ошибка записи файла на диск</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="463"/>
<location filename="../downloadthread.cpp" line="482"/>
<source>Error downloading: %1</source>
<translation>Ошибка загрузки: %1</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="686"/>
<location filename="../downloadthread.cpp" line="705"/>
<location filename="../downloadthread.cpp" line="757"/>
<source>Error writing to storage (while flushing)</source>
<translation>Ошибка записи на запоминающее устройство (при сбросе)</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="693"/>
<location filename="../downloadthread.cpp" line="712"/>
<location filename="../downloadthread.cpp" line="764"/>
<source>Error writing to storage (while fsync)</source>
<translation>Ошибка записи на запоминающее устройство (при выполнении fsync)</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="674"/>
<location filename="../downloadthread.cpp" line="693"/>
<source>Download corrupt. Hash does not match</source>
<translation>Загруженные данные повреждены. Хэш не совпадает</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="114"/>
<location filename="../downloadthread.cpp" line="118"/>
<source>unmounting drive</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="138"/>
<source>opening drive</source>
<translation>открытие диска</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="300"/>
<location filename="../downloadthread.cpp" line="319"/>
<source>Write error while trying to zero out last part of card.&lt;br&gt;Card could be advertising wrong capacity (possible counterfeit).</source>
<translation>Ошибка записи при попытке обнулить последнюю часть карты.&lt;br&gt;Заявленный картой объём может не соответствовать действительности (возможно, карта является поддельной).</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="389"/>
<location filename="../downloadthread.cpp" line="408"/>
<source>starting download</source>
<translation>начало загрузки</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="719"/>
<location filename="../downloadthread.cpp" line="747"/>
<source>Error writing first block (partition table)</source>
<translation>Ошибка записи первого блока (таблица разделов)</translation>
</message>
<message>
<location filename="../downloadthread.cpp" line="798"/>
<location filename="../downloadthread.cpp" line="841"/>
<source>Verifying write failed. Contents of SD card is different from what was written to it.</source>
<translation>Ошибка по результатам проверки записи. Содержимое SD-карты отличается от того, что было на неё записано.</translation>
</message>
@ -256,27 +254,27 @@
<context>
<name>ImageWriter</name>
<message>
<location filename="../imagewriter.cpp" line="257"/>
<location filename="../imagewriter.cpp" line="248"/>
<source>Storage capacity is not large enough.&lt;br&gt;Needs to be at least %1 GB.</source>
<translation>Недостаточная ёмкость запоминающего устройства.&lt;br&gt;Требуется не менее %1 ГБ.</translation>
</message>
<message>
<location filename="../imagewriter.cpp" line="263"/>
<location filename="../imagewriter.cpp" line="254"/>
<source>Input file is not a valid disk image.&lt;br&gt;File size %1 bytes is not a multiple of 512 bytes.</source>
<translation>Входной файл не представляет собой корректный образ диска.&lt;br&gt;Размер файла %1 не кратен 512 байтам.</translation>
</message>
<message>
<location filename="../imagewriter.cpp" line="445"/>
<location filename="../imagewriter.cpp" line="442"/>
<source>Downloading and writing image</source>
<translation>Загрузка и запись образа</translation>
</message>
<message>
<location filename="../imagewriter.cpp" line="578"/>
<location filename="../imagewriter.cpp" line="575"/>
<source>Select image</source>
<translation>Выбор образа</translation>
</message>
<message>
<location filename="../imagewriter.cpp" line="979"/>
<location filename="../imagewriter.cpp" line="864"/>
<source>Would you like to prefill the wifi password from the system keychain?</source>
<translation>Указать пароль от WiFi автоматически (взяв его из системной цепочки ключей)?</translation>
</message>
@ -320,128 +318,128 @@
<context>
<name>OptionsPopup</name>
<message>
<location filename="../OptionsPopup.qml" line="79"/>
<location filename="../OptionsPopup.qml" line="80"/>
<source>Advanced options</source>
<translation>Дополнительные параметры</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="96"/>
<location filename="../OptionsPopup.qml" line="97"/>
<source>Image customization options</source>
<translation>Параметры настройки образа</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="104"/>
<location filename="../OptionsPopup.qml" line="105"/>
<source>for this session only</source>
<translation>только для этого сеанса</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="105"/>
<location filename="../OptionsPopup.qml" line="106"/>
<source>to always use</source>
<translation>для постоянного использования</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="119"/>
<location filename="../OptionsPopup.qml" line="120"/>
<source>Set hostname:</source>
<translation>Имя хоста:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="138"/>
<location filename="../OptionsPopup.qml" line="142"/>
<source>Enable SSH</source>
<translation>Включить SSH</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="160"/>
<location filename="../OptionsPopup.qml" line="164"/>
<source>Use password authentication</source>
<translation>Использовать аутентификацию по паролю</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="170"/>
<location filename="../OptionsPopup.qml" line="174"/>
<source>Allow public-key authentication only</source>
<translation>Разрешить только аутентификацию с использованием открытого ключа</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="188"/>
<location filename="../OptionsPopup.qml" line="192"/>
<source>Set authorized_keys for &apos;%1&apos;:</source>
<translation>authorized_keys для «%1»:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="261"/>
<location filename="../OptionsPopup.qml" line="266"/>
<source>Configure wireless LAN</source>
<translation>Настроить Wi-Fi</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="280"/>
<location filename="../OptionsPopup.qml" line="285"/>
<source>SSID:</source>
<translation>SSID:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="234"/>
<location filename="../OptionsPopup.qml" line="300"/>
<location filename="../OptionsPopup.qml" line="239"/>
<location filename="../OptionsPopup.qml" line="305"/>
<source>Password:</source>
<translation>Пароль:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="200"/>
<location filename="../OptionsPopup.qml" line="205"/>
<source>Set username and password</source>
<translation>Указать имя пользователя и пароль</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="219"/>
<location filename="../OptionsPopup.qml" line="224"/>
<source>Username:</source>
<translation>Имя пользователя:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="295"/>
<location filename="../OptionsPopup.qml" line="300"/>
<source>Hidden SSID</source>
<translation>Скрытый идентификатор SSID</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="316"/>
<location filename="../OptionsPopup.qml" line="321"/>
<source>Show password</source>
<translation>Показывать пароль</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="321"/>
<location filename="../OptionsPopup.qml" line="326"/>
<source>Wireless LAN country:</source>
<translation>Страна Wi-Fi:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="332"/>
<location filename="../OptionsPopup.qml" line="337"/>
<source>Set locale settings</source>
<translation>Указать параметры региона</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="342"/>
<location filename="../OptionsPopup.qml" line="347"/>
<source>Time zone:</source>
<translation>Часовой пояс:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="352"/>
<location filename="../OptionsPopup.qml" line="357"/>
<source>Keyboard layout:</source>
<translation>Раскладка клавиатуры:</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="365"/>
<location filename="../OptionsPopup.qml" line="370"/>
<source>Persistent settings</source>
<translation>Постоянные параметры</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="373"/>
<location filename="../OptionsPopup.qml" line="378"/>
<source>Play sound when finished</source>
<translation>Воспроизводить звук после завершения</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="377"/>
<location filename="../OptionsPopup.qml" line="382"/>
<source>Eject media when finished</source>
<translation>Извлекать носитель после завершения</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="381"/>
<location filename="../OptionsPopup.qml" line="386"/>
<source>Enable telemetry</source>
<translation>Включить телеметрию</translation>
</message>
<message>
<location filename="../OptionsPopup.qml" line="394"/>
<location filename="../OptionsPopup.qml" line="399"/>
<source>SAVE</source>
<translation>СОХРАНИТЬ</translation>
</message>
@ -457,27 +455,32 @@
<context>
<name>UseSavedSettingsPopup</name>
<message>
<location filename="../UseSavedSettingsPopup.qml" line="72"/>
<location filename="../UseSavedSettingsPopup.qml" line="73"/>
<source>Warning: advanced settings set</source>
<translation>Внимание: установлены дополнительные параметры</translation>
</message>
<message>
<location filename="../UseSavedSettingsPopup.qml" line="86"/>
<location filename="../UseSavedSettingsPopup.qml" line="87"/>
<source>Would you like to apply the image customization settings saved earlier?</source>
<translation>Применить сохранённые ранее параметры настройки образа?</translation>
</message>
<message>
<location filename="../UseSavedSettingsPopup.qml" line="95"/>
<location filename="../UseSavedSettingsPopup.qml" line="96"/>
<source>NO</source>
<translation>НЕТ</translation>
</message>
<message>
<location filename="../UseSavedSettingsPopup.qml" line="106"/>
<source>NO, CLEAR SETTINGS</source>
<translation>НЕТ, ОЧИСТИТЬ ПАРАМЕТРЫ</translation>
</message>
<message>
<location filename="../UseSavedSettingsPopup.qml" line="105"/>
<location filename="../UseSavedSettingsPopup.qml" line="116"/>
<source>YES</source>
<translation>ДА</translation>
</message>
<message>
<location filename="../UseSavedSettingsPopup.qml" line="115"/>
<location filename="../UseSavedSettingsPopup.qml" line="126"/>
<source>EDIT SETTINGS</source>
<translation>ИЗМЕНИТЬ ПАРАМЕТРЫ</translation>
</message>
@ -513,7 +516,7 @@
</message>
<message>
<location filename="../main.qml" line="147"/>
<location filename="../main.qml" line="1038"/>
<location filename="../main.qml" line="1041"/>
<source>CHOOSE STORAGE</source>
<translation>ВЫБРАТЬ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО</translation>
</message>
@ -534,7 +537,7 @@
</message>
<message>
<location filename="../main.qml" line="221"/>
<location filename="../main.qml" line="965"/>
<location filename="../main.qml" line="968"/>
<source>Cancelling...</source>
<translation>Отмена...</translation>
</message>
@ -545,8 +548,8 @@
</message>
<message>
<location filename="../main.qml" line="232"/>
<location filename="../main.qml" line="988"/>
<location filename="../main.qml" line="1057"/>
<location filename="../main.qml" line="991"/>
<location filename="../main.qml" line="1060"/>
<source>Finalizing...</source>
<translation>Завершение...</translation>
</message>
@ -577,7 +580,7 @@
</message>
<message>
<location filename="../main.qml" line="505"/>
<location filename="../main.qml" line="1022"/>
<location filename="../main.qml" line="1025"/>
<source>Erase</source>
<translation>Стереть</translation>
</message>
@ -674,7 +677,7 @@
<translation>Доступна новая версия Imager.&lt;br&gt;Перейти на веб-сайт для её загрузки?</translation>
</message>
<message>
<location filename="../main.qml" line="968"/>
<location filename="../main.qml" line="971"/>
<source>Writing... %1%</source>
<translation>Запись... %1%</translation>
</message>
@ -684,52 +687,52 @@
<translation>Все существующие на «%1» данные будут стёрты.&lt;br&gt;Продолжить?</translation>
</message>
<message>
<location filename="../main.qml" line="947"/>
<location filename="../main.qml" line="950"/>
<source>Error downloading OS list from Internet</source>
<translation>Ошибка загрузки списка ОС из Интернета</translation>
</message>
<message>
<location filename="../main.qml" line="991"/>
<location filename="../main.qml" line="994"/>
<source>Verifying... %1%</source>
<translation>Проверка... %1%</translation>
</message>
<message>
<location filename="../main.qml" line="998"/>
<location filename="../main.qml" line="1001"/>
<source>Preparing to write... (%1)</source>
<translation>Подготовка к записи... (%1)</translation>
</message>
<message>
<location filename="../main.qml" line="1014"/>
<location filename="../main.qml" line="1017"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<location filename="../main.qml" line="1021"/>
<location filename="../main.qml" line="1024"/>
<source>Write Successful</source>
<translation>Запись успешно выполнена</translation>
</message>
<message>
<location filename="../main.qml" line="1023"/>
<location filename="../main.qml" line="1026"/>
<source>&lt;b&gt;%1&lt;/b&gt; has been erased&lt;br&gt;&lt;br&gt;You can now remove the SD card from the reader</source>
<translation>Данные на &lt;b&gt;%1&lt;/b&gt; стёрты&lt;br&gt;&lt;br&gt;Теперь можно извлечь SD-карту из устройства чтения</translation>
</message>
<message>
<location filename="../main.qml" line="1030"/>
<location filename="../main.qml" line="1033"/>
<source>&lt;b&gt;%1&lt;/b&gt; has been written to &lt;b&gt;%2&lt;/b&gt;&lt;br&gt;&lt;br&gt;You can now remove the SD card from the reader</source>
<translation>Запись &lt;b&gt;%1&lt;/b&gt; на &lt;b&gt;%2&lt;/b&gt; выполнена&lt;br&gt;&lt;br&gt;Теперь можно извлечь SD-карту из устройства чтения</translation>
</message>
<message>
<location filename="../main.qml" line="1098"/>
<location filename="../main.qml" line="1101"/>
<source>Error parsing os_list.json</source>
<translation>Ошибка синтаксического анализа os_list.json</translation>
</message>
<message>
<location filename="../main.qml" line="1271"/>
<location filename="../main.qml" line="1274"/>
<source>Connect an USB stick containing images first.&lt;br&gt;The images must be located in the root folder of the USB stick.</source>
<translation>Сначала подключите USB-накопитель с образами.&lt;br&gt;Образы должны находиться в корневой папке USB-накопителя.</translation>
</message>
<message>
<location filename="../main.qml" line="1287"/>
<location filename="../main.qml" line="1290"/>
<source>SD card is write protected.&lt;br&gt;Push the lock switch on the left side of the card upwards, and try again.</source>
<translation>SD-карта защищена от записи.&lt;br&gt;Переместите вверх блокировочный переключатель, расположенный с левой стороны карты, и попробуйте ещё раз.</translation>
</message>