Gwt i18n> создание файлов свойств - PullRequest
4 голосов
/ 18 января 2012

Я использую GWT в своем материале, и я хотел бы сделать его международным, поэтому я использую метод констант GWT.

У меня есть Java-файл со значениями по умолчанию, и теперь мне нужно сделать свойствафайлы.

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

Сделал ли ямечтать об этом?

(используя eclipse indigo для разработки веб-приложения с помощью gwt, но не gae)

[edit:]

это был не сон, это i18ncreator:

http://code.google.com/intl/fr-FR/webtoolkit/doc/latest/RefCommandLineTools.html#i18nCreator

но я не могу заставить его работать в Windows: - (

[редактировать снова]

из-за этой проблемы: http://code.google.com/p/google-web-toolkit/issues/detail?id=5113

рекомендуемое решение - использовать i18ncreator в gwt 1.7 (!)

Ответы [ 4 ]

2 голосов
/ 02 августа 2016

У меня была такая же проблема.Я искал ответ повсюду, но не мог найти ответ;или в документах, или в stackoverflow.

Поэтому я спросил в канале GWT Gitter и получил указание использовать аргумент компилятора

-extra <destination-folder-name>

для генерации .properties файлы из файлов интерфейса.

Шаги в затмении:

  1. Выберите проект, который вы хотите скомпилировать
  2. [щелчок правой кнопкой мыши] -> Google -> GWT Compile
  3. В открывшемся окне откройте опции Advanded .
  4. Добавьте следующий дополнительный аргумент компилятора -extra <destination-folder-name>
  5. Compile

setting compiler option in eclipse to generate the extra files

Это должно сгенерировать файлы *.properties в /destination-folder-name.

ПРИМЕЧАНИЕ: Это генерирует только.properties файлов.На самом деле приложение не компилируется со всеми локалями для развертывания.

Переместите MyInterfaceExtension_*.properties, чтобы быть прямо рядом с MyInterfaceExtension.java файлом.

Сделайте копии для каждой локали, например MyInterfaceExtension_fr_CA.properties, MyInterfaceExtension_fr_FR.properties и т. Д.

Переведите их

Затем снова запустите процесс компиляции без опции -extra <destination-folder-name>.Потому что он больше не нужен.

Это скомпилирует все включенные вами локали.Теперь вы можете развернуть приложение обычным способом.

Советы:

При первой компиляции для создания файла .properties я закомментировал локали в определении модуляфайл, так что компилятор не будет сидеть и компилировать снова и снова для каждого браузера и каждой локали

т.е. supported_browser_count x enabled_locale_count = 5 браузеров x 3 локали = 15 перестановок компиляции, что увеличит время компиляции.

Потому что все, что мне было нужно, это один *_en.properties файл.

Для второй компиляции, после того как вы скопировали и перевели файлы свойств для каждой локали, вы должны включить все локали, которые выхочу поддерживать и компилировать.

Кредиты:

  1. github @ niloc132: Колин Алворт
  2. github @ibaca: Игнасио Бака Морено-Торрес

За помощь в этом.

2 голосов
/ 18 января 2012

вы должны увидеть страницу на локалях в GWT

1 голос
/ 19 января 2012

Для своего проекта я использовал i18n-Creator

http://code.google.com/webtoolkit/doc/latest/DevGuideI18n.html#DevGuidePropertiesFiles

Это как бы противоположно тому, что вы просите. С i18n-creator вы создаете файлы свойств для различных локалей и запускаете сценарий, созданный с помощью i18n-creator, и он генерирует интерфейс констант.

0 голосов
/ 18 января 2012

Я еще не слышал об этой функции в Eclipse, но IntelliJ IDEA имеет эту функцию, вы просто создаете класс интерфейса констант и файл свойств. Если вы добавите метод в файл класса, он предупредит вас добавить свойство или наоборот. НТН.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...