Я пытаюсь сделать zq интернационализацию в своем проекте. Я просмотрел все документы и выяснить эту информацию:zk интернационализация LabelLocator
public class FooServletLocator implements org.zkoss.util.resource.LabelLocator {
private ServletContext _svlctx;
private String _name;
public FooServletLocator(ServletContext svlctx, String name) {
_svlctx = svlctx;
_name = name;
}
public URL locate(Locale locale) {
return _svlctx.getResource("/WEB-INF/labels/" + name + "_" + locale + ".properties");
}
}
Тогда я должен ссылаться на этот локатор по коде:
Labels.register(LabelLocator2)
Вопрос заключается в том, где я должен поставить этот codeline и вызывать локатор, в моем viewmodel (я использую mvvm) или где-то еще? Я не могу понять :(
Спасибо за любую помощь !!!
Хорошо спасибо. Но могу ли я переключаться между разными локаторами динамически на странице с помощью combobox? Я имею в виду, как не писать одни и те же части html-кода для разных языков и просто написать одно выражение, и оно будет называться в соответствии с выбранным языком. – SergeBud
@SergeBud, конечно. Для доступа к ярлыкам i18n используется объект 'label' в файлах' zul' или 'Labels.getLabel (...)' в Java. И вы можете вызвать 'Labels.reset()' для динамической перезагрузки ярлыков, если локаль была изменена. Подробнее читайте в одном документе. –