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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.