language-select - Vaadin Add-on Directory
Language Picker for Vaadin 14This Component is intended for Vaadin 14 Applications that use an [I18NProvider](https://vaadin.com/docs/v14/flow/advanced/tutorial-i18n-localization.html). It is a Language Picker based on the `Select` component from Vaadin.
Changing the Language with this component will automatically set a new Locale in the VaadinSession and all UI's that belong to that Session. It will trigger the `localeChange(LocaleChangeEvent event)` function of every opened View that implements `LocaleChangeObserver`, so that any translated labels and strings can be re-translated in the new language and replaced in the View without reloading.
You can now also choose to set a language cookie upon value change, so you can manually set the Session Locale to the used Locale upon Session-Init. See Code Samples for how to do that. Using the Constructor without a boolean parameter will NOT set language cookies upon value change.
---------
LANGUAGE FLAGS:
You need to provide a flag image for each Locale/Language that you will add as item.
Place these images in `img/languageflags/` folder, and name them [language_code].png
For example en.png for english flag.
To find out where the `img` folder should be, see https://stackoverflow.com/questions/57553973/where-should-i-place-my-vaadin-10-static-files
It will either be `/src/main/webapp/img` or `/src/main/resources/META-INF/resources/img`
Warning: if using Spring Security, you need to ignore '/img/**' in your `WebSecurityConfigurerAdapter::configure(WebSecurity web)`. I will fix that in next version by using /images folder instead of /img.
TRANSLATIONS OF LANGUAGE NAMES:
In the ResourceBundle that your I18NProvider implementation uses, add Translations for each Locale/Language that you will use.
The keys must be named `LanguageSelect.[language_code]`
For example `LanguageSelect.en=English` in the English resourcebundle-file, and `LanguageSelect.en=Inglés` in the Spanish resourcebundle-file
language-select version 1.0.1
Fixed Error where the ValueChangeListener was added before setting value to current Locale of UI
language-select version 1.0.5
Is now able to set a language cookie on valuechange. See code samples for how to use that cookie in Session Init. Some changes to styles were done.
language-select version 1.0.6
Bugfix attempt
language-select version 1.0.7
Raised vaadin version to avoid strange issues like vaadin-flow#6336
language-select version 1.0.8
simplified (optional) reading of language cookies upon service init
language-select version 1.0.9
cleaned own pom file to not include any unnecessary dependencies