Подтвердить что ты не робот

Локализация библиотеки классов классов С#

Мне нужно очень быстрое введение в локализацию в библиотеке классов

Я не заинтересован в том, чтобы вытащить языковой стандарт из контекста пользователя, вместо этого у меня есть пользователи, хранящиеся в db, и их локаль также настроена в db....

мои функции в библиотеке классов уже могут вывести код локали из профиля пользователя в db... теперь я хочу включить использование resx в зависимости от языка...

Мне нужно несколько шагов, чтобы сделать это правильно...

И да... Я уже изучил это, и некоторые исследования, но все обучающие материалы, которые я могу найти, слишком сложны для моих нужд.

4b9b3361

Ответ 1

К сожалению, этот вопрос слишком сложный.;) Я знаю, я тоже провел исследование.

Чтобы начать работу,

  • создайте каталог ресурсов в своей сборке.

  • Начните с английского и добавьте в этот каталог "Файл ресурсов" (.resx). Назовите его чем-то вроде "text.resx". Если локализованный ресурс не найден, приложение по умолчанию будет выходить из этого файла.

  • Добавьте свои текстовые ресурсы.

  • Добавить другой файл ресурсов. Назовите это что-то вроде "text.es.resx". Обратите внимание на "es" часть имени файла. В этом случае это определяет испанский. Обратите внимание: каждый язык имеет собственное определение кода персонажа. Посмотрите, что.

  • Добавьте к нему свои испанские ресурсы.

Теперь, когда у нас есть файлы ресурсов для работы, попробуйте реализовать.

Чтобы установить культуру, вытащите ее из своей базы данных. Затем выполните следующие действия:

String culture = "es-MX"; // defines spanish culture
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);

Это может произойти в приложении, которое загрузило вашу сборку ИЛИ в самой инициализации сборки. Вы выбираете.

Чтобы утилизировать ресурс, все, что вам нужно сделать, это что-то вроде следующего в вашей сборке:

public string TestMessage() {
  return Resources.Text.SomeTextValue;
}

Ta Da. Ресурсы стали проще. Все может немного усложниться, если вам нужно сменить usercontrols или сделать что-то прямо на странице aspx. Обновите свой вопрос, если вам нужна дополнительная информация.

Обратите внимание, что у вас могут быть файлы ресурсов с именем "text.es-mx.resx". Это будет специфично для мексиканского испанского. Однако это не всегда необходимо, потому что "es-mx" вернется к "es", прежде чем он вернется к умолчанию. Только вы узнаете, насколько конкретны ваши ресурсы.

Ответ 2

Назовите свои рекс с культурой в них (например, resource_en-GB.resx) и выберите, какой ресурс будет запрашиваться на основе культуры.

Ответ 3

Чтобы получить доступ к файлу ресурсов из кода, вам нужно открыть файл ресурса, а затем изменить раскрывающийся список "Модификатор доступа" на "общедоступный", мой был "без генерации кода". После этого вы можете получить доступ, например: Resources.FileName.ResourceName.