Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: Jkc от Июль 14, 2009, 14:29



Название: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: Jkc от Июль 14, 2009, 14:29
Нужно сделать перевод интерфейса для программы с помощью gettext и .ро файлов, вот сижу разбираю доки
http://www.gnu.org/software/gettext/
http://www.gnu.org/software/gettext/manual/gettext.html
но текста а много а времени мало  >:(
Может кто-то может скинуть готовый пример, или коротко объяснить как всё это дело сделать по быстрому.
Заранее спасибо.


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: lit-uriy от Июль 14, 2009, 15:45
у тебя po-файлы есть или тебе их создать надо?

Если надо создать читай тут на русском: http://ru.opensuse.org/OpenSUSE_Localization_Work_with_PO_Files


П.С. А почему не с помощью Лингвиста?


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: Jkc от Июль 14, 2009, 16:40
у тебя po-файлы есть или тебе их создать надо?

Если надо создать читай тут на русском: http://ru.opensuse.org/OpenSUSE_Localization_Work_with_PO_Files


П.С. А почему не с помощью Лингвиста?
po файлов нет, всё нужно создавать, то что там написано я уже понял, интересует сам процес, как в qt запихнуть подгрузку этих po файлов и т.п.


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: lit-uriy от Июль 14, 2009, 19:28
А зачем тебе в Qt эта байда?
Почему переводишь не штатными средствами Qt (QObject::tr(), lupdate, Qt Linguist, lrelease)?


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: Jkc от Июль 14, 2009, 19:51
А зачем тебе в Qt эта байда?
Почему переводишь не штатными средствами Qt (QObject::tr(), lupdate, Qt Linguist, lrelease)?
лично мне оно и не нужно, причуды заказчика :)


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: lit-uriy от Июль 14, 2009, 20:22
Причём здесь причуды заказчика?
Qt-приложения не локализуются с помощью po/mo-файлов. В Qt свой механизм.

П.С. Интересно посмотреть как ты mo-файлы будешь загружать в Qt-приложение :)


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: Rcus от Июль 14, 2009, 20:26
Честно сказать не знаю в чем профит, но он точно есть :) иначе KDE не стала бы использовать gettext (под слоем в виде kdelibs/kdecore/localization/**/*.*)


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: Jkc от Июль 22, 2009, 16:34
Так  что народ, не кто не в курсе как это сделать?


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: lit-uriy от Июль 22, 2009, 16:54
неа, и не только здесь не в курсе. Т.к. зачем людям зарабатывать себе геморой мозга.


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: Wicked_Digger от Июль 23, 2009, 14:50
Как работать с po файлами, Вы разобрались, насколько я понял.

Далее...

msg2qm перегоняет po файлы в qm бинарый формат, они грузятся как обычно,
через QTranslator::load().

msg2qm должна входить в пакет gettext.


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: uriel от Июль 23, 2009, 15:13
Начиная с 4.5, вроде, с Qt идёт родная утилитка lconvert как раз для этих целей.


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: Wicked_Digger от Июль 23, 2009, 16:25
Я так понял, что заказчик просил локализацию основаную на gettext
инструментарии.
Видимо в перспективе предполагается перевод без участия разработчика,
а тянуть в таком случае qt тулы действительно не резон.
Да и лишнее звено в процессе (конвертация) увеличивает вероятность
ошибок.
Я не пробовал конвертировать po файлы, но linguist некоторые po файлы
импортирует неверно, что-то мне подсказывает, что алгоритм у них один...


Название: Re: Интернационализация, gettext, .po файлы, qt4.5
Отправлено: Jkc от Июль 24, 2009, 16:20
Я так понял, что заказчик просил локализацию основаную на gettext
инструментарии.
Видимо в перспективе предполагается перевод без участия разработчика,
а тянуть в таком случае qt тулы действительно не резон.
Да и лишнее звено в процессе (конвертация) увеличивает вероятность
ошибок.
Я не пробовал конвертировать po файлы, но linguist некоторые po файлы
импортирует неверно, что-то мне подсказывает, что алгоритм у них один...
Да именно так всё и есть , linguist может создать, читать po файлы и сгенерить
qm , но этот qm мне не нужнет, нужно что бы превод брался из po файла