Verwenden von Resources zur Lokalization

  1. Im ersten Schritt wird der Ordner "Resources" im Projektverzeichnis angelegt. Hier platzieren Sie später die Resource Dateien
    die zur Lokalization benutzt werden. Die Resources werden nach folgendem Schema benannt:
    Die Default Datei trägt den namen Resource.resx
    Für jede weitere Sprache wird dann einfach das vom Browser verwendete Region-Kürzel angehängt.
    So zum Beispiel für Französisch → Resource.fr.resx


  2. Im zweiten Schritt müssen Sie den Zugriff für die Resources auf public setzen und ein Namespace vergeben um die einzelnen Felder
    später im View anzeigen zu können.





  3. Im dritten Schritt müssen Sie in der Datei Global.asax eine weitere Methode ergänzen.

    protected void Application_AcquireRequestState
    protected void Application_AcquireRequestState(object sender, EventArgs e)
    {
        string culture = "en-us";
        if (Request.UserLanguages != null)
        {
            culture = Request.UserLanguages[0];
        }
        Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(culture);
        Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(culture);
    }
  4. Die Resources können nun im View über {Namespace} . {File} . {Field} angesprochen werden.
    Z.B. → Resources.Resource.Title
    Wird vom Browser eine Übersetzung verlang die nicht vorliegt wird automatisch per Rollback auf die Default Resource verwiesen.