Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: интернационализация
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
jim1406
Доброго времени!
Может я просто найти не могу нужный пост в форуме, конечно... Проблема следующая...
Программа написана с русским интерфейсом. Нужно сделать интернационализацию приложения.
Дорисовываю в .pro
TRANSLATIONS = proga_uk.ts
CODECFORTR = Windows-1251

генерю proga_uk.ts
правлю linguist-ом и помечаю все строки как завершенные (независимо перевел их или нет)
генерю proga_uk.qm и кидаю его в дебаг
в main рисую
int main(int argc, char *argv[])
{
    QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
    QTextCodec::setCodecForTr(codec);

    QxtApplication a(argc, argv);

    QTranslator progaTranslator;
    bool bb = progaTranslator.load("proga_uk", a.applicationDirPath());
    a.installTranslator(&progaTranslator);

    DialogConfig dialogConfig;
    dialogConfig.show();

    return a.exec();
}

Тексты, писанные мной в коде, вроде бы перевел, а интерфейс разработанный с помощью дизайнера (в ui файлах который) - остался русский. Что не так?
jim1406
Цитата(kwisp @ 4.9.2009, 12:49) *

Может я чего-то не понимаю, но у меня нормально все русифицировано... Мне нужно сделать интернационализацию моего РУССКОГО приложения. Сделать его англицким, например. Как этого добиться для русского текста на виджетах, если разработка оконного интерфейса велась в дизайнере Qt Creater-а. Строки выдергиваются Лингвистом. Я их перевожу. Компилю полученный ts файл. Но для МОИХ текстов на виждетах не применяется. Применяется только если я креатил виджет "ручками" в сорцах...
Litkevich Yuriy
jim1406, а версия Qt какая?
Была такая проблема с 4.5.0 (именно когда исходный такст ui-файлов содержал символы не Latin1)
jim1406
Цитата(Litkevich Yuriy @ 4.9.2009, 16:02) *
jim1406, а версия Qt какая?
Была такая проблема с 4.5.0 (именно когда исходный такст ui-файлов содержал символы не Latin1)


Уже инересней... Да, 4.5... Какой выход? Перелопатить ui?
Litkevich Yuriy
Цитата(jim1406 @ 5.9.2009, 8:02) *
Уже инересней... Да, 4.5... Какой выход? Перелопатить ui?
обновить до 4.5.2 там исправлено. Либо писать всё по аглицки, а потом перевести на русский.
jim1406
Цитата(Litkevich Yuriy @ 5.9.2009, 16:25) *
Цитата(jim1406 @ 5.9.2009, 8:02) *
Уже инересней... Да, 4.5... Какой выход? Перелопатить ui?
обновить до 4.5.2 там исправлено. Либо писать всё по аглицки, а потом перевести на русский.


Обновил... Не помогло... Может в свойствах виджета еще что-то нужно поменять??? У меня locale по умолчанию Russian, RussianFederation. А у текстовых полей выставлено translatable.
Litkevich Yuriy
Мысли вслух:
я всегда пользую UTF-8 для исходников. Но я не думаю, что это могло повлиять, т.к. в UI-файлах, вместо кирилицы помещаются коды символов.

Могу лишь дать тебе тестовый проект, который я отправлял тролям, чтобы подтвердить существование ошибки.
посмотри как он у тебя работает.
Там две поясняющие картинки.
Суть:
три текста на трёх разных языках, переводятся на английский фиктивно, только для проверки, что перевод подхватился.

Нажмите для просмотра прикрепленного файла
igor_bogomolov
Привет всем.
Так же волнует вопрос интернационализации приложения.
Конкретно, переменная qmake TRANSLATIONS.
Я предполагал, что добавив эту переменную в файл проекта, lupdate будет запускаться автоматически, и я буду всегда иметь актуальный ts файл. В реальности же ts-ка не создаётся и не обновляется, если уже была создана до этого ручками.
Видимо я просто не разобрался, для чего собственно нужна переменная TRANSLATIONS???
Litkevich Yuriy
Цитата(igor_bogomolov @ 8.9.2009, 0:31) *
lupdate будет запускаться автоматически
его надо руками запускать и указывать файл проекта.

Цитата(igor_bogomolov @ 8.9.2009, 0:31) *
для чего собственно нужна переменная TRANSLATIONS???
lupdate при чтении pro-файла, по списку в ней генерирует/обновляет ts-файлы.
jim1406
Цитата
Мысли вслух:
я всегда пользую UTF-8 для исходников. Но я не думаю, что это могло повлиять, т.к. в UI-файлах, вместо кирилицы помещаются коды символов.

Могу лишь дать тебе тестовый проект, который я отправлял тролям, чтобы подтвердить существование ошибки.
посмотри как он у тебя работает.
Там две поясняющие картинки.
Суть:
три текста на трёх разных языках, переводятся на английский фиктивно, только для проверки, что перевод подхватился.

Прикрепленный файл test_tr.zip ( 8,01 килобайт ) Кол-во скачиваний: 5


Помоему проблема была в настройках моего ts файла...
Спасибо за пример!..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.