How to get the Current Locale in GWT using LocaleInfo

gwt, locale

Solution

Locales for GWT are not automatically obtained from the system/browser settings. As per the GET locale documentation the locale to use at run time can be set in one of two ways:

- By specifying a `locale` request parameter in your application's URL. I.e. `http://www.myapplication.com/?locale=es`

By including a `gwt:property` meta tag in the host page:

`<meta name="gwt:property" content="locale=es" />`

This is the preferred method for production applications. Your host page can determine the user's locale in a number of ways including, but not limited to, allowing the user to configure a local or detecting their preferred locale based on the `Accept-Language` request header.

Problem

I have tried to get the current locale on the client using the LocaleInfo class and the method getCurrentLocale(). However it always returns the value default locale no matter what regional and locale settings I have on the client machine. The Date classes toLocaleString() method returns a locale specific string but the LocaleInfo doesn't seem to be able to get the systems Locale.

Original source