Russian Qt Forum
Октябрь 01, 2024, 02:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Linguist и русские комментарии  (Прочитано 8704 раз)
Mike-Aiki
Гость
« : Март 02, 2012, 15:29 »

WinXP, Qt SDK 1.2, соответственно, Creator 2.4.1, Qt libraries 4.8
Для начала почти сломал мозг, пытаясь понять, почему же не отображается русский интерфейс в Linguist, который запускал ярлыком в пусковой панели?   Подмигивающий Не особенно и надо, но должен же быть!  Улыбающийся  Оказалось, что при установке SDK в ярлыке указан путь запуска C:\QtSDK\QtCreator\bin\linguist.exe (это Linguist 4.7.4, который, естественно, не находит файлы перевода), а запускать-то надо другой Linguist, который 4.8, и лежит в QTDIR=C:\QtSDK\Desktop\Qt\4.8.0\mingw !  Вот в нём как раз русский интерфейс, который, к сожалению, программно не отключить...  Смеющийся  Ну ладно.
  Вопрос: у лингвиста в окне "Sources and forms" ("Исходники и формы") принципиально кодировка Latin1 ? Соответственно, русские комментарии выглядят "кракозябрами"... Пробовал исходники и CP1251, и UTF-8...  С UTF-8 даже BOM-символы видны - позор... Мелочь, а неприятно...
Записан
Bepec
Гость
« Ответ #1 : Март 02, 2012, 15:38 »

http://www.prog.org.ru/topic_20210_0.html
Записан
Mike-Aiki
Гость
« Ответ #2 : Март 02, 2012, 16:05 »

Я это читал. Но при чём тут lrelease ? У меня с переводом проблем нет. Я про отображение исходников в лингвисте...
Записан
Bepec
Гость
« Ответ #3 : Март 02, 2012, 19:32 »

Ты невнимательно читал

Цитировать
1) Lingvist отказывается понимать windows-1251.(исправили указанием в pro файле точной кодировки)
Записан
Mike-Aiki
Гость
« Ответ #4 : Март 03, 2012, 00:18 »

Ты невнимательно читал

Цитировать
1) Lingvist отказывается понимать windows-1251.(исправили указанием в pro файле точной кодировки)

Да пробовал я в pro-файле прописывать CODECFORTR = CP1251, CODECFORSRC = CP1251... Соответственно, в ts-файле прописывалось
<defaultcodec>windows-1251</defaultcodec> ...
Но при этом русские комментарии оставались кракозябрами. Веселый

Записан
Bepec
Гость
« Ответ #5 : Март 03, 2012, 10:59 »

CODECFORTR = Windows-1251

немного мой мудрости (писано для меня, мной любимым Подмигивающий )
Код:
Для перевода в лингвисте, необходимо в интеграции выбрать пункт меню Qt - create Basic pro file.

Создасться файл "название_вашего_проекта.pro"

//Необходимо добавить в него эти строки
//-
CODECFORTR      = Windows-1251
TRANSLATIONS    = language_eng.ts
//-
// текущую кодировку и название файла перевода

/*
#define если у вас ручная сборка и нет интеграции Qt

После чего выполнить в каталоге с данным файлом команду qmake.

"с:\ваша папка\папка вашего проекта\qmake"

Сгенерируются доп файлы.
*/

Далее выполняем команду lupdate (L U P D A T E)

"с:\ваша папка\папка вашего проекта\lupdate названиевашегопроекта.pro"

будет сгенерирован файл с расширением  - "language_eng.ts"

Этот файл откройте в самом лингвисте. Далее выбирайте предложенные строки и вводите перевод.


После перевода вызываем утилиту lrelease language_eng.ts
/*

После полного перевода(или неполного) сохраните изменения и выберите пункт меня File -> Relise.

*/

Будет создан файл language_eng.qm - который можно уже подключить к программе.

Для подключения и смены языков потребуется элемент QTranslate.

Об его использовании смотрите файл

d:\//-//-//-\QTranslator\перевод
Записан
ekochetova1988
Гость
« Ответ #6 : Июль 24, 2012, 09:06 »

У меня такая проблема. Необходимо подготовить файл для переводчика. Исходники Qt? средство разработки VS 2010+VSAddin последняя версия. В настройках Qt для проекта стоит как надо  -codecfortr Windows-1251. Выполняю lupdate, но получаются коракозябры. Тест экспортируется - QApplication::translate("CXDlgSetting","Выбор временной папки для хранения файлов",0, QApplication::UnicodeUTF8). Если перевести файл в кодировку Utf-8 без BOM то  получается вполне читаемый файл после обработки lupdate, НО большие буквы в частности "И" показываться отказывается. Большая буква "В" отображается нормально.
При дальнейший компиляции файла(с плохой И) lrelease, нормально собирает файл но при переводе(подключаем qm файл) он на слово с большой буквой И перевода на выдает, а все остально нормально переводится. Подскажите где косяк?

 
Записан
Bepec
Гость
« Ответ #7 : Июль 24, 2012, 09:25 »

Приведите версию Qt, используемой у вас.

И почитайте мою темку, ссылка на неё во втором комментарии.
Записан
ekochetova1988
Гость
« Ответ #8 : Июль 24, 2012, 09:27 »

Приведите версию Qt, используемой у вас.

И почитайте мою темку, ссылка на неё во втором комментарии.
Qt 4.8.2
Записан
Bepec
Гость
« Ответ #9 : Июль 24, 2012, 09:31 »

4.8.2 стоит дома, но не пробовал там перевода. Не могли бы вы скинуть тестовый проектик с 2-3 непереводимыми у вас строками?
PS Тогда я что-нибудь да скажу Веселый

PPS

Мнение Пантера:
"Использовать русский в программе - зло. Использовать русский в программе и переводить на другие языки -ещё большее зло. Используй English."
Записан
ekochetova1988
Гость
« Ответ #10 : Июль 24, 2012, 09:49 »

проект для тестирования
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #11 : Июль 24, 2012, 14:08 »

В настройках Qt для проекта стоит как надо  -codecfortr Windows-1251. Выполняю lupdate, но получаются коракозябры. Тест экспортируется - QApplication::translate("CXDlgSetting","Выбор временной папки для хранения файлов",0, QApplication::UnicodeUTF8).
как-то подозрительно это.

P.S.
Цитата: Matt Gallagher
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
« Ответ #12 : Июль 24, 2012, 14:19 »

Очень странно. Зачем вы указываете windows-1251, когда у вас исходники в юникоде? Оо
И используйте tr("") Он проще и удобнее в использовании.
Записан
ekochetova1988
Гость
« Ответ #13 : Июль 24, 2012, 16:29 »

Очень странно. Зачем вы указываете windows-1251, когда у вас исходники в юникоде? Оо
И используйте tr("") Он проще и удобнее в использовании.
это осталось от старой версии, там исходники были в 1251.
короче решили сделать так весь русский текст в коде сделать английским а перевод навесить фалом
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #14 : Июль 24, 2012, 16:50 »

ИМХО так надо делать сразу
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.087 секунд. Запросов: 22.