Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Alexey Vict от Январь 31, 2012, 21:32



Название: Как сменить язык интерфейса у Qt Linguist?
Отправлено: Alexey Vict от Январь 31, 2012, 21:32
положи файл перевода возле linguist.exe. винда русская у тебя?

Да, винда русская. Win 7, но пиратка...
Винда может как то на это влиять, что не происходит смена локали?
В папку с linguist`ом ставил уже файл с переводом - ничего не происходит...

Просто, помню когда ещё XP`ишка стояла, у меня linguist был на русском...


Название: Re: Как сменить язык интерфейса у Qt Linguist?
Отправлено: lit-uriy от Февраль 01, 2012, 17:42
К Лингвисту подкладывать ничего не надо. Всё должно лежать в штатных местах %QTDIR%/translations
Там должны быть доступны qm-файлы целевого языка
И для Лингвиста И для Qt.
(так уж сделали разработчики для этой программы, если qt_xx.qm отсутсвует, то наличие перевода для Лингвиста даже не проверяется)

Код
C++ (Qt)
   QTranslator translator;
   QTranslator qtTranslator;
   QString sysLocale = QLocale::system().name();
   if (translator.load(QLatin1String("linguist_") + sysLocale, resourceDir)) {
       app.installTranslator(&translator);
       if (qtTranslator.load(QLatin1String("qt_") + sysLocale, resourceDir))
           app.installTranslator(&qtTranslator);
       else
           app.removeTranslator(&translator); // <---------
   }
 


Название: Re: Как сменить язык интерфейса у Qt Linguist?
Отправлено: kambala от Февраль 01, 2012, 18:24
специально заглядывал в исходники лингвиста посмотреть как он грузит перевод и не дочитал пару строчек :)


Название: Re: Как сменить язык интерфейса у Qt Linguist?
Отправлено: Alexey Vict от Февраль 02, 2012, 18:53
К Лингвисту подкладывать ничего не надо. Всё должно лежать в штатных местах %QTDIR%/translations
Там должны быть доступны qm-файлы целевого языка
И для Лингвиста И для Qt.
(так уж сделали разработчики для этой программы, если qt_xx.qm отсутсвует, то наличие перевода для Лингвиста даже не проверяется)

Код
C++ (Qt)
   QTranslator translator;
   QTranslator qtTranslator;
   QString sysLocale = QLocale::system().name();
   if (translator.load(QLatin1String("linguist_") + sysLocale, resourceDir)) {
       app.installTranslator(&translator);
       if (qtTranslator.load(QLatin1String("qt_") + sysLocale, resourceDir))
           app.installTranslator(&qtTranslator);
       else
           app.removeTranslator(&translator); // <---------
   }
 

Подскажите а в каком это файле такие строчки искать?


Название: Re: Как сменить язык интерфейса у Qt Linguist?
Отправлено: Alexey Vict от Февраль 02, 2012, 19:08
нашёл.... в main.cpp


Название: Re: Как сменить язык интерфейса у Qt Linguist?
Отправлено: Alexey Vict от Февраль 02, 2012, 19:38
Короче со всем разобрался заменил код:
Код
C++ (Qt)
QTranslator translator;
   QTranslator qtTranslator;
   QString sysLocale = QLocale::system().name();
   if (translator.load(QLatin1String("linguist_") + sysLocale, resourceDir)) {
       app.installTranslator(&translator);
       if (qtTranslator.load(QLatin1String("qt_") + sysLocale, resourceDir))
           app.installTranslator(&qtTranslator);
       else
           app.removeTranslator(&translator); // <---------
   }

на:
  
Код
C++ (Qt)
QTranslator translator;
   translator.load(QLatin1String("translations/linguist_ru.qm"));
   app.installTranslator(&translator);
теперь с папки translations, которая должна находится рядом с исполняемым файлом и в котором должен быть файл перевода программы, подгружается русский язык... Сделал так потому что на русский у меня эта прога не переводится.
Но только получится, что программа будет поддерживать только русский и английский язык...
Если нет в папке translations файлика linguist_ru.qm - значит интерфейс будет английским, если есть, то наоборот =)
У меня файлы:
> libgcc_s_dw2-1.dll
> mingwm10.dll
> QtCore4.dll
> QtGui4.dll
> QtXml4.dll
Старого образца от Qt 4.7.0... Скиньте пожалуйста с пакета Qt 4.8.0 эти файлы, мне на itsnxt@gmail.com или сюда ссылки.


Название: Re: Как сменить язык интерфейса у Qt Linguist?
Отправлено: kambala от Февраль 02, 2012, 21:24
а не проще было подложить qt_ru.qm? :)


Название: Re: Как сменить язык интерфейса у Qt Linguist?
Отправлено: Alexey Vict от Февраль 02, 2012, 22:10
а не проще было подложить qt_ru.qm? :)
В том то и дело =)
Подкладываю и всё равно изменений никаких... я уже как только не пробовал...