У меня была такая же проблема.Я искал ответ повсюду, но не мог найти ответ;или в документах, или в stackoverflow.
Поэтому я спросил в канале GWT Gitter и получил указание использовать аргумент компилятора
-extra <destination-folder-name>
для генерации .properties
файлы из файлов интерфейса.
Шаги в затмении:
- Выберите проект, который вы хотите скомпилировать
- [щелчок правой кнопкой мыши] -> Google -> GWT Compile
- В открывшемся окне откройте опции Advanded .
- Добавьте следующий дополнительный аргумент компилятора
-extra <destination-folder-name>
- Compile
Это должно сгенерировать файлы *.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
файл.
Для второй компиляции, после того как вы скопировали и перевели файлы свойств для каждой локали, вы должны включить все локали, которые выхочу поддерживать и компилировать.
Кредиты:
- github @ niloc132: Колин Алворт
- github @ibaca: Игнасио Бака Морено-Торрес
За помощь в этом.