Мы определяем все наши интернационализированные константные строки в одном файле свойств LocalizableResource_xx.properties
(по одной на язык), расположенном в google.gwt.i18n.client
.
Таким образом можно получить доступ к константам в коде Java через интерфейс констант
Window.alert(myConstants.helloWorld());
, а также использовать их внутри UiBinder .ui.xml
<ui:attribute key="some.key" name="text" description="useful info" />
Этот подход не работает, если строка содержит одинарную кавычку ('
).Это связано с тем, что компилятор GWT выдает java.text.ParseException: Unterminated single quote:
при обработке файлов .ui.xml
.Если мы избегаем кавычки, то есть удваиваем ее (''
), компилятор пропускает, но строки, доступные через интерфейс констант, содержат обе одинарные кавычки (как в You can''t do that
).
Замена одинарных кавычек наКодировка utf-8 \ u0027 не помогает (то же исключение, что и выше).
Возможно ли как-то использовать один и тот же файл свойств в шаблонах UiBinder, а также в коде Java, не сталкиваясь с назойливыми кавычками?