C# 加载其他语言的资源
我有一个应用程序,它与翻译资源一起工作。这很有效。 现在,我有一个特殊的要求。为此,我必须加载另一种语言的资源dll(例如,应用程序启动并使用英语,然后我还必须加载德语翻译),并查看它的翻译C# 加载其他语言的资源,c#,resources,load,translation,C#,Resources,Load,Translation,我有一个应用程序,它与翻译资源一起工作。这很有效。 现在,我有一个特殊的要求。为此,我必须加载另一种语言的资源dll(例如,应用程序启动并使用英语,然后我还必须加载德语翻译),并查看它的翻译 有没有一种简单的方法可以做到这一点?您需要加载resourcemanager,如果您需要特定语言的资源,您需要使用特定的区域性来请求它们,使用: using System.Resources; using System.Reflection; Assembly gerResAssembly = Assem
有没有一种简单的方法可以做到这一点?您需要加载resourcemanager,如果您需要特定语言的资源,您需要使用特定的区域性来请求它们,使用:
using System.Resources;
using System.Reflection;
Assembly gerResAssembly = Assembly.LoadFrom("YourGerResourceAssembly.dll");
var resMgr = new ResourceManager("StringResources.Strings", gerResAssembly);
string gerString = resMgr.GetString("TheNameOfTheString");
GetObject(String, CultureInfo)
您可以使用以下方法创建所需的区域性:
new CultureInfo(string name)
或
或
这个名字是文化的名字:“恩”英语,“德”德语。。。您可以在以下链接上看到完整列表:您可以使用
与您需要的具体信息一起调用。
例如:
using System.Resources;
using System.Reflection;
Assembly gerResAssembly = Assembly.LoadFrom("YourGerResourceAssembly.dll");
var resMgr = new ResourceManager("StringResources.Strings", gerResAssembly);
// for example german:
string strDE = resMgr.GetString("TheNameOfTheString", new CultureInfo("de"));
// for example spanish
string strES = resMgr.GetString("TheNameOfTheString", new CultureInfo("es"));
`
CultureInfo.GetCultureInfo(string name)
using System.Resources;
using System.Reflection;
Assembly gerResAssembly = Assembly.LoadFrom("YourGerResourceAssembly.dll");
var resMgr = new ResourceManager("StringResources.Strings", gerResAssembly);
// for example german:
string strDE = resMgr.GetString("TheNameOfTheString", new CultureInfo("de"));
// for example spanish
string strES = resMgr.GetString("TheNameOfTheString", new CultureInfo("es"));