| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] lupdate и кодировки |
| Автор: babutta 28.11.2008, 17:10 |
| всем привет! работаю с коммерческой 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 из командной строки - тотже резульатат, что и из-под студии... помогите плиз... |
| Автор: babutta 1.12.2008, 08:29 |
| т.е.? =) я в общем понимаю, что, наверное, он там в шестнадцатеричном виде выдал коды всех букв слова "ошибка", вроде того 0хEE 0xF8 0xE8 и т.д. но... задача состоит в том, что бы поставить в соответствие каждой текстовой строке приложения для языка по умолчанию еще одну строку для поддерживаемого языка... когда я лингвистом (или в текстовом редакторе) открываю этот ts файл с кодами вместо кириллицы для правки, то там весь мой текст, который был на русском, "испорчен" и не читабелен... как же мне переводить этот текст на английский? может студию можно как-то заставить сохранять исходники в нужной кодировке?... я не нашел такого в настройках =( |
| Автор: babutta 1.12.2008, 09:09 |
| Проблема решилась... ответ найден здесь http://www.prog.org.ru/index.php?topic=4420.msg20227#msg20227 =) в общем добавил в ts файл <defaultcodec>CP1251</defaultcodec> и лингвист все правильно понял =) <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS><TS version="1.1"> <defaultcodec>CP1251</defaultcodec> ... ... ... </TS> |
| Автор: Brodyaga 29.4.2010, 08:48 |
| Вопрос в тему. Могу ли я использовав lupdate задать кодировку, которая будет в созданном ts файле, если натравливаю lupdate не на проект а на текстовый файл? |
| Автор: outrath 18.10.2022, 21:08 |
Модератор: Сообщение скрыто. |