title: Xamarin.Forms : How to use localization independent of device language
body: <p>I am developing a Xamarin.Forms app (portable class library project) with Visual Studio 2013 CE. First I'm focusing the iOS version.</p>
  
  <p>Now I'm thinking about how to make the app multilingual.
  I just read the offical Xamarin documentation about it but i realized that this solution only takes the system language of the target device.</p>
  
  <p>In the portable class library I have a Resources folder with three languages: German (default), English and French.</p>
  
  <pre><code>Resource.resx
  Resource.en-US.resx
  Resource.fr-FR.resx
  Resource.Designer.cs
  </code></pre>
  
  <p>Now i just created a static settings class which looks like this:</p>
  
  <pre><code>public static class Settings
  {
      public static Dictionary&lt;String, CultureInfo&gt; Languages = new Dictionary&lt;String, CultureInfo&gt; { { "German", new CultureInfo("de-DE") }, { "English", new CultureInfo("en-US") }, { "French", new CultureInfo("fr-FR") } };
  
      public static CultureInfo CurrentCulture = Languages["German"];
      public static CultureInfo CurrentUiCulture = Languages["German"];
  
      public static void ChangeCurrentCultureInfo(CultureInfo cultureInfo)
      {
          Resource.Culture = cultureInfo;
      }
  }
  </code></pre>
  
  <p>Now my question is if it's possible to change the culture in the application while runtime with a button click.
  Maybe something like</p>
  
  <pre><code>Settings.CurrentCulture = Settings.Languages["English"];
  Settings.ChangeCurrentCultureInfo(Settings.CurrentCulture);
  </code></pre>
  
  <p>Does anyone can tell me how this can be done?</p>
  
  <p>Regards</p>