Russian Qt Forum
Ноябрь 23, 2024, 01:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с русским языком  (Прочитано 7298 раз)
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
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Январь 05, 2005, 22:44 »

значится так

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

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

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

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

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

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

но тогда забудте об английской версии вашей программы
Записан
Vilgeforce
Гость
« Ответ #2 : Январь 06, 2005, 00:01 »

Цитата: "Admin"

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

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


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

Сообщений: 1988



Просмотр профиля
« Ответ #3 : Январь 06, 2005, 01:10 »

этого делать не надо

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

local8bit сделано например что бы русский коректно выводился в консольном приложении
Записан
Zmey
Гость
« Ответ #4 : Январь 06, 2005, 09:22 »

Цитата: "Vilgeforce"

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

А ты сделал QTextCodec::setCodecForTr( QTextCodec::codecForName("utf8") ); ?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 22.