Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: 0...-5 от Сентябрь 28, 2010, 07:35



Название: Обновление перевода
Отправлено: 0...-5 от Сентябрь 28, 2010, 07:35
Вопрос примерно такой: есть довольно большой проект, все что видит пользователь заключено в tr(). С помощью lupdate и linguist создается файл перевода на какой-либо язык. Далее, если в проект внести изменение, также требующее перевод, то все, что сделано до этого придется повторить? Или же существует способ как-то изменить уже собранный qm файл?


Название: Re: Обновление перевода
Отправлено: Sancho_s_rancho от Сентябрь 28, 2010, 08:47
Вопрос примерно такой: есть довольно большой проект, все что видит пользователь заключено в tr(). С помощью lupdate и linguist создается файл перевода на какой-либо язык. Далее, если в проект внести изменение, также требующее перевод, то все, что сделано до этого придется повторить? Или же существует способ как-то изменить уже собранный qm файл?
Так в файле ts останутся переведенные строчки от предыдущих версий. Надо будет доперевести изменения и создать новый qm.


Название: Re: Обновление перевода
Отправлено: 0...-5 от Сентябрь 28, 2010, 08:57
Хм...а я просто думал, что ts-файл - это что-то вроде хранилища всех использованных включений tr(), никак не связанный с переводом qm...И при выполнении lupdate старый файл соответственно затирается...


Название: Re: Обновление перевода
Отправлено: Sancho_s_rancho от Сентябрь 28, 2010, 10:18
Translation of a Qt application is a three-step process:

   1. Run lupdate to extract translatable text from the C++ source code of the Qt application, resulting in a message file for translators (a TS file). The utility recognizes the tr() construct and the QT_TR*_NOOP() macros described above and produces TS files (usually one per language).
   2. Provide translations for the source texts in the TS file, using Qt Linguist. Since TS files are in XML format, you can also edit them by hand.
   3. Run lrelease to obtain a light-weight message file (a QM file) from the TS file, suitable only for end use. Think of the TS files as "source files", and QM files as "object files". The translator edits the TS files, but the users of your application only need the QM files. Both kinds of files are platform and locale independent.

Typically, you will repeat these steps for every release of your application. The lupdate utility does its best to reuse the translations from previous releases.


Название: Re: Обновление перевода
Отправлено: 0...-5 от Сентябрь 28, 2010, 11:40
Thank you ever so much)))