Provides dynamic string lookup of key/value string pairs defined in a module's host HTML page. Each unique instance of
Dictionary
is bound to a named JavaScript object that resides in the global namespace of the host page's window object. The bound JavaScript object is used directly as an associative array.
For example, suppose you define the following JavaScript object in your host page: {@gwt.include com/google/gwt/examples/i18n/ThemeDictionaryExample.js}You can then use a Dictionary
to access the key/value pairs above: {@example com.google.gwt.examples.i18n.ThemeDictionaryExample#useThemeDictionary()}
Unlike the family of interfaces that extend {@link com.google.gwt.i18n.client.Localizable} which support staticinternationalization, the Dictionary
class is fully dynamic. As a result, a variety of error conditions (particularly those involving key mismatches) cannot be caught until runtime. Similarly, the GWT compiler is unable discard unused dictionary values since the structure cannot be statically analyzed.
A Caveat Regarding Locale
The module's host page completely determines the mappings defined for each dictionary without regard to the
locale
client property. Thus,
Dictionary
is the most flexible of the internationalization types and may provide the simplest form of integration with existing localization systems which were not specifically designed to use GWT's
locale
client property.
See {@link com.google.gwt.i18n.client.Localizable} for background on thelocale
client property.
Required Module
Modules that use this interface should inherit
com.google.gwt.i18n.I18N
. {@gwt.include com/google/gwt/examples/i18n/InheritsExample.gwt.xml}