Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: hank от Апрель 08, 2011, 11:13



Название: И снова о записи кириллицы в файл
Отправлено: hank от Апрель 08, 2011, 11:13
Сразу говорю, что по форуму я полазил, но так ответа и не нашёл :)
Пытался записать русский текст в файл, долго мучился с кодеками и в конце пришёл вот к такому результату:
Код:
QFile file("file.txt");

file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);

QTextCodec *codec = QTextCodec::codecForName("cp-1251");

QTextCodec::setCodecForTr(codec);

out << tr("test тест");

Это всё работает, но мне не очень удобно оборачивать каждую строчку в tr().
Можно ли как-то обойтись без этого?
Пробововал как-то так, но ничего не выходит:
Код:
out.setCodec(QTextCodec::codecForLocale());

out << "test тест";


Название: Re: И снова о записи кириллицы в файл
Отправлено: Пантер от Апрель 08, 2011, 11:19
Охтыжблин. Ну сколько можно твердить, что не нужно использовать символы кириллицы в коде??? Сами же себе проблемы делаете.


Название: Re: И снова о записи кириллицы в файл
Отправлено: hank от Апрель 08, 2011, 12:42
А если мне нужно написать приложение, которое только и делает, что выводит кириллицу в файл?
Мне всё равно нужно будет латиницей писать, а потом её лингвистом допиливать?


Название: Re: И снова о записи кириллицы в файл
Отправлено: Пантер от Апрель 08, 2011, 12:50
....придется...допиливать...

Это нормально: пишешь на английском -> переводишь в лингвисте -> получаешь русский.

Если так не хочешь, то можешь хранить русские строки в отдельном файле, загружать его в QStringList и вытаскивать нужные строки по номеру. Но это тоже костыль.