2011-01-23 6 views
3

私はリソースを翻訳のために使用するアプリケーションを持っています。これは素晴らしい作品です。 今、特別な要件があります。このために、別の言語用のリソースDLLをロードする必要があります(たとえば、アプリケーションが起動して英語で動作し、ドイツ語の翻訳をロードする必要があります)。他の言語のリソースをロードする

これを行う簡単な方法はありますか?

あなたがこのResourceManagerをロードする必要があり、特定の言語のためのリソースを必要とする場合は、使用して、特定のカルチャを使用して、彼らのために依頼する必要があります

答えて

3

GetObject(String, CultureInfo) 

あなたはその文化を創造することができます

new CultureInfo(string name) 

それとも

CultureInfo.CreateSpecificCulture(string name) 
01:あなたが使用して必要

それとも

CultureInfo.GetCultureInfo(string name) 

名前がカルチャ名です、あなたがそれを作ることができますcultures

1
using System.Resources; 
using System.Reflection; 

Assembly gerResAssembly = Assembly.LoadFrom("YourGerResourceAssembly.dll"); 
var resMgr = new ResourceManager("StringResources.Strings", gerResAssembly); 
string gerString = resMgr.GetString("TheNameOfTheString"); 
1

:「EN」の英語、「デ」ドイツ語...あなたは、次のリンクを完全なリストを表示することができますGetString と一緒に呼び出すと、CultureInfoが必要です。例えば :

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")); 

`