Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: Vilgeforce от Январь 05, 2005, 22:38



Название: Проблема с русским языком
Отправлено: Vilgeforce от Январь 05, 2005, 22:38
Да, она самая.

Короче:
Код:

class MainWindow: public QMainWindow{
Q_OBJECT
//..................
//.................
};   //Короче, производный от QMainWindow класс.

А теперь:
Код:

MainWindow::MainWindow(.......){
    QMessageBox::information(this,tr("Тест"), tr("Информация"));
}

Ага, фигушки там, а не текст! Мракозябры одни! Проверялось и с Qt 3.3.1 под винду и с Qt 3.1 под Linux.

Но! Если вместо tr(...) юзать нечто типа
Код:

QString r(const char* source){
return QString::fromLocal8Bit(source);
}

То все работает как надо.

Дамы и господа! Что делать-то? Юзать свою функцию? Или можно как-то настроить все это и обходиться tr(....)?


Название: Проблема с русским языком
Отправлено: Admin от Январь 05, 2005, 22:44
значится так

писать tr("Тест") не рекомендуется

tr применяется для следующего случая

вы пишите tr("Test")
далее с помощью  программок lupdate lrelease linguist делаете
файлик с переводами и подключаете к своей программе

так работает механизл локализации иностранных программ

если не хотите заморачиватся пишите просто

QString("Тест").fromLocal8Bit()

но тогда забудте об английской версии вашей программы


Название: Проблема с русским языком
Отправлено: Vilgeforce от Январь 06, 2005, 00:01
Цитата: "Admin"

tr применяется для следующего случая

вы пишите tr("Test")
далее с помощью  программок lupdate lrelease linguist делаете
файлик с переводами и подключаете к своей программе


Да, именно для этого я tr и юзал.
А в варианте с fromLocal8Bit() есть возможность использовать Linguist (или что-то вроде) чтобы извлечь все строки для локализации на другие языки?


Название: Проблема с русским языком
Отправлено: Admin от Январь 06, 2005, 01:10
этого делать не надо

изначально все пишется на английском
потом переводиьтся на нужный язык

local8bit сделано например что бы русский коректно выводился в консольном приложении


Название: Re: Проблема с русским языком
Отправлено: Zmey от Январь 06, 2005, 09:22
Цитата: "Vilgeforce"

Ага, фигушки там, а не текст! Мракозябры одни! Проверялось и с Qt 3.3.1 под винду и с Qt 3.1 под Linux.

А ты сделал QTextCodec::setCodecForTr( QTextCodec::codecForName("utf8") ); ?