/ / C # промяна на програмния език на приложението (Потребителски предпочитания) - c #, локализация, windows-phone-8.1

C # промяна на програмния език на приложението (User prefference) - c #, локализация, windows-phone-8.1

Имам нужда от няколко съвета за това как да променяте езика на приложението. (Windows 8.1)

Така че тук е моят код, който поставя под OnLaunched метод, Той получава сегашната предпочитан launguage. Използвам набор от инструменти за многоезични приложения. Имам всички ресурсни файлове.

Но нямам представа какво да правя след това.

var rootFrame1 = new Frame(); rootFrame1.Language = Windows.System.UserProfile.GlobalizationPreferences.Languages[0];

Отговори:

4 за отговор № 1

Трябва да зададете ток CultureInfo имоти по този начин:

var culture = new CultureInfo("en-US");
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = culture.Name;
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;

0 за отговор № 2

Някои ресурси сочат поставянето на този код в конструктора на страници, за да реагират на променения език, който сте избрали

ResourceContext.GetForCurrentView().QualifierValues.MapChanged +=
(IObservableMap<string, string> sender, IMapChangedEventArgs<string> e) =>
{
ResourceManager.Current.DefaultContext.Reset();
};

Също така си струва да се спомене, че предпочитаният метод за промяна на езика е настройка Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride Имот.

Това не е толкова добро за Windows Phone 8.1, но някои твърдят, че това е разрешило техния проблем на Windows 8.1.