Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: Bepec от Декабрь 01, 2011, 14:18



Название: [РЕШЕНО] Русские строки в исходниках. Windows-1251
Отправлено: Bepec от Декабрь 01, 2011, 14:18
Система: Windows 7
Qt: 4.7.2
IDE: MS Visual Studio 2008

Приветствую многоуважаемую публику.

Неожиданно, уже после разработки/тестирования/отладки программы возникла проблема.

А именно - необходимо, чтобы основным языком интерфейса программы был Русский.

И тут начинаются кочки:

1) Lingvist отказывается понимать windows-1251.(исправили указанием в pro файле точной кодировки)
2) После перевода строк и генерации qm перевод русских строк, находящихся в тексте программы не производится.
3) lrelease выдает данную ошибку
Код:
D:\Project\noWorks\tstLangua\tstLangua>lrelease en.ts
No QTextCodec for windows-1251 available. Using Latin1.
Updating 'en.qm'...
    Generated 3 translation(s) (0 finished and 3 unfinished)
    Ignored 5 untranslated source text(s)

В результате перевод не осуществляется.

Прошу помощи и советов по решению данной проблемы.

Рассматриваемые варианты:
1) Использовать в программе идентификаторы строк на английском языке, в дальнейшем(в Lingvist'e) переводить на русский/английский. ("id1" = "file")
2) переводить все проекты в UTF-8 (полазив по форуму, понял что у него таких проблем нет)
3) Неизвестный мне вариант решения моей проблемы.

PS Почему QTextCodec не находится для windows 1251??


Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: Пантер от Декабрь 01, 2011, 14:31
Догадайся, какой вариант я предлагаю. ;)


Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: LisandreL от Декабрь 01, 2011, 14:40
Попробуйте указать CP1251.


Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: Bepec от Декабрь 02, 2011, 07:07
Пантер, ты предлагаешь Английский в исходниках и перевод на русский.

Я с тобой на все 100% согласен, в моих программах так и работает, НО... Начальство, отдел маркетинга, менеджеры против :)

Потому ты мог бы предложить вариант с кодовыми идентификаторами, но тут уже прошу твоего совета :)

to Lisander:
Разницы никакой, при работе lupdate CP1251 заменяется на windows-1251, если установить вручную, то ошибка меняется на:
"No QTextCodec for CP1251 available. Using Latin1."



Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: Пантер от Декабрь 02, 2011, 07:19
А чем они аргументируют свою противность? В конечном итоге, все равно же русский будет по-умолчанию.


Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: Bepec от Декабрь 02, 2011, 07:24
Аргументы просты, мой язык Русский, прога выйдет на международные стандарты, соответственно перевод русский я сам могу сделать. (они надеются на мое знание русского :) ),
а перевод на остальные языки должны делать специалисты-переводчики, дабы не посрамить предприятие, как то "Отрыть форточку..." "Work comlete incomplete" и прочая.

PS кстати!!!! Вопрос - есть ли возможность в Лингвисте создавать файл перевода из файла перевода?

Т.е. чтобы был "исходная строка", "строка в перевода на русский" и введите строку в переводе на английском?


Название: Re: Русский в исходниках. Варианты, обсуждени
Отправлено: Пантер от Декабрь 02, 2011, 07:33
Тогда переводи исходники в UTF-8. Думаю, проблемы, по большей части, исчезнут.


Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: Bepec от Декабрь 02, 2011, 12:40
Увы появятся :)  Разработка вся идет в Visual studio, и соответственно все сопутствующие и прочая прочая прочая программы используют 1251 :)

Но прогресс - при пересборе lrelease было замечено, что поставляемая версия lrelease 4.7.2 собрана статически и в ней отсутствует необходимый кодек. При сборке динамически он переваривает спокойно windows-1251.

Ведутся работы по релизной сборки :)


Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: kambala от Декабрь 02, 2011, 12:52
Увы появятся :)  Разработка вся идет в Visual studio, и соответственно все сопутствующие и прочая прочая прочая программы используют 1251 :)
в настройках студии ж вроде можно установить дефолтную кодировку для новых файлов, разве нет?


Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: Bepec от Декабрь 02, 2011, 13:00
Kambala ты прав, но вот поправить всё в нескольких десятках проектах(и не наших :) ), перевести все. Далее все исправить в архиве (а это извещения, перезапись дисков с исходниками и прочее).

Так немного понятнее? :)



Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: Пантер от Декабрь 02, 2011, 13:02
Можно автоматизированно перекодировать. Под Линухом для этого существует iconv.


Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: Bepec от Декабрь 02, 2011, 13:29
Пантер, прошу, напиши автоматизированную систему сдачи в архив с автоматической проверкой/печатями/подписями начальников и тонной росчерков :D Я тебя даж обниму за это :)

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

Суть проблемы:

lrelease 4.7.2 использует статическую либу в которой собраны все кодеки. Но кодек на 1251 там отсутствует, что приводит к невозможности перевода.

Решение:

Динамическая сборка (благо исходники есть), использующая либы установленной версии Qt. Спокойно переводит/принимает/апдейтит windows-1251.

К сожалению было выяснено, что так сделано троллями, но их мотивации неизвестны :)

Спасибо за участие, тема [РЕШЕНА]


Название: Re: [РЕШЕНО] Русские строки в исходниках. Windows-1251
Отправлено: Пантер от Декабрь 02, 2011, 13:49
Пантер, прошу, напиши автоматизированную систему сдачи в архив с автоматической проверкой/печатями/подписями начальников и тонной росчерков :D Я тебя даж обниму за это :)
Проще купить автомат и "поговорить" с начальством. :D


Название: Re: [РЕШЕНО] Русские строки в исходниках. Windows-1251
Отправлено: Bepec от Декабрь 02, 2011, 13:58
Автомат мне не продают... Даже ножи не продают. Говорят, программистам с красными глазами и клацающими воздух пальцами, запрещено что нибудь больше ложки продавать, а то начальства то и не останется :)


Название: Re: Русский в исходниках. Варианты, обсуждение, дуэли.
Отправлено: Wozar от Декабрь 08, 2011, 15:55
Пантер, прошу, напиши автоматизированную систему сдачи в архив с автоматической проверкой/печатями/подписями начальников и тонной росчерков :D Я тебя даж обниму за это :)

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

Суть проблемы:

lrelease 4.7.2 использует статическую либу в которой собраны все кодеки. Но кодек на 1251 там отсутствует, что приводит к невозможности перевода.

Решение:

Динамическая сборка (благо исходники есть), использующая либы установленной версии Qt. Спокойно переводит/принимает/апдейтит windows-1251.

К сожалению было выяснено, что так сделано троллями, но их мотивации неизвестны :)

Спасибо за участие, тема [РЕШЕНА]

Верес, не поделитесь ли собранной lrelease  работающей с windows-1251
заранее, спасибо


Название: Re: [РЕШЕНО] Русские строки в исходниках. Windows-1251
Отправлено: Bepec от Декабрь 09, 2011, 07:18
Закрыто.