crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> интернационализация
jim1406
  опции профиля:
сообщение 4.9.2009, 8:40
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 17.3.2009
Пользователь №: 618

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени!
Может я просто найти не могу нужный пост в форуме, конечно... Проблема следующая...
Программа написана с русским интерфейсом. Нужно сделать интернационализацию приложения.
Дорисовываю в .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 файлах который) - остался русский. Что не так?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 4.9.2009, 8:49
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


перевод сообщений Qt
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
jim1406
  опции профиля:
сообщение 4.9.2009, 11:25
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 17.3.2009
Пользователь №: 618

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(kwisp @ 4.9.2009, 12:49) *

Может я чего-то не понимаю, но у меня нормально все русифицировано... Мне нужно сделать интернационализацию моего РУССКОГО приложения. Сделать его англицким, например. Как этого добиться для русского текста на виджетах, если разработка оконного интерфейса велась в дизайнере Qt Creater-а. Строки выдергиваются Лингвистом. Я их перевожу. Компилю полученный ts файл. Но для МОИХ текстов на виждетах не применяется. Применяется только если я креатил виджет "ручками" в сорцах...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.9.2009, 12:02
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


jim1406, а версия Qt какая?
Была такая проблема с 4.5.0 (именно когда исходный такст ui-файлов содержал символы не Latin1)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
jim1406
  опции профиля:
сообщение 5.9.2009, 4:02
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 17.3.2009
Пользователь №: 618

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 4.9.2009, 16:02) *
jim1406, а версия Qt какая?
Была такая проблема с 4.5.0 (именно когда исходный такст ui-файлов содержал символы не Latin1)


Уже инересней... Да, 4.5... Какой выход? Перелопатить ui?

Сообщение отредактировал jim1406 - 5.9.2009, 4:03
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.9.2009, 12:25
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(jim1406 @ 5.9.2009, 8:02) *
Уже инересней... Да, 4.5... Какой выход? Перелопатить ui?
обновить до 4.5.2 там исправлено. Либо писать всё по аглицки, а потом перевести на русский.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
jim1406
  опции профиля:
сообщение 6.9.2009, 14:52
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 17.3.2009
Пользователь №: 618

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(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
  опции профиля:
сообщение 6.9.2009, 15:26
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Мысли вслух:
я всегда пользую UTF-8 для исходников. Но я не думаю, что это могло повлиять, т.к. в UI-файлах, вместо кирилицы помещаются коды символов.

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

Прикрепленный файл  test_tr.zip ( 8.01 килобайт ) Кол-во скачиваний: 113
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 7.9.2009, 20:31
Сообщение #9


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Привет всем.
Так же волнует вопрос интернационализации приложения.
Конкретно, переменная qmake TRANSLATIONS.
Я предполагал, что добавив эту переменную в файл проекта, lupdate будет запускаться автоматически, и я буду всегда иметь актуальный ts файл. В реальности же ts-ка не создаётся и не обновляется, если уже была создана до этого ручками.
Видимо я просто не разобрался, для чего собственно нужна переменная TRANSLATIONS???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.9.2009, 22:15
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(igor_bogomolov @ 8.9.2009, 0:31) *
lupdate будет запускаться автоматически
его надо руками запускать и указывать файл проекта.

Цитата(igor_bogomolov @ 8.9.2009, 0:31) *
для чего собственно нужна переменная TRANSLATIONS???
lupdate при чтении pro-файла, по списку в ней генерирует/обновляет ts-файлы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 7.6.2020, 9:54