Лучшим способом является поиск локали для использования в браузере. Вы должны следовать documentation, и использовать это свойство:
<set-configuration-property name="locale.searchorder" value="queryparam,cookie,meta,useragent"/>
Вы можете увидеть все свойства устанавливаемыми для i18n в the module definition. По умолчанию GWT использовать этот код для определения UserAgent локаль, и вы можете изменить его с помощью нового свойства-провайдера, или использовать открытие на стороне сервера:
var language = navigator.browserLanguage ? navigator.browserLanguage : navigator.language;
if (language) {
var parts = language.split(/[-_]/);
if (parts.length > 1) {
parts[1] = parts[1].toUpperCase();
}
locale = parts.join(\"_\");
}
Если вы хотите открыть для себя страну/местоположение пользователь, вы можете, с сервлета, использовать базу данных GeoIP. Этот вид БД имеет сопоставление от IP к стране/штатам/городу. Это, как правило, легко использовать и интегрировать в приложение. См. Например, Maxmind GeoIP Database.
Есть ли изменения, которые вы можете показать мне, что с точки зрения Java-кода? Я установил свойство конфигурации в моем client.gwt.xml, и я захватываю 'LocalInfo.getCurrentLocale()', но я не могу получить что-то вроде кода страны или, что более важно, языка .. – displayname
Кажется, что это работает например если я устанавливаю свойство-fallback, но я не могу найти ничего, что дает мне язык, заданный браузером: / – displayname