Предыдущая запись: Как переводить и редактировать PDF-документы
Следующая запись: Локализация приложений с помощью gettext
Реалии современного рынка программного обеспечения заставляют разработчика бороться за каждого покупателя любыми доступными средствами. Естественно желание производителя ПО привлечь не только пользователей из своего региона, но и сделать свой продукт доступным потенциальным покупателям со всего мира.
Теперь профессиональные разработчики сразу встраивают поддержку юникода в свои приложения, и тем самым делают возможным использование различных языков в своих продуктах. Юникод позволяет работать с иероглифами, арабской вязью… А это около 75% мирового населения. Но не всегда среда разработки позволяет легко использовать unicode в приложениях. Например, до выхода Delphi 2009 проблема тотальной неюникодности решалась исключительно с помощью сторонних delphi компонентов. И для старых приложений, написанных на Delphi и C++ Builder, локализация пользовательского интерфейса до сих пор являлется большой проблемой (забегая наперед, решение есть в этой статье).
Сама по себе поддержка Юникода — это лишь необходимое условие для перевода программного обеспечения на иностранные языки, и любой разработчик рано или поздно сталкивается с технической стороной локализации (интернационализации) своих программных продуктов. Грубо говоря, для локализации программы или игры требуется разработать или использовать готовый механизм, который бы (минимально) позволял загружать строковые ресурсы в зависимости от выбранного языка и автоматически изменял подписи на элементах пользовательского интерфейса. И все это — в зависимости от предпочтений конечного пользователя т.е. без перекомпиляции программы. Соответственно, вся текстовая информация должна быть вынесена, например, в отдельные файлы, с которыми будут в последствии работать переводчики.
Инструментов для локализации приложений (интернационализации приложений) на рынке много. Рассмотрим библиотеку Localizer, разработанную компанией Korzh.com для языков и сред разработки Delphi и C++ Builder.
Цены на это решение начинаются со 150 евро, что для профессионального инструмента разработчика, который покупается один раз в жизни, не много. Бесплатная триал-версия доступна для закачки и тестирования с http://devtools.korzh.com/localizer/. Сборка совместима со следующими средствами разработками: Delphi 6, 7, C++Builder 6, BDS 2005, 2006, CodeGear Studio 2007, 2009. Ограничение демо-версии состоит в том, что на каждой форме в проекте можно будет локализовать только первые 30 ее свойств (properties).
Одно из значительных преимуществ Localizer для старых версий Delphi заключается в том, что позволяет полноценно реализовать локализацию приложений не требуя их “юникодизации”.
Установка очень проста, осуществляется всего в 8 кликов мышью. После установки в IDE станет доступным дополнительный пункт меню с названием Localizer.
Существует две редакции Localizer — Standard и Pro, по разной цене и с немного разным функционалом. Основное отличие Pro — в возможности менять язык программы “на лету”, меньшем размере языковых файлов и механизме автоматического обновления языковых ресурсов при выходе новых версий программы.
В комплекте с программой идет очень подробная и доступная для понимания справка (только на английском), а также примеры использования пакета, которые можно найти в папке Localizer\Samples\Editor. Там показано, как использовать Localizer непосредственно в коде программы.
Разработчики Localizer выбрали собственный двоичный формат хранения языковых файлов, но дали переводчику удобный инструмент для их редактирования и перевода — Language Manager. В отличии от стандартного подхода с .ini и разного рода .xml-файлами, перевод ресурсов в специальной программе исключает возможность порчи переводчиком структуры и кодировки языкового файла. Но с другой стороны, проприетарный формат не позволяет использовать переводчику при локализации привычные CAT (Computer-aided Translation)-инструменты.
В качестве исходного материала для перевода интерфейса программы, переводчик получает языковой файл, содержащий строки на нативном (native) для разработчика языке. Файл загружается в Language Manager и с него делается связанная копия для перевода на другой язык. В главном окне программы появляется новая колонка, соответствующая добавленному языку, и перевод выполняется в ней. Результат работы сохраняется в отдельном языковом файле. Исходный файл при этом остается без изменений.
Программа позволяет подгрузить словари терминов Microsoft, что облегчает соблюдение единства терминологии. Присутствуют функции поиска и замены, подсчета объемов текста. Есть возможности импорта и экспорта в XML. В качестве результат работы переводчика получается языковой файл, который и отсылается назад разработчику для интеграции в приложение.
В целом Localizer for Delphi & C++ Builder от Korzh.com оставляет впечатление проработанного инструмента, которым действительно пользуются в т.ч. и многие наши клиенты, которые заказывают у нас локализацию программных продуктов и сайтов.
Предыдущая запись: Как переводить и редактировать PDF-документы
Следующая запись: Локализация приложений с помощью gettext
Оформите предварительный заказ прямо сейчас! Мы свяжемся с вами для выяснения деталей и оценки стоимости.
И какие преимущества у Korzh по сравнению с Passolo и Catalyst?
Ну в первую очередь цена на указанные Вами продукты мягко говоря просто несопоставима (в разы больше) с ценой Локалайзера.
А кроме этого, Passolo и Catalyst вроде как инструменты широкого применения (для многих платформ) и больше заточены именно на локализацию продуктов (т.е. когда делаем специальную версию уже существующего продукта для другого языка).
) больше предназначен для интернационализации проектов т.е. когда у вас в результате есть один продукт, который поддерживает несколько языков.
Localizer же – это специализированное решение для Дельфи проектов и (несмотря на свое название
Ага, понятно.
Интересно, что выбрана не самая популярная платформа. Или существуют версии, например, под .NET?
Насчет не самой популярной платформы – на постсоветском пространстве delphi до сих пор пользуется огромной популярностью. Мне кажется, это наследие преподавания языка pascal в школе и вузах.
Для новых разработок платформу можно выбирать более популярную, но есть еще поддержка и развитие (в том числе перевод на иностранные языки) старых приложений. Рынок вполне себе есть imho.
Александр, Delphi популярен был из-за того что это было первое графическое средство “рисования” приложений. Программировать на WINAPI или скажем X
могут только знатные извращенцы.