Локализация в GWT
В наши дни, когда Интернет сближает людей вне зависимости от страны проживания, очень часто требуется создать сайт, который можно читать на разных языках: русском, английском, немецком, китайском… Писать для каждого языка свою версию HTML-страницы — это, конечно же, безумие. Есть способ лучше — задействовать GWT, где реализованы необходимые механизмы интернационализации.

Для начала нужно продумать структуру надписей, которые будут подвергнуты переводу на разные языки. Необходимые текстовые фрагменты оформляются как методы интерфейса:
Затем создаются текстовые файлы с текстовыми фрагментами на разных языках, например для русского языка — Constants_ru.txt:
для английского — Constants_en.txt:
Текстовые файлы преобразуются в специальные файлы properties примерно вот такой командой ant:
Кроме того, в заголовочную часть html-документа нужно включить специальный тэг:
После компиляции проекта в зависимости языка, указанного в этом тэге (в данном случае en — английского) все указанные в интерфейсе фрагменты будут выведены на нем.
Подробности см., например, здесь.

Для начала нужно продумать структуру надписей, которые будут подвергнуты переводу на разные языки. Необходимые текстовые фрагменты оформляются как методы интерфейса:
package com.myproject.client;
public interface Constants extends com.google.gwt.i18n.client.Constants{
String mainHeader();
String about();
String newsHeader();
}Затем создаются текстовые файлы с текстовыми фрагментами на разных языках, например для русского языка — Constants_ru.txt:
mainHeader = Доступные средства GPS-навигации
about = О проекте
newsHeader = Новости сайта для английского — Constants_en.txt:
mainHeader = Affordable GPS navigation
about = About the project
newsHeader = Project news Текстовые файлы преобразуются в специальные файлы properties примерно вот такой командой ant:
<native2ascii
encoding="UTF8"
src="."
dest="${classesdir}/${dirprefix}/client"
includes="*.txt"
ext=".properties"
/>Кроме того, в заголовочную часть html-документа нужно включить специальный тэг:
<meta name="gwt<img class="smile" src="/images/smilies/tease.gif" />roperty" content="locale=en"/>После компиляции проекта в зависимости языка, указанного в этом тэге (в данном случае en — английского) все указанные в интерфейсе фрагменты будут выведены на нем.
Подробности см., например, здесь.

Комментарии (3)
RSS свернуть / развернутьSergei_T
yababay
Markony
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.