Название: tr() и static const char * Отправлено: kirill от Сентябрь 08, 2009, 15:41 Почему не работает такая конструкция?
Код запускаю lupdate -verbose на данный код и вижу 0 новых строк для перевода. tr() игнорирует const char *. Как заставить его это понимать? С define тоже не прокатило. Название: Re: tr() и static const char * Отправлено: BRE от Сентябрь 08, 2009, 15:50 А ты почитай про Internationalization with Qt в assistent, особое внимание удели макросам QT_TR_NOOP и QT_TRANSLATE_NOOP. ;)
Название: Re: tr() и static const char * Отправлено: kirill от Сентябрь 08, 2009, 18:32 А ты почитай про Internationalization with Qt в assistent, особое внимание удели макросам QT_TR_NOOP и QT_TRANSLATE_NOOP. ;) Читал.Делал так. Код
lupdate тогда видит "My Sentence", НО tr(c_Sentence) игнорируется. Ставлю напрямую tr("My Sentence") - все работает. Что не так? Название: Re: tr() и static const char * Отправлено: BRE от Сентябрь 08, 2009, 18:37 Читал. А вот это читал? ;)Делал так. Код
lupdate тогда видит "My Sentence", НО tr(c_Sentence) игнорируется. Ставлю напрямую tr("My Sentence") - все работает. Что не так? Код
Название: Re: tr() и static const char * Отправлено: lit-uriy от Сентябрь 08, 2009, 23:27 >>НО tr(c_Sentence) игнорируется.
А оно и должно игнорироватся, см. описание функции QObject::tr(const char * sourceText, const char * disambiguation = 0, int n = -1) Т.е. переменные она не принимает Название: Re: tr() и static const char * Отправлено: kirill от Сентябрь 09, 2009, 05:29 >>НО tr(c_Sentence) игнорируется. А оно и должно игнорироватся, см. описание функции QObject::tr(const char * sourceText, const char * disambiguation = 0, int n = -1) Т.е. переменные она не принимает А где у меня переменные? static const char * передаю Название: Re: tr() и static const char * Отправлено: kirill от Сентябрь 09, 2009, 05:35 Название: Re: tr() и static const char * Отправлено: SASA от Сентябрь 09, 2009, 14:18 Код
Название: Re: tr() и static const char * Отправлено: kirill от Сентябрь 09, 2009, 14:24 QT_TR_NOOP не нужен, т.к. мы используем tr(c_Sentence). Да я просто для QT_TRANSLATE_NOOP неправильно задал context Название: Re: tr() и static const char * Отправлено: BRE от Сентябрь 09, 2009, 14:39 Код
QT_TR_NOOP не нужен, т.к. мы используем tr(c_Sentence). Название: Re: tr() и static const char * Отправлено: SASA от Сентябрь 09, 2009, 16:48 А у тебя это работает? Ты проверял или так думаешь? Пардон, пардон. Фигню сморозил. lupdate ничего нового не покажет. Иммено для таких ситуаций и нужны QT_TR_NOOP QT_TRANSLATE_NOOP. Название: Re: tr() и static const char * Отправлено: cdsmika от Октябрь 14, 2009, 01:49 Пардон, что вмешиваюсь, а как указать контекст для main?
Название: Re: tr() и static const char * Отправлено: cdsmika от Октябрь 14, 2009, 02:03 А нет способа как-нибудь поэлегантнее (не через индекс) обращаться к этой константе?
Название: Re: tr() и static const char * Отправлено: Bojo от Октябрь 17, 2009, 14:18 А мне непонятно зачем нужен параметр context в QT_TRANSLATE_NOOP ( context, sourceText ) и QT_TRANSLATE_NOOP3?
Название: Re: tr() и static const char * Отправлено: SASA от Октябрь 18, 2009, 11:57 Контекст - это произвольное имя, имя группы, куда будут сложены слова для перевода. Если вы используете tr() в классе, то имя контекста есть имя класса.
|