Переехал на launchpad.net https://translations.launchpad.net/qutim
:
:
:
:
:
:
:
:
Всё находящееся ниже - устарело
:
:
:
:
:
:
:
:
Перевод выполняется при помощи cmake для генерации о обновлений файлов исходного перевода ts, и linguist (в зависимости от дистрибутива может иметь свой пакет или входить в общий для разработчика).
Рекомендуется версия Qt 4.7 и соответствующий linguist, cmake требуется не менее 2.8.1.
Так же предполагается умение работать с git, забрать последнюю версию, сделать commit и запрос на merge request итп.
Команды предполагают, что директория с исходным кодом SDK03 (для плагинов/протоколов команда соответственно меняется) находится в /home/username/devel/qutim, а перевод соответственно в /home/username/devel/translations
cmake -DLANGUAGE=ru_RU -DQUTIM_PATH=/home/username/devel/qutim/ -DLANGUAGE_DEST_DIR=/home/username/devel/translations/
В процессе выполнения команды вы увидите примерно такие строки среди вывода:
Updating '/home/username/devel/translations/ru_RU/core.ts'...
Found 613 source text(s) (0 new and 613 already existing)
Далее достаточно просто, вызвать linguist, открыть файл с переводом из transtations/ru_RU/ и переводить.
Для того, что бы проверить в программе можно вызвать скрипт make.sh из папки translations и собрать перевод в qm файлы и закинуть например в ~/.local/share/qutim/translations (путь для текущего пользователя по умолчанию). После перезапуска можно увидеть изменения. Разумеется предполагается что общесистемный перевод SDK03 не был установлен.
Старое, переписываю.
Перевод выполняется средствами Qt, а именно используются утилиты linguist - для выполнения собственно перевода, lupdate для обновления файла ts и синхронизации его с исходным кодом, lrelease для получения конечного файла qm, который используется в программе, и qmake для создания файла pro когда его нет.
Итак, для перевода необходимо: Qt,Qt-dev >= 4.4
Перевод располагается следующим образом: Папка конфигурации qutIM, например ~/.config/qutim, В ней папка хранящая переводы ~/.config/qutim/languages/
В этой папке расположены папки с переводами, то есть:
~/.config/qutim/languages/ru/
В папке ru находятся qm файлы, в доме который построил джек.
Названия файлов перевода заданы в cmake скриптах.
Исключение плагины созданные без cmake, из следует называть по официальному названию в нижнем регистре.
- относится к sdk02
Файлы qm лучше именовать по принципу core - ядро, остальное имя файла соответствует имени плагина. Например: icq.ts, jabber.ts итп.
Старые ревизии (менее 215 ревизии ядра) несколько файлов не поддерживали и поэтому загружали только main.qm где был слин перевод всех модулей.
(сливались ts, потом вместе и обрабатывались)
Вызвав (исправив путь на свой)
cmake -DLANGUAGE=ru_RU -DQUTIM_PATH=~/git/qutim/qutim/ -DQUTIM_LIBRARY=~/git/qutim/libqutim/libqutim.so
Будет сгенерирован ts файл по пути: ./languages/ru_RU/чтопереводим.ts
Для синхронизации переведенного файла и обновленного исходного кода достаточно выполнить команду повторно.
Официальные репозитарии qutIM (ядро, плагины, протоколы) поддерживают этот способ из корня репозитария. Плагины и протоколы обновляются все разом.
Итак, для перевода нам необходим pro файл, если его нет, его можно создать командой
qmake -project
Внимание! Этот pro файл не будет пригоден для сборки, он существует только для перевода!
Для того, что бы начать перевод необходимо указать в pro файле файлперевода, то есть добавить в раздел TRANSLATIONS имя файла перевода, если раздела нет, создать, вот например:
TRANSLATIONS += qutim_core.ts
Теперь необходимо создать этот файл или обновить его когмандой обновления перевода.
Для обновления файла перевода ts необходимо скомандовать
lupdate ./file.pro
Это обновит и/или создаст файлы предназначеные для перевода.
Для того, что бы создать файл перевода пригодный для использования программой, необходимо выполнить команду:
lrelease ./file.pro
Кроме того существует команда release доступная из linguist.
Для выполнения перевода необходимо вызвать linguist, можно из терминала командой
linguist ./file_to_translate.ts
Так и из меню вашей DE, открыв файл ts стандартными средствами.
Перевод выполняется в интуитивно понятной программе и проблем возникуть не должно. Главное не забывайте Save и Release в меню File И при каждом изменении исходником обновлять ts файл.