2009-09-20 3 views
0

Я остаюсь Индия (имеет более 20 языков) Я пытаюсь реализовать java-интернационализацию на веб-сайте.java интернационализация на местных языках

Но в Locale.getAvailableLocales() местные языки недоступны. возможно ли реализовать интернационализацию в моем случае?

Если возможно, что произойдет с шрифтами? Как я буду загружать правильные шрифты в клиентский браузер?

Какая структура для реализации Struts или Spring?

ответ

0

Я думаю, вы задаете здесь несколько вопросов, и они ортогональны друг другу.

Для вопроса Locale.getAvailableLocales(). Если встроенных локалей недостаточно, вы можете просто создать больше. Локальный объект просто представляет локали, которые ваша программа знает, это не имеет никакого отношения к вам, которую выполняет система. Более конкретно, никакой соответствующий объект locale не означает, что вы не можете поддерживать языковой стандарт.

Для шрифта, как правило, вы используете UTF-8 для сайта i18n, так как ваш тип контента и кодировка установлены правильно, он должен правильно отображаться в клиентском браузере.

Вопрос о карьере действительно зависит от того, что вы пытаетесь выполнить, и чего вы хотите получить от него.

+0

Я думаю, что ваши замечания по шрифту вводят в заблуждение; кодировка, используемая для кодирования страницы, имеет мало общего с набором графемов в шрифтах, доступных на ПК конечного пользователя. (Использование UTF-8 - хорошая идея, но это не лекарство от всех проблем с персонажами.) – McDowell

+0

Вы правы, я был слишком упрощен. Использование UTF-8 в качестве выходного кодирования делает его работу для большинства сценариев; однако предполагается, что у пользователей есть современные браузеры, общие шрифты, которые вы ожидаете найти на машинах пользователя, и возможные пакеты языковой поддержки. – phsiao

+0

@McDowell: Я не согласен. Любой, кто посещает веб-сайт, поставляя, например, китайские иероглифы, используя систему без шрифтов, необходимых для их отображения, уже мертв в воде. Хост не может сделать гораздо больше, чтобы обеспечить правильно кодированный Юникод с соответствующими заголовками для набора символов и кодирования содержимого. Дело в том, что почти все используемые в настоящее время средства O/S основного потока имеют шрифты, установленные по умолчанию, которые охватывают каждый язык текущего использования, кроме азиатских идеографических языков; и они обычно доступны как отдельно загружаемая установка из-за их огромного размера. –

0

Я считаю, что существует больше мест, доступных при использовании JDK, чем JRE.

1

Я не могу претендовать на роль эксперта в области интернационализации Java - вся моя работа, о которой заботилась локализация, относится к тому, когда мы должны были все это делать вручную.

Если вы не хотите этого делать (что сейчас не сложнее, чем было тогда), кажется, что вы все еще можете использовать автоматизированные службы I18N Java.

Представляется, что в целях поддержки языков, числовые форматы и т.д., которые для районов пока не поддерживается, вам придется создать Locale-чувствительных поставщика услуг, который получил гораздо проще в 6

Там в что выглядит как хороший учебник here.

0

Locale.getAvailableLocales() возвращает список локалей, LocalData которых установлен в пакете sun.text.resources JRE.

Этот список не имеет значения для вас. В настоящее время LocalData содержит только локальный номер и формат форматирования даты. Если у вас нет специального формата, вы можете просто выбрать язык, формат которого совпадает с вашим, например «en_IN».

Charset - еще одна проблема. Если локализованные ресурсы находятся в Юникоде, вы все настроены. В противном случае вам нужно убедиться, что кодировка/кодировка поддерживается Java, поэтому она может правильно ее преобразовать.

Не волнуйтесь о шрифте. Он не имеет ничего общего с сервером. Это либо указано в HTML или CSS. Пока браузер поддерживает шрифты, все будет в порядке.

Java сам по себе I18N готов, поэтому не имеет значения, какую структуру вы используете. Struts предоставляет taglib для I18N (bean:message), но вы также можете использовать JSTL (fmt:message).

Смежные вопросы