Я разрабатываю приложение Xamarin.Forms(проект библиотеки портативных классов) с Visual Studio 2013 CE. Сначала я фокусирую версию iOS.
Теперь я думаю о том, как сделать приложение многоязычным. Я просто прочитал официальную документацию Xamarin об этом, но я понял, что это решение принимает только системный язык целевого устройства.
В переносимой библиотеке классов у меня есть папка Resources с тремя языками: немецкий (по умолчанию), английский и французский.
Resource.resx
Resource.en-US.resx
Resource.fr-FR.resx
Resource.Designer.cs
Теперь я создал класс статических настроек, который выглядит так:
public static class Settings
{
public static Dictionary<String, CultureInfo> Languages = new Dictionary<String, CultureInfo> { { "German", new CultureInfo("de-DE") }, { "English", new CultureInfo("en-US") }, { "French", new CultureInfo("fr-FR") } };
public static CultureInfo CurrentCulture = Languages["German"];
public static CultureInfo CurrentUiCulture = Languages["German"];
public static void ChangeCurrentCultureInfo(CultureInfo cultureInfo)
{
Resource.Culture = cultureInfo;
}
}
Теперь мой вопрос в том, можно ли изменить культуру в приложении во время выполнения при нажатии кнопки. Может быть, что-то вроде
Settings.CurrentCulture = Settings.Languages["English"];
Settings.ChangeCurrentCultureInfo(Settings.CurrentCulture);
Кто-нибудь может сказать мне, как это можно сделать?
Привет