Я работаю над добавлением локализации в мою библиотеку классов.В настоящее время у меня есть два файла ресурсов: Strings.resx и Strings.es.resx.
Оба файла находятся под «внутренним» модификатором доступа, хотя я попытался установить оба «public» без какой-либо помощи.
Моя проблема в том, что испанский файл ресурсов (Strings.es.resx) не загружается;и эта проблема повторится с другими файлами ресурсов, которые я добавлю для других языков.Strings.resx работает нормально, поскольку это файл ресурсов по умолчанию.
Этот код используется для получения загруженных файлов ресурсов строк;в настоящее время загружается только файл по умолчанию.Испанский не появляется:
private static void LoadLanguages()
{
var cultures = CultureInfo.GetCultures(CultureTypes.AllCultures);
foreach (var culture in cultures)
{
try
{
var rs = Properties.Lang.Strings.ResourceManager.GetResourceSet(culture, true, false);
if (rs != null) SupportedLanguages.Add(culture.Name.ToLower(), culture.NativeName);
}
catch (Exception)
{
// ignored
}
}
Log.Info("Loaded languages: " + SupportedLanguages.Count); //OUT: 1
}
Я сделал открытие, хотя.В моих результатах сборки есть папка "es", и внутри этой папки есть DLL с именем Project.resources.dll
.Если я скопирую эту DLL в корневую папку выходных данных сборки, ресурс загрузится.
Решение этой проблемы состоит в том, чтобы загрузить эти файлы ресурсов из папок.По какой-то причине этого не происходит.Есть ли известное решение для этого?Спасибо.