title: How to reload the components in Vaadin after click internationalization Button?
body: <p>I use Internationalization I18N in Vaadin. I have a Internationalization class with the method getText.</p>
  
  <pre><code>public static String getText(String key) {
          String returnValue = "";
          String value = "";
          String space = " ";
          Locale locale = new Locale("de", "DE");
          try {
              // session specific locale stored in attribute "locale"
              // if you want add a new language then add a new else if with the
              // new Locale like ("fr", "FR").
              if (VaadinServletService.getCurrentRequest() != null) {
                  if ((Locale) VaadinServletService.getCurrentServletRequest().getSession().getAttribute("locale") != null) {
                      if (VaadinServletService.getCurrentServletRequest().getSession().getAttribute("locale").toString().equals("en_EN")) {
                          locale = new Locale("en", "US");
                      } else if (VaadinServletService.getCurrentServletRequest().getSession().getAttribute("locale").toString().equals("de_DE")) {
                          locale = new Locale("de", "DE");
                      }
                  }
              }
              ResourceBundle bundle = ResourceBundle.getBundle(baseName, locale);
              value = bundle.getString(key);
              returnValue = new String(value.getBytes("ISO-8859-1"), "UTF-8");
          } catch (MissingResourceException e) {
              // Missing key
              try {
                  // return the Key
                  String keyString = key.replace("_", space);
                  returnValue = new String(keyString.getBytes("ISO-8859-1"), "UTF-8");
              } catch (UnsupportedEncodingException e1) {
                  e1.printStackTrace();
              }
          } catch (UnsupportedEncodingException e) {
              e.printStackTrace();
          } catch (Exception e) {
              e.printStackTrace();
          }
  
          return returnValue + space;
      }
  </code></pre>
  
  <p>I can call this Method from everywhere to use this <code>getText()</code> method.
  My Components they get a internationalization text by call this method like this:
  <code>label.setCaption(Internationalization.getText("Willkommen"));</code></p>
  
  <p>I have now two Buttons "DE" and "EN" for the languages german and english. In the ClickListener of this Buttons i set the new Locale like this:</p>
  
  <pre><code>    btnLanguageDE.addClickListener(e -&gt; {
  VaadinServletService.getCurrentServletRequest().getSession().setAttribute("locale", new Locale("de", "DE"));
          });
  </code></pre>
  
  <pre><code>btnLanguageEN.addClickListener(e -&gt; {
  VaadinServletService.getCurrentServletRequest().getSession().setAttribute("locale", new Locale("en", "EN"));
  logger.debug("Internationalization change to: EN"); 
          });
  </code></pre>
  
  <p>The Problem is, if i click on the Button they set the local but didn't reload the components on the page. It changes only if i reload the page manually.
  I tried to call this <code>UI.getCurrent().getPage().getLocation();</code> but no effects.</p>
  
  <p>How can i reload the components with the actual locale ?</p>