Лучшая стратегия интернационализации для ZK - PullRequest
0 голосов
/ 15 февраля 2011

Какие стратегии вы используете для интернационализации веб-приложения, написанного на ZK?

В настоящее время я использую их «забавный» синтаксис $ {c: l ('LABEL_NAME')}, но он использует механизм, который имеет 2 проблемы:

1) Он не принимает синтаксис \ uchcode, который является стандартным для комплектов ресурсов в Java. Нет способа редактировать такие файлы из NetBeans.

2) Они используют только один файл для всего веб-приложения, которое может быть очень большим, и я боюсь возможного фактора производительности.

Поэтому у меня есть 2 вопроса:

1) Является ли использование одного большого файла свойств проблемой производительности?

2) Существуют ли другие хорошие методы для интернационализации приложения ZK (zscript, я не считаю хороший метод)?

Ответы [ 3 ]

2 голосов
/ 15 февраля 2011

1) это не проблема для меня.языковые файлы НАМНОГО меньше других файлов (поэтому загрузка их чтения довольно легкая)

2) imo, я не буду использовать zscript в своем онлайн-проекте, вы можете посмотреть официальный совет по производительности- Не использовать zscript для лучшей производительности .

Подробнее о интернационализации приложения ZK см. Справочник разработчика ZK - Ярлыки

Кстати, я использовал для создания LabelManager и управления источником в разных языках / локалях.

1 голос
/ 15 февраля 2011

Я думаю, что нет проблем с производительностью при загрузке сообщения i18n, он использует быстрый хеш для целевого сообщения, но проблема с памятью (при загрузке текста сообщения в память для различных локальных). однако меня не волнует проблема с памятью, так как это просто текстовое сообщение, а сервер мощный и имеет огромную память.

и для меня я всегда использую ascii в качестве ключа, так что никаких проблем с кодировкой ключей.

одна вещь не удобна - я могу просто установить сообщение в одном файле i3, если я хочу установить несколько (для модульных сообщений) файлов, мне нужно написать код, регистрирующий LabelLocator для Labels.

0 голосов
/ 18 февраля 2011

Как я знаю, c: l () - это просто способ получения меток I18N по умолчанию. Вы можете использовать стандартный пакет ресурсов, если хотите. Все, что вам нужно сделать, это реализовать статический метод, а затем использовать его для сопоставления со страницей ZUL.

...