Locale.getAvailableLocales()
возвращает список локалей, LocalData которых установлен в пакете sun.text.resources JRE.
Этот список не имеет значения для вас. В настоящее время LocalData содержит только локальный номер и формат форматирования даты. Если у вас нет специального формата, вы можете просто выбрать язык, формат которого совпадает с вашим, например «en_IN».
Charset - еще одна проблема. Если локализованные ресурсы находятся в Юникоде, вы все настроены. В противном случае вам нужно убедиться, что кодировка/кодировка поддерживается Java, поэтому она может правильно ее преобразовать.
Не волнуйтесь о шрифте. Он не имеет ничего общего с сервером. Это либо указано в HTML или CSS. Пока браузер поддерживает шрифты, все будет в порядке.
Java сам по себе I18N готов, поэтому не имеет значения, какую структуру вы используете. Struts предоставляет taglib для I18N (bean:message
), но вы также можете использовать JSTL (fmt:message
).
Я думаю, что ваши замечания по шрифту вводят в заблуждение; кодировка, используемая для кодирования страницы, имеет мало общего с набором графемов в шрифтах, доступных на ПК конечного пользователя. (Использование UTF-8 - хорошая идея, но это не лекарство от всех проблем с персонажами.) – McDowell
Вы правы, я был слишком упрощен. Использование UTF-8 в качестве выходного кодирования делает его работу для большинства сценариев; однако предполагается, что у пользователей есть современные браузеры, общие шрифты, которые вы ожидаете найти на машинах пользователя, и возможные пакеты языковой поддержки. – phsiao
@McDowell: Я не согласен. Любой, кто посещает веб-сайт, поставляя, например, китайские иероглифы, используя систему без шрифтов, необходимых для их отображения, уже мертв в воде. Хост не может сделать гораздо больше, чтобы обеспечить правильно кодированный Юникод с соответствующими заголовками для набора символов и кодирования содержимого. Дело в том, что почти все используемые в настоящее время средства O/S основного потока имеют шрифты, установленные по умолчанию, которые охватывают каждый язык текущего использования, кроме азиатских идеографических языков; и они обычно доступны как отдельно загружаемая установка из-за их огромного размера. –