Название: [РЕШЕНО] Русские строки в исходниках. 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 В результате перевод не осуществляется. Прошу помощи и советов по решению данной проблемы. Рассматриваемые варианты: 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 Закрыто.
|