2013-09-16 2 views
2

Я работаю над крупным проектом GWT (на самом деле SmartGWT), где проблемы управления временем компиляции и локализацией констант начинают причинять боль. На данный момент мы скомпилируем для 7 языков, а компиляции GWT занимают около 60 минут (по 3 процессора на нашей сборной машине). Если мы пойдем на 23 языка в будущем, это действительно убьет нас.Альтернативы локализации в GWT

Мы изучили возможность управления переводами в базе данных на стороне сервера, и это было бы хорошо. К сожалению, встроенные строки, которые являются частью GWT, все равно потребуют от нас создания для языков X.

Мы также не любим всю модель в GWT с точки зрения рабочего процесса переводчика. Что-то вроде Web4J действительно является лучшей моделью при работе с тысячами строк, но я не вижу, как это можно было бы интегрировать в GWT.

Чтобы быть конкретным, я ищу способ избежать высокой стоимости компиляции при построении нескольких языков в GWT. Кроме того, я хотел бы перейти к более удобной и удобной в использовании парадигме, подобной Web4J. Если кто-нибудь знает, как интегрировать Web4J в GWT и что делать с родными строками GWT, это было бы полезно.

+0

Что на ваш вопрос именно? Вы хотите список альтернатив, знаете, как ускорить время компиляции, или вы хотите узнать о интеграции GWT с Web4J? – otonglet

ответ

1

Обычный способ сделать это с помощью Dictionary. См. Руководство GWT-I18, чтобы взглянуть на эту альтернативу.

В принципе, вам необходимо определить язык, используемый пользователем на стороне сервера, а затем сервер отображает index.html вашего приложения, включая объект javascript со всеми интернационализированными строками вашего приложения.

[Изменено]

Если вы хотите компилировать только один раз, вы можете collapse свойства в файле модуля:

<collapse-property name="locale" values="*" /> 
+0

Но вы все равно должны скомпилировать для всех языков из-за встроенных ресурсов строки GWT, не так ли? –

+0

Например, элемент управления DatePicker имеет локализованные строки для имен месяцев, дней недели и т. Д. –

+0

Словарь считается для реализации ваших собственных констант, для Dates and Number gwt использует i18n. Способ его изменения заключается в использовании отложенной привязки и замене 'DateTimeFormatInfoImpl' вашей собственной реализации с использованием вашего Словаря. –

Смежные вопросы