GWT интернационализация статического текста и специальных символов - PullRequest
2 голосов
/ 31 января 2012

У меня есть несколько вопросов, касающихся обходных путей интернационализации для GWT.

1) Как лучше всего работать со статическим текстом, который был непосредственно записан в ui.xml-файлах? В настоящее время я использую интерфейс сообщений для перевода сгенерированного Java текста (который работает на удивление хорошо для меня), но в наших приложениях очень много текста, написанного непосредственно в HTML.

2) Как отображать специальные символы, такие как «ä», используемые в немецком языке? Я уже установил index.html в UTF-8 и все еще получаю странные заполнители вместо реальных символов при доступе к приложению. Я действительно не хочу знать, что происходит, когда я начинаю использовать китайские переводы.

3) Есть ли удобный способ позволить GWT генерировать интерфейсный класс из существующего файла свойств? Я написал себе небольшой инструмент, который выглядит хорошо для меня, но, полагаю, это не самое профессиональное решение.

Заранее спасибо!

Ответы [ 2 ]

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

1) В проекте GWT, над которым я работал, для интернализации фрагментов HTML-кода в UiBinder мы просто вставляли InlineLabel в html.Например:

<table>
<tr>
   <td><g:InlineLabel text="{myMessages.myText}" /></rd>
</tr>
</table>

Таким образом, встроенные метки будут переведены в простые элементы HTML-разметки GWT.Мы не нашли лучшего способа.

2) Для специальных символов используйте представление юникода в файлах .properties.

Все перечисленные выше типы используют файлы свойств, основанные на традиционных свойствах Javaформат файла, хотя GWT использует расширенный формат файла свойств, который допускает использование UTF-8 и, следовательно, позволяет файлам свойств напрямую содержать символы Юникода. См. Параграф «Файлы свойств»

3) если вы используете maven, существует плагин gwt, который можно использовать для генерации интерфейса сообщений (также асинхронных интерфейсов rpc и css) с помощьюфайл свойств: Создание интерфейсов i18n для пакетов сообщений

1 голос
/ 16 сентября 2013

Просто используйте юникод ваших специальных символов в файле .properties

...