На моем объекте у меня есть это:
[Display(Name = "Country", Order = 3, ResourceType = typeof(DisplayMemberResources))]
public string Country { get; set; }
Тогда у меня есть файлы моих ресурсов (resx):
-DisplayMemberResources.resx (с файлом конструктора), Значение Ключ "Страна" = "Страна"
-DisplayMemberResources.fr.resx, Значение ключа "Страна" = "Платит"
Моя проблема в том, что мое приложение имеет информацию о культуре, равную в FR-FR, но когда я выполняю приведенный ниже код, ResourceManager загружает значение из нейтрального файла ресурсов, а не из культуры, которую я ему предоставляю в параметре.
private static string lookupRessource(Type resourceManagerProvider, string resourceKey) {
foreach (PropertyInfo staticProperty in resourceManagerProvider.GetProperties(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public)) {
if (staticProperty.PropertyType == typeof(ResourceManager)) {
ResourceManager resourceManager = new ResourceManager(resourceManagerProvider);
Console.WriteLine("ResourceKey: " + resourceKey);
Console.WriteLine("Culture: " + CultureInfo.CurrentCulture);
Console.WriteLine("Result: " + resourceManager.GetString(resourceKey, CultureInfo.CurrentCulture));
return resourceManager.GetString(resourceKey, CultureInfo.CurrentCulture);
}
}
return resourceKey;
}
ResourceKey: Country
Культура: FR-FR
Результат: Страна (когда она должна быть "Платит")
Я что-то упустил? как определить где-нибудь разные культуры, с которыми могут справиться мои ресурсы