Как показать изображение на основе текущей культуры

У меня есть изображения, которые я хотел бы показать в CustomMessageBox, которые имеют текст внутри них, основываясь на текущих настройках языка пользователя на их устройстве. Я не хочу делать ошибку, показывая пользователю изображение на языке, который он не понимает или не распознает. Я понял, что есть два варианта System.Globalization, CurrentCulture а также CurrentUICulture, Я хочу быть уверен, что показываю правильное изображение пользователю в зависимости от того, что он ожидает увидеть. Я не уверен, что использовать, и конкретные различия. Я знаю, что у пользователя может быть набор культур и другой набор интерфейсов.

C#

//string resourceLanguage = System.Globalization.CultureInfo.CurrentCulture.ToString();
string resourceLanguage = System.Globalization.CultureInfo.CurrentUICulture.ToString();
            string imagePath = "Assets/Screenshots/" + resourceLanguage + "/" + Constants.inAppScreenshot + ".png";
            CustomMessageBoxContent cmbc = new CustomMessageBoxContent(); //a custom class I defined to handle the image

            CustomMessageBox messageBox = new CustomMessageBox()
            {
                Caption = "\n" + AppResources.App_Caption,
                Message = "\n" + AppResources.App_Message + "\n",
                LeftButtonContent = AppResources.App_OK,
                Content = cmbc.CreateImage(imagePath),
                FlowDirection = App.flow
            };

            ...

1 ответ

Вы можете прочитать это http://forums.asp.net/post/1080435.aspx

Короче говоря, CurrentCulture имеет отношение к форматированию валюты и даты. В то время как CurrentUICulture имеет отношение к ResourceManager, который используют программы.

Люди могут изменить оба этих параметра по многим причинам, возможно, им нужен формат даты на французском языке, а приложения Windows - на английском. Или они хотят играть в игру, которая может быть запущена только на японском языке, и у них есть испанский формат даты.

Лучшим вариантом будет выбрать CurrentUICulture потому что иногда компьютеры приходили с форматом даты по умолчанию на языке, отличном от страны пользователя.

Другие вопросы по тегам