Russian Qt Forum
Ноябрь 23, 2024, 19:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как сменить язык интерфейса у Qt Linguist?  (Прочитано 6231 раз)
Alexey Vict
Гость
« : Январь 31, 2012, 21:32 »

положи файл перевода возле linguist.exe. винда русская у тебя?

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

Просто, помню когда ещё XP`ишка стояла, у меня linguist был на русском...
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Февраль 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); // <---------
   }
 
« Последнее редактирование: Февраль 01, 2012, 17:44 от lit-uriy » Записан

Юра.
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Февраль 01, 2012, 18:24 »

специально заглядывал в исходники лингвиста посмотреть как он грузит перевод и не дочитал пару строчек Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Alexey Vict
Гость
« Ответ #3 : Февраль 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); // <---------
   }
 

Подскажите а в каком это файле такие строчки искать?
Записан
Alexey Vict
Гость
« Ответ #4 : Февраль 02, 2012, 19:08 »

нашёл.... в main.cpp
Записан
Alexey Vict
Гость
« Ответ #5 : Февраль 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 или сюда ссылки.
« Последнее редактирование: Февраль 02, 2012, 20:05 от Alexey Vict » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #6 : Февраль 02, 2012, 21:24 »

а не проще было подложить qt_ru.qm? Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Alexey Vict
Гость
« Ответ #7 : Февраль 02, 2012, 22:10 »

а не проще было подложить qt_ru.qm? Улыбающийся
В том то и дело =)
Подкладываю и всё равно изменений никаких... я уже как только не пробовал...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.222 секунд. Запросов: 23.