LINUX.ORG.RU

Кодировки в KDEVELOP 3


0

0

Mandrake 10 (2.6.7) KDEVELOP3 Системная кодировка - utf 8 . Компилятор ее нафиг не хочет воспринимать и в приложениях получаются одни закорючки. Я конечно могу писать по-английски или в транслите, но не очень то хочется. Самое интересное - в QT3, где я делаю формы с кодировкой всё в порядке.

странно. а, исходники то в utf8?

Sveta_F
()

Есть такая жопа, правда у меня ядро 2.6.3, свежая установка. Если париться со случаями типа

static char str[]="Некая строка не по-аглицки";
или
QString str="Некая строка не по-аглицки";

то как раз и получаются закорючки, какими бы средствами ни пользовались В чем здесь косяк, я еще не нашел, но исправить тоже хочется.

[Ay49]Mihas

anonymous
()

Где-нить создай глобальный кодек:

#include <qtextcodec.h>

QTextCodec *codec = QTextCodec::codecForName( "UTF8" );

и затем все свои русские строки прогоняй через него, например:

QLabel * label = new QLabel(codec->toUnicode("Текст на русском языке"), this);

Но вообще-то так писать - дурной тон. Сами девелоперы из KDE
рекомендуют писать все текстовые сообщения на английском языке,
пропуская их через метод i18n, например:

QLabel * label = new QLabel(i18n("Текст на русском языке"), this);

А затем весь перевод выполнять через KBabel (это файлы .po). Таким
образом можно локализовать (или локализировать? ) программу под любой
язык не вторгаясь в исходные тексты программы.

anonymous
()
Ответ на: комментарий от anonymous

Прошу прощения, бездумно выполнил copy & paste
Строчку:
QLabel * label = new QLabel(i18n("Текст на русском языке"), this);
следует писать как
QLabel * label = new QLabel(i18n("Text in Russian language"), this);

anonymous
()
Ответ на: комментарий от Vinill

Блин, лоханулся! Прошу пардону!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.