:: /
: imagewriter
Sources Gear Bugs and FR Repocop
: imagewriter-add-russian-localization.patch
diff --git a/imagewriter/imagewriter.desktop b/imagewriter/imagewriter.desktop
index 6c2b091..bdcbe03 100644
--- a/imagewriter/imagewriter.desktop
+++ b/imagewriter/imagewriter.desktop
@@ -5,6 +5,9 @@ Exec=imagewriter -f %f
Icon=imagewriter
Name=SUSE Studio Imagewriter
GenericName=USB key writer
+GenericName[ru]=Запись образа на USB
+Comment=Write disk image to USB key
+Comment[ru]=Запись образа диска на USB-накопитель
Version=1.0
Keywords=iso;disk;usb;dvd;
MimeType=application/x-cd-image;application/x-raw-disk-image;
diff --git a/imagewriter/imagewriter.pro b/imagewriter/imagewriter.pro
index c3b98cc..99339b2 100644
--- a/imagewriter/imagewriter.pro
+++ b/imagewriter/imagewriter.pro
@@ -86,12 +86,17 @@ distfile.commands = mkdir \
cd \
..
+TRANSLATIONS = ru_RU.ts
+translations.path = $$PREFIX/share/imagewriter
+translations.files = *.qm
+
INSTALLS += target \
icon32 \
icon64 \
icon128 \
desktop \
- manpage
+ manpage \
+ translations
target.path = $$PREFIX/bin
desktop.path = $$PREFIX/share/applications/
desktop.files += imagewriter.desktop
diff --git a/imagewriter/main.cpp b/imagewriter/main.cpp
index 24062af..083f473 100644
--- a/imagewriter/main.cpp
+++ b/imagewriter/main.cpp
@@ -22,6 +22,8 @@
*/
#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
#ifndef Q_OS_LINUX
#error "Only linux is supported at the moment"
@@ -97,6 +99,17 @@ main (int argc, char *argv[])
}
QApplication app(argc, argv);
+
+ // Load common Qt translation
+ QTranslator qtTranslator;
+ qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ app.installTranslator(&qtTranslator);
+
+ // Add application translation
+ QTranslator appTranslator;
+ appTranslator.load(QLocale::system().name(), "/usr/share/imagewriter");
+ app.installTranslator(&appTranslator);
+
#ifdef USEHAL
PlatformHal *platform = new PlatformHal(kioskMode, unsafe);
#elif USEUDISKS2
diff --git a/imagewriter/ru_RU.ts b/imagewriter/ru_RU.ts
new file mode 100644
index 0000000..fbafaef
--- /dev/null
+++ b/imagewriter/ru_RU.ts
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru_RU">
+<context>
+ <name>AboutLabel</name>
+ <message>
+ <source>About SUSE Studio Imagewriter</source>
+ <translation type="obsolete">О программе</translation>
+ </message>
+ <message>
+ <source>The <b>SUSE Studio Imagewriter</b> is (C) 2012, SUSE Linux Products GmbH<br><br> It is cheerfully released under the GPL v2 license. You can find the source code on github: https://github.com/mbarringer/imagewriter<br><br> It was written by Matt Barringer &lt;matt@incoherent.de&gt;. Please send complaints directly to him.</source>
+ <translation type="obsolete">Авторские права на <b>SUSE Studio Imagewriter</b> принадлежат SUSE Linux Products GmbH, 2012<br><br> С радостью выпущено под условиями лицензии GPL v2. Исходный код доступен на github: https://github.com/mbarringer/imagewriter<br><br> Написана Matt Barringer &lt;matt@incoherent.de&gt;. Отправляйте жалобы непосредственно ему (на английском языке).</translation>
+ </message>
+</context>
+<context>
+ <name>ImageWriter</name>
+ <message>
+ <source>Failed to allocate memory for buffer:</source>
+ <translation type="obsolete">Не удалось выделить память для буфера:</translation>
+ </message>
+ <message>
+ <source>Failed to allocate memory for buffer.</source>
+ <translation type="obsolete">Не удалось выделить память для буфера.</translation>
+ </message>
+ <message>
+ <source>Failed to open the image file:</source>
+ <translation type="obsolete">Не удалось открыть файл образа:</translation>
+ </message>
+ <message>
+ <source>Failed to open the drive</source>
+ <translation type="obsolete">Не удалось открыть диск</translation>
+ </message>
+ <message>
+ <source>Failed to unmount the drive</source>
+ <translation type="obsolete">Не удалось отмонтировать диск</translation>
+ </message>
+ <message>
+ <source>Failed to unmount the volume</source>
+ <translation type="obsolete">Не удалось отмонтировать том</translation>
+ </message>
+ <message>
+ <source>Failed to open the target device:</source>
+ <translation type="obsolete">Не удалось открыть целевое устройство:</translation>
+ </message>
+ <message>
+ <source>Failed to write to the device:</source>
+ <translation type="obsolete">Ошибка записи на целевое устройство:</translation>
+ </message>
+ <message>
+ <source>The last block was not fully written (%1 of %2 bytes)!
+Aborting.</source>
+ <translation type="obsolete">Последний блок был записан не полностью (%1 из %2 байтов)!
+Операция прервана.</translation>
+ </message>
+ <message>
+ <source>Failed to read the image file:</source>
+ <translation type="obsolete">Ошибка чтения из файла образа:</translation>
+ </message>
+</context>
+<context>
+ <name>MainDialog</name>
+ <message>
+ <source>&USB Device:</source>
+ <translation type="obsolete">&USB-диск:</translation>
+ </message>
+ <message>
+ <source>Image:</source>
+ <translation type="obsolete">Образ:</translation>
+ </message>
+ <message>
+ <source>Open image file</source>
+ <translation type="obsolete">Открыть файл образа</translation>
+ </message>
+ <message>
+ <source>Refresh the list</source>
+ <translation type="obsolete">Перечитать список</translation>
+ </message>
+ <message>
+ <source>%v / %m MB</source>
+ <translation type="obsolete">%v / %m МБ</translation>
+ </message>
+ <message>
+ <source>&Write</source>
+ <translation type="obsolete">&Записать</translation>
+ </message>
+ <message>
+ <source>&Cancel</source>
+ <translation type="obsolete">&Отменить</translation>
+ </message>
+ <message>
+ <source>Failed to open the image file:</source>
+ <translation type="obsolete">Не удалось открыть файл образа:</translation>
+ </message>
+ <message>
+ <source>MB</source>
+ <translation type="obsolete">МБ</translation>
+ </message>
+ <message>
+ <source>Writing is in progress, abort it?</source>
+ <translation type="obsolete">Запись образа не завершена, прервать её?</translation>
+ </message>
+ <message>
+ <source>Disk Images</source>
+ <translation type="obsolete">Образы дисков</translation>
+ </message>
+ <message>
+ <source>All Files</source>
+ <translation type="obsolete">Все файлы</translation>
+ </message>
+ <message>
+ <source>The image is larger than your selected device!</source>
+ <translation type="obsolete">Файл образа больше по размеру, чем выбранный диск!</translation>
+ </message>
+ <message>
+ <source>Image size:</source>
+ <translation type="obsolete">Размер образа:</translation>
+ </message>
+ <message>
+ <source>b</source>
+ <translation type="obsolete">б</translation>
+ </message>
+ <message>
+ <source>Disk size:</source>
+ <translation type="obsolete">Размер диска:</translation>
+ </message>
+ <message>
+ <source>Writing an image will erase all existing data on the selected device.
+Are you sure you wish to proceed?</source>
+ <translation type="obsolete">Запись образа уничтожит все имеющиеся данные на выбранном диске.
+Вы уверены, что хотите продолжить?</translation>
+ </message>
+ <message>
+ <source>The operation completed successfully.</source>
+ <translation type="obsolete">Операция успешно завершена.</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="MainWindow.cpp" line="+167"/>
+ <location line="+152"/>
+ <source>Drag disk image here
+ or click to select.</source>
+ <translation>Перетащите файл образа
+сюда или щёлкните
+для выбора файла.</translation>
+ </message>
+ <message>
+ <location line="-148"/>
+ <location line="+58"/>
+ <source>Write</source>
+ <translation>Записать</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source><u>About</u></source>
+ <translation><u>О программе</u></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Select</source>
+ <translation>Выбор</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Exit</source>
+ <translation>Выход</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>File</source>
+ <translation>Файл</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Device</source>
+ <translation>Устройство</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Open Image</source>
+ <translation>Открыть образ</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Image Files (*.raw *.iso)</source>
+ <translation>Файлы образов (*.raw *.iso)</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Sorry, I can't write this ISO. You need to use another program to write it to a DVD.</source>
+ <translation>Невозможно записать этот файл образа. Вам нужна другая программа для записи его на DVD.</translation>
+ </message>
+ <message>
+ <location line="+143"/>
+ <source> MB</source>
+ <translation> МБ</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source><b>Selected:</b> </source>
+ <translation><b>Образ:</b> </translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Please select an image to use.</source>
+ <translation>Выберите файл образа для записи.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>This device is already mounted, and I will not write to a mounted device. Would you like me to attempt to unmount it?</source>
+ <translation>Невозможно записать на смонтированное устройство. Отмонтировать это устройство?</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Yes</source>
+ <translation>Да</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>No</source>
+ <translation>Нет</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Unmount failed. I will not write to this device.</source>
+ <translation>Ошибка отмонтирования. Запись на это устройство невозможна.</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>This will overwrite the contents of </source>
+ <translation>Будет перезаписано всё содержимое </translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>. Are you sure you want to continue?</source>
+ <translation>. Продолжить?</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source> is a non-removable hard drive, and this will overwrite the contents. Are you <b>sure</b> you want to continue?</source>
+ <translation> не является подключаемым диском. Всё содержимое будет перезаписано. Вы <b>точно</b> хотите продолжить?</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Ok</source>
+ <translation>Ok</translation>
+ </message>
+ <message>
+ <location filename="MainWindow.h" line="+35"/>
+ <source>Insert a USB device</source>
+ <translation>Вставьте USB-диск</translation>
+ </message>
+</context>
+<context>
+ <name>PhysicalDevice</name>
+ <message>
+ <source>Could not acquire lock:</source>
+ <translation type="obsolete">Не удалось заблокировать целевое устройство:</translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <source>Error code:</source>
+ <translation type="obsolete">Код ошибки:</translation>
+ </message>
+ <message>
+ <source>Unknown Device</source>
+ <translation type="obsolete">Неизвестное устройство</translation>
+ </message>
+ <message>
+ <source><unmounted></source>
+ <translation type="obsolete"><не примонтировано></translation>
+ </message>
+ <message>
+ <source>MB</source>
+ <translation type="obsolete">МБ</translation>
+ </message>
+ <message>
+ <source>Memory allocation for %1 failed.</source>
+ <translation type="obsolete">Не удалось выделить память для %1.</translation>
+ </message>
+ <message>
+ <source>CoCreateInstance(WbemAdministrativeLocator) failed.</source>
+ <translation type="obsolete">Ошибка при вызове CoCreateInstance(WbemAdministrativeLocator).</translation>
+ </message>
+ <message>
+ <source>ConnectServer failed.</source>
+ <translation type="obsolete">Ошибка при вызове ConnectServer.</translation>
+ </message>
+ <message>
+ <source>Failed to query USB flash devices.</source>
+ <translation type="obsolete">Ошибка при запросе списка USB флэш-дисков.</translation>
+ </message>
+ <message>
+ <source>Failed to query list of partitions.</source>
+ <translation type="obsolete">Ошибка при запросе списка разделов.</translation>
+ </message>
+ <message>
+ <source>Failed to query list of logical disks.</source>
+ <translation type="obsolete">Ошибка при запросе списка логических дисков.</translation>
+ </message>
+ <message>
+ <location filename="Platform.cpp" line="+67"/>
+ <source>The image you are trying to write is larger than your USB stick.</source>
+ <translation>Файл образа больше по размеру, чем выбранный USB диск.</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <location line="+8"/>
+ <source>Couldn't open </source>
+ <translation>Невозможно открыть</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Writing</source>
+ <translation>Запись</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Read failure</source>
+ <translation>Ошибка чтения</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Write failure</source>
+ <translation>Ошибка записи</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Written %1MB out of %2MB</source>
+ <translation>Записано %1 МБ из %2 МБ</translation>
+ </message>
+ <message>
+ <location filename="PlatformHal.cpp" line="+52"/>
+ <location line="+53"/>
+ <location line="+154"/>
+ <location line="+38"/>
+ <source>Could not initialize HAL.</source>
+ <translation>Невозможно инициализировать HAL.</translation>
+ </message>
+ <message>
+ <location line="-138"/>
+ <location filename="PlatformUdisks.cpp" line="+175"/>
+ <location filename="PlatformUdisks2.cpp" line="+165"/>
+ <source>%1 %2 - %3 (%4 MB)</source>
+ <translation>%1 %2 - %3 (%4 МБ)</translation>
+ </message>
+ <message>
+ <location filename="PlatformUdisks.cpp" line="-101"/>
+ <source>You don't have UDisks support.</source>
+ <translation>Отсутствует поддержка UDisks.</translation>
+ </message>
+ <message>
+ <location filename="PlatformUdisks2.cpp" line="-109"/>
+ <source>You don't have UDisks2 support.</source>
+ <translation>Отсутствует поддержка UDisks2.</translation>
+ </message>
+ <message>
+ <location filename="MainWindow.cpp" line="+41"/>
+ <source>About SUSE Studio Imagewriter</source>
+ <translation>О программе</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>The <b>SUSE Studio Imagewriter</b> is (C) 2012, SUSE Linux Products GmbH<br><br> It is cheerfully released under the GPL v2 license. You can find the source code on github: https://github.com/mbarringer/imagewriter<br><br> It was written by Matt Barringer &lt;matt@incoherent.de&gt;. Please send complaints directly to him.</source>
+ <translation>Авторские права на <b>SUSE Studio Imagewriter</b> принадлежат SUSE Linux Products GmbH, 2012<br><br> С радостью выпущено под условиями лицензии GPL v2. Исходный код доступен на github: https://github.com/mbarringer/imagewriter<br><br> Написана Matt Barringer &lt;matt@incoherent.de&gt;. Отправляйте жалобы непосредственно ему (на английском языке).</translation>
+ </message>
+</context>
+</TS>