Quando vogliamo rendere la nostra applicazione per tutti gli utenti (parlare lingue diverse), abbiamo bisogno di una tecnologia globale.
In C# usiamo ResourceManager come segue:Best practice per le risorse globali 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!
L'assemblea hanno due o più risorse linguistiche:
Assembly
| --Assembly.en-us.resx
| --Assembly.zh- cn.resx
Quindi archiviamo per modificare la risorsa modificando thread cultureinfo per utilizzare risorse diverse.
Se l'applicazione ha molti file di dll (assemblaggio).
Voglio avere un singolo punto (un file di risorse per una lingua) per l'applicazione,
C'è una buona soluzione per la mia idea?
Prima di modificare solo la vista (ad esempio, WInform o UserControl) Language
per implementare UI diverse per la lingua corrispondente.