Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: n4ela от Январь 03, 2010, 23:41



Название: Как вшить в программу перевод.
Отправлено: n4ela от Январь 03, 2010, 23:41
Есть файл с переводом ( например project_ru.qm  и project_ru.ts ), в программу он подключается так:
Код
C++ (Qt)
QTranslator myTranslator;
   myTranslator.load("project_" + QLocale::system().name());
   a.installTranslator(&myTranslator);
 
Проблема в том что файл должен лежать в одном каталоге с программой, но скажем если этот каталог /usr/bin то это будет не совсем красиво, а городить какие то особые пути для перевод ане очень хочется.
Можно ли как то вкомпилировать перевод в программу?


Название: Re: Как вышить в программу перевод.
Отправлено: ритт от Январь 04, 2010, 00:15
qrc


Название: Re: Как вышить в программу перевод.
Отправлено: n4ela от Январь 04, 2010, 00:32
А если в qrc задать alias на файл с переводом "project_ru.qm" то в main.cpp так и писать myTranslator.load(":/project_" + QLocale::system().name()); ? И в qrc файл вписывать только qm или еще и ts?
Пробовал пару дней назад так сделать, но что то не получилось и я как то забил.


Название: Re: Как вышить в программу перевод.
Отправлено: Dendy от Январь 04, 2010, 00:52
ts для работы программы не нужен. Достаточно вписать qm и правильно подставить путь в метод QTranslator::load(). Собственно как вы написали должно работать. Возможно вы просто не прилинковали qrc-исходник к программе.


Название: Re: Как вышить в программу перевод.
Отправлено: lit-uriy от Январь 04, 2010, 01:09
надо бы слово "вЫшить" поправить в названии темы.


Название: Re: Как вшить в программу перевод.
Отправлено: n4ela от Январь 04, 2010, 16:14
Тему поправил, и проверил - все работает. Не знаю почему у меня с первого раза не получилось.