Wenn wir unsere Anwendung für alle Benutzer (sprechen verschiedene Sprachen) machen wollen, brauchen wir eine globale Technologie.
In C# verwenden wir ResourceManager wie folgt:Best Practices für globale Ressourcen in C#
using System;
using System.Reflection;
using System.Resources;
public class Example
{
public static void Main()
{
// Retrieve the resource.
ResourceManager rm = new ResourceManager("ExampleResources" ,
typeof(Example).Assembly);
string greeting = rm.GetString("Greeting");
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("{0} {1}!", greeting, name);
}
}
// The example produces output similar to the following:
// Enter your name: John
// Hello John!
Die Anordnung von zwei oder mehr Sprachressourcen haben:
Assembly
| --Assembly.en-US.resx
| --Assembly.zh- cn.resx
Dann archivieren wir, um die Ressource zu ändern, indem wir Thread cultureinfo ändern, um eine andere Ressource zu verwenden.
Wenn die Anwendung viele DLL (Assembly) -Dateien haben.
Ich möchte einen einzigen Punkt (eine Ressourcendatei für eine Sprache) für die Anwendung haben,
Gibt es eine gute Lösung für meine Idee?
Bevor ich nur die Ansicht (zB Winform oder UserControl) Language
ändern, um verschiedene UI für die entsprechende Sprache zu implementieren.