Blazor ResourceManager не загружает хорошие ресурсы культуры - PullRequest
0 голосов
/ 17 февраля 2020

На моем объекте у меня есть это:

[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
Результат: Страна (когда она должна быть "Платит")

Я что-то упустил? как определить где-нибудь разные культуры, с которыми могут справиться мои ресурсы

...