Bug 26795

Summary: Большинство сообщений выводится на английском
Product: Sisyphus Reporter: Denis Kirienko <dk>
Component: pictomirAssignee: enp <enp>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: cas, enp
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Скриншот с английскими сообщениями none

Description Denis Kirienko 2012-01-09 21:29:16 MSK
Многие сообщения выводятся по-английски. На самом деле пиктомир полностью русифицирован, но почему-то в нашей сборке выдаются английские сообщения.
Comment 1 Denis Kirienko 2012-01-09 21:29:54 MSK
Created attachment 5284 [details]
Скриншот с английскими сообщениями
Comment 2 enp 2012-01-10 08:38:46 MSK
(В ответ на комментарий №0)
> Многие сообщения выводятся по-английски. На самом деле пиктомир полностью
> русифицирован, но почему-то в нашей сборке выдаются английские сообщения.

Боюсь, что на это меня уже может не хватить. 

Как вообще организована локализация в qt? Локализованные сообщения из *.ts должны быть вкомпилированы в бинарник или могут быть подгружены отдельно?
Comment 3 Andrey Cherepanov 2012-01-10 13:12:42 MSK
(В ответ на комментарий №2)
> Как вообще организована локализация в qt? Локализованные сообщения из *.ts
> должны быть вкомпилированы в бинарник или могут быть подгружены отдельно?
Они подгружаются из отдельного файла (скомпиленного из .ts в .qm)
таким кодом:

    // Load localization
    QTranslator translator;
    QString locale = QLocale::system().name();
    translator.load( QString( DATADIR ) + QString( APPNAME ) + QString ( "_" ) + locale );
    app.installTranslator( &translator );

Чтобы файлы сами компилировались, в .pro надо написать:

TRANSLATIONS = rpminstall_ru.ts

А раскладывать их уже ручками (в спеке) или custom target в .pro

Смотрите: http://git.altlinux.org/people/cas/packages/rpminstall.git

Давайте вместе посмотрим.
Comment 4 enp 2012-01-10 13:56:20 MSK
> Чтобы файлы сами компилировались, в .pro надо написать:
> 
> TRANSLATIONS = rpminstall_ru.ts

Нечто подобное и написано в http://git.altlinux.org/people/enp/packages/pictomir.git?p=pictomir.git;a=blob;f=pictomir/src/src.pro;h=e9eab7122de8952087e6456ee6a14c3c2fdf85ec;hb=17d765470c4ef190ba7722907797f59df99869ac - но этого, видимо, недостаточно

> А раскладывать их уже ручками (в спеке) или custom target в .pro

А куда раскладывать?
Comment 5 Andrey Cherepanov 2012-01-10 14:14:53 MSK
(В ответ на комментарий №4)
> > Чтобы файлы сами компилировались, в .pro надо написать:
> > 
> > TRANSLATIONS = rpminstall_ru.ts
> 
> Нечто подобное и написано в
> http://git.altlinux.org/people/enp/packages/pictomir.git?p=pictomir.git;a=blob;f=pictomir/src/src.pro;h=e9eab7122de8952087e6456ee6a14c3c2fdf85ec;hb=17d765470c4ef190ba7722907797f59df99869ac
> - но этого, видимо, недостаточно
> 
> > А раскладывать их уже ручками (в спеке) или custom target в .pro
> 
> А куда раскладывать?
Обычно в %_datadir/%name/
Или в сам каталог или в подкаталог translations. Очевидно, что translatorsPath в main.cpp этих файлов не содержит. Они тупо не копируются, остаются с исходниками.
Comment 6 enp 2012-01-10 14:17:14 MSK
> > А куда раскладывать?
> Обычно в %_datadir/%name/
> Или в сам каталог или в подкаталог translations. Очевидно, что translatorsPath
> в main.cpp этих файлов не содержит. Они тупо не копируются, остаются с

Не похоже, файлов *.qm по итогам сборки в ~/RPM/BUILD не наблюдается
Comment 7 Andrey Cherepanov 2012-01-10 14:21:35 MSK
(В ответ на комментарий №6)
> Не похоже, файлов *.qm по итогам сборки в ~/RPM/BUILD не наблюдается
Хм. У меня для гарантированной сборки *.qm в спеке 

 lrelease-qt4 %name.pro

может, также сделать?
Comment 8 enp 2012-01-10 16:45:36 MSK
(В ответ на комментарий №7)
> (В ответ на комментарий №6)
> > Не похоже, файлов *.qm по итогам сборки в ~/RPM/BUILD не наблюдается
> Хм. У меня для гарантированной сборки *.qm в спеке 
> 
>  lrelease-qt4 %name.pro
> 
> может, также сделать?

Да, спасибо
Comment 9 enp 2012-01-10 19:36:44 MSK
Отправил новую сборку с русским переводом в Сизиф