Загрузить ресурсы для другого языка - PullRequest
4 голосов
/ 23 января 2011

У меня есть приложение, которое работает с ресурсами для перевода.Это работает отлично.Теперь у меня есть особое требование.Для этого мне нужно загрузить ресурс-dll для другого языка (например, приложение запускается и работает с английским языком, затем я также должен загрузить немецкие переводы) и найти его для перевода.

Есть ли простой способ сделать это?

Ответы [ 3 ]

4 голосов
/ 24 января 2011

Вам нужно загрузить менеджер ресурсов, и если вам нужны ресурсы для определенного языка, вам нужно будет запросить их, используя конкретную культуру, используя:

GetObject(String, CultureInfo)

Вы можете создать необходимую культуруиспользуя:

new CultureInfo(string name)

Или

CultureInfo.CreateSpecificCulture(string name)

Или

CultureInfo.GetCultureInfo(string name)

Название - название культуры: "en" английский, "de" немецкий ...Вы можете увидеть полный список по следующей ссылке: культуры

1 голос
/ 03 июля 2014

Вы можете сделать это с помощью 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"));

`

1 голос
/ 23 января 2011
using System.Resources;
using System.Reflection;

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