Название: QTranslator проблема с файлом .qm
Отправлено: iks от Февраль 17, 2011, 07:28
Есть такой файл, конечно обрезан тут, но суть не в этом <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> <TS version="2.0" language="en" sourcelanguage="ru_RU"> <context> <name>MainWindow</name> <message> <source>Файл</source> <translation>File</translation> </message> <message> <source>Выбрать проект</source> <translation>Draft pick</translation> </message> <message> <source>Выход</source> <translation>Exit</translation> </message> <message> <source>Открыть</source> <translation>Open</translation> </message> <message> <source>Сайт программы</source> <translation>Program website</translation> </message> <message> <source>Справка Debian</source> <translation>Help Debian</translation> </message> </context> </TS>
при компилировании Весь русский в файле .qm идет вопросами, уже голову сломал, что можно натворить с кодировкой. Сборку провожу на Linux
Название: Re: QTranslator проблема с файлом .qm
Отправлено: Пантер от Февраль 17, 2011, 08:40
Ты немного не так понимаешь принцип перевода: интерфейс пишешь на английском и переводишь его на русский, а не наоборот.
Название: Re: QTranslator проблема с файлом .qm
Отправлено: iks от Февраль 17, 2011, 09:14
Это кому как, а у меня по умолчанию прога на русском написана, мне и надо обратный перевод на английский. Блин это что выходит одностороние движение, попробовал в обратку нормально компилирование прошло, теперь не переводит, уже и на класс чисто писал <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> <TS version="2.0" language="ru_RU"> <context> <name>MainWindow</name> <message> <source>File</source> <translation>Файл</translation> </message> <message> <source>Draft pick</source> <translation>Выбрать проект</translation> </message> <message> <source>Exit</source> <translation>Выход</translation> </message> <message> <source>Open</source> <translation>Открыть</translation> </message> <message> <source>Program website</source> <translation>Сайт программы</translation> </message> <message> <source>Help Debian</source> <translation>Справка Debian</translation> </message> </context> </TS> и менял на походу вот тут как-то не подгружает его int main(int argc, char *argv[]) { QApplication a(argc, argv);
QTranslator translator; translator.load(QDir::homePath() + "/program/fstcadp_ru.qm"); a.installTranslator(&translator);
MainWindow *window = new MainWindow(); window->show(); return a.exec(); } Хотя если ставлю эту строку translator.load("/usr/share/qt4/translations/qt_ru.qm"); все нормально срабатывает
Название: Re: QTranslator проблема с файлом .qm
Отправлено: Mikhail от Февраль 17, 2011, 09:59
В таком случае все твои пользователи должны быть телепатами или знать язык вопросов. Какой вопрос такой и ответ. Воообще то Вы можете написать свой фреймворк.
Название: Re: QTranslator проблема с файлом .qm
Отправлено: iks от Февраль 17, 2011, 10:26
Да вот уже думаю об этом, загонять текст из XML по запросу и все, хотя нет, все работает, но приходится весь текст гнат через QObject::tr() QPushButton *quitButton = new QPushButton(QObject::tr("Exit")); и сам .ts файл направил на него-же <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> <TS version="2.0" language="ru_RU"> <context> <name>QObject</name> <message> <source>File</source> <translation>Файл</translation> </message> <message> <source>Draft pick</source> <translation>Выбрать проект</translation> </message> <message> <source>Open</source> <translation>Открыть</translation> </message> <message> <source>Program website</source> <translation>Сайт программы</translation> </message> <message> <source>Help Debian</source> <translation>Справка Debian</translation> </message> <message> <source>Remove from list</source> <translation>Удалить из списка</translation> </message> <message> <source>Continue</source> <translation>Продолжить</translation> </message> <message> <source>Exit</source> <translation>Выйти</translation> </message> </context> </TS>
Название: Re: QTranslator проблема с файлом .qm
Отправлено: vaychick от Август 18, 2011, 15:16
при компилировании Весь русский в файле .qm идет вопросами Была схожая проблема, нашел решение вот по этим двум ссылкам http://www.linux.org.ru/forum/development/5687490 (http://www.linux.org.ru/forum/development/5687490) и http://forum.vingrad.ru/topic-238091.html (http://forum.vingrad.ru/topic-238091.html) Вкратце: CODECFORTR = utf8 CODEC = utf8 - в .ts <defaultcodec>UTF-8</defaultcodec> если таковой секции нет
- переключить кодировку редактора на utf-8 (русские символы будут крякозябрами и нужно будет пересохранить эти страницы в utf-8 (Правка->выбрать кодировку)
Название: Re: QTranslator проблема с файлом .qm
Отправлено: ритт от Август 27, 2011, 23:44
vaychick'у плюсую, пантеру минусую ) исходный язык и кодировка могут быть любыми (но utf-8 всё же преферабельна - 2012 год уж на носу, как-никак) - для того и существует ::trUtf8(). другое дело, что гемору с этим поболе...
|