Java и GNU gettext для интернационализации

У кого-нибудь был опыт разработки больших Java-приложений с использованием GNU gettext для интернационализации? Я считаю, что мне очень нравится иметь английский текст в моем исходном коде, но я хочу убедиться, что то, что я делаю, практично для относительно большого программного проекта, частью которого я являюсь.

Если у вас есть опыт работы с этим, что вы используете для поиска ресурсов в Java? В настоящее время я пробую Gettext Commons (http://code.google.com/p/gettext-commons/), который, похоже, пока работает хорошо.

Есть ли альтернативы gettext, которые сохраняют исходный текст в исходном коде? Аналогичный инструмент, который поддерживается в Windows, был бы отличным.


person dcstraw    schedule 23.02.2009    source источник


Ответы (2)


Проект редактора Java OpenStreetMap с открытым исходным кодом JSOM использует библиотеку Gettext для обработки всех своих переводов, и это очень хорошо работает. Кроме того, люди могут использовать различные инструменты перевода (такие как KBabel, poedit, launchpad ...) для работы с файлами po, поэтому здесь нет ограничений платформы. Также я не совсем понимаю, почему вы думаете, что указанная установка не может использоваться на какой-либо платформе - вы, безусловно, можете использовать gettext в Windows, см .: здесь или здесь

Учитывая, насколько популярен gettext, я определенно рекомендую его.

person mfloryan    schedule 29.06.2009
comment
Спасибо за ответ. У меня были проблемы с попыткой заставить версию gettext для Windows работать должным образом, но эти проблемы, вероятно, можно было бы решить, приложив дополнительные усилия. Я использовал Cygwin для запуска версии GNU на моем рабочем столе Windows, и это сработало отлично. - person dcstraw; 10.07.2009

Вы можете просто использовать простые старые пакеты ресурсов сообщений Java. вместо этого.

Изменить. Что ж, то, что мы действительно используем в нашей команде разработчиков, - это стандартный формат TMX., позволяющий указывать строки локализации в файлах XML. Это формат, обычно используемый средствами перевода. Вот бесплатный, который позволяет вам легко редактировать эти файлы.

Тем не менее, я не упоминал об этом раньше, потому что он не предлагает никаких реальных преимуществ или функциональных возможностей по сравнению с пакетами ресурсов сообщений, за исключением лучшей обработки кодирования благодаря инструментам обработки XML (кодирование может быть настоящей головной болью при обработке интернационализированных литералов на разных языках). на английский).

Более того, мы действительно используем наше программное обеспечение - это наша собственная структура, которая анализирует этот формат XML и позволяет нам переключаться между языками (в HTML-страницах или фреймах Swing) без перезапуска наших приложений. Не так уж и сложно разработать простую библиотеку, которая таким образом обрабатывает дословный перевод, но обратная сторона медали состоит в том, что вы должны ее реализовать.

person Fernando Miguélez    schedule 23.02.2009
comment
Я оцениваю встроенную в Java функциональность I18N как вариант, но я хотел знать, является ли gettext практической альтернативой, поскольку он имеет несколько преимуществ (например, обработка множественного числа, читаемость кода) по сравнению с пакетами ресурсов. - person dcstraw; 24.02.2009