Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] lupdate и кодировки, в ts файле вместо русского абра-кадабра 
:(
    Опции темы
babutta
Дата 28.11.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 18.12.2006

Репутация: нет
Всего: нет



всем привет!

работаю с коммерческой Qt 4.4.3 собранной динамически и интегрированной в VS2005, версия интегратора 1.4.3. 

Проблема:
Текст в приложении выводится через tr() на русском...
понадобилось добавить в приложение поддержку английского языка...

Полез в студии в главное меню ->Qt->Create New Translation File
далее в открывающемся списке выбрал язык English (United States), ввел имя типа english.ts
потом в Solution Explorer в появившемся узле Translation Files->english.ts в контекстном меню выбрал Run lupdate.
потом в том же контекстном меню Open with Qt Linguist.

И вижу такую картину:
в созданном ts файле мой текст на русском содержащийся в ui файле приложения отображается нормально, т.е. как кириллица,
а вот все остальное, что было через tr() написано в cpp файлах отображается как ...абра-кадабра, 
например было в исходниках слово ошибка стало в ts файле îøèáêà
я открыл ui файл текстовым редактором AkelPad, который выдал Unix 65001 UTF-8 *BOM
открыл свои cpp-шники в том же AkelPad, он показал Win 1251 (ANSI Кириллица)...
попробовал перекодировать свои исходники в UTF-8 с этим BOM и без него - ситуация не поменялась =(
запускал ручками lupdate из командной строки - тотже резульатат, что и из-под студии...

помогите плиз...

PM MAIL   Вверх
SABROG
Дата 28.11.2008, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(babutta @  28.11.2008,  17:10 Найти цитируемый пост)
например было в исходниках слово ошибка стало в ts файле îøèáêà


ts по сути обычный xml, т.ч. правильно он тебе перекодировал.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
babutta
Дата 1.12.2008, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 18.12.2006

Репутация: нет
Всего: нет



т.е.? =)

я в общем понимаю, что, наверное, он там в шестнадцатеричном виде выдал  коды всех букв слова "ошибка", вроде того 0хEE 0xF8 0xE8 и т.д.

но... 
задача состоит в том, что бы поставить в соответствие каждой текстовой строке приложения для языка по умолчанию еще одну строку для поддерживаемого языка...
когда я  лингвистом (или в текстовом редакторе) открываю этот ts файл с кодами вместо кириллицы для правки, то там весь мой текст, который был на русском, "испорчен" и не читабелен...

как же мне переводить этот текст на английский?

может студию можно как-то заставить сохранять исходники в нужной кодировке?... я не нашел такого в настройках =(

Это сообщение отредактировал(а) babutta - 1.12.2008, 09:52
PM MAIL   Вверх
babutta
Дата 1.12.2008, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 18.12.2006

Репутация: нет
Всего: нет



Проблема решилась...

ответ найден здесь http://www.prog.org.ru/index.php?topic=442...g20227#msg20227
=)

в общем добавил в ts файл <defaultcodec>CP1251</defaultcodec> и лингвист все правильно понял =)

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS><TS version="1.1">
<defaultcodec>CP1251</defaultcodec>
...
...
...
</TS>

PM MAIL   Вверх
Brodyaga
Дата 29.4.2010, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: нет
Всего: 2



Вопрос в тему. Могу ли я использовав lupdate задать кодировку, которая будет в созданном ts файле, если натравливаю lupdate не на проект а на текстовый файл?
PM MAIL   Вверх
outrath
Дата 18.10.2022, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 9.10.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.1113 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.