Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: 0x0001 от Май 04, 2011, 19:32



Название: переводы с 'tr' , помогите ничего не понимаю...
Отправлено: 0x0001 от Май 04, 2011, 19:32
добрый вечер!
как это работает, в смысле переводы с 'tr' ???
все делал как написано : lupdate , затем Qt Linquist -> *.qm file.

Код:
QString str = tr("HELLO"); // ПЕРЕВОДИТ OK, т.е. видно 'ПРИВЕТ'

#define text = "HELLO"
QString str = tr(text); // НЕ ПЕРЕВОДИТ!!!

Также, не переводит если игициализация переменной QString по 'tr' в другом файле!!
Неужели нельзя заранее объявить слова или массивы ???


Название: Re: переводы с 'tr' , помогите ничего не понимаю...
Отправлено: twp от Май 04, 2011, 20:01
Просто lupdate не резолвит переменные и макросы С++, он только ищет tr() и другие функции, такие как QT_TR_NOOP() или QT_TRANSLATE_NOOP(). Может эти функции как раз то что нужно.
http://doc.trolltech.com/latest/internationalization.html#use-tr-for-all-literal-text (http://doc.trolltech.com/latest/internationalization.html#use-tr-for-all-literal-text)


Название: Re: переводы с 'tr' , помогите ничего не понимаю...
Отправлено: lesav от Май 04, 2011, 20:43
http://va-sorokin.blogspot.com/2011/01/work-with-languages-in-qt.html


Название: Re: переводы с 'tr' , помогите ничего не понимаю...
Отправлено: 0x0001 от Май 04, 2011, 21:29
Просто lupdate не резолвит переменные и макросы С++, он только ищет tr() и другие функции, такие как QT_TR_NOOP() или QT_TRANSLATE_NOOP(). Может эти функции как раз то что нужно.
http://doc.trolltech.com/latest/internationalization.html#use-tr-for-all-literal-text (http://doc.trolltech.com/latest/internationalization.html#use-tr-for-all-literal-text)
Спсибо, всё ясно.... извиниюсь что я сразу не включил Мозг :)))