Xamarin 表单多语言应用程序
Xamarin forms multi language app
我正在使用 xamarin 表单编写应用程序
我希望它支持 3 种语言英语法语和阿拉伯语
我该怎么办??
我可以做到这一点,但只能在安装应用程序的设备的语言上实现,例如,如果模拟器使用阿拉伯语,应用程序将显示阿拉伯语我怎样才能让用户选择他想要的语言,比如按钮或任何人都可以帮忙的东西我请
我想要 运行 语言的时间变化
像 facebook 一样,你可以在登录页面上选择语言,而不关心设备语言
提前致谢
我想你可以看看这个 Xamarin Forms 示例。
它使用 RESX 文件。
在您的代码中,您可以创建一个带有语言描述的选择器。例如
List<string> _language = new List<string>();
List<string> _languageDescription = new List<string> ();
// Strings used to identify RESX
_language.Add ("it");
_language.Add ("en");
// Strings visualized in picker
_languageDescription.Add (AppResources.Italian);
_languageDescription.Add (AppResources.English);
// Fill the picker with _languageDescription values
Picker _pickerLanguage = new Picker ();
_pickerLanguage.Items.Clear ();
foreach (string language in _languageDescription)
_pickerLanguage.Items.Add (language);
// When I select a language, I change the AppResource.Culture value
_pickerLanguage.SelectedIndexChanged += async (object sender, EventArgs e) => {
if(_pickerLanguage.SelectedIndex >= 0){
// Search the "_language" value that has the same index of selected _languageDescription value
string myLanguage = _language [_languageDescription.FindIndex (o => o == _pickerLanguage.Items [_pickerLanguage.SelectedIndex])];
// Modify the culture
AppResources.Culture = new CultureInfo (myLanguage);
}
};
现在您应该刷新页面以查看新语言的字符串
希望对您有所帮助
我正在使用 xamarin 表单编写应用程序
我希望它支持 3 种语言英语法语和阿拉伯语
我该怎么办??
我可以做到这一点,但只能在安装应用程序的设备的语言上实现,例如,如果模拟器使用阿拉伯语,应用程序将显示阿拉伯语我怎样才能让用户选择他想要的语言,比如按钮或任何人都可以帮忙的东西我请
我想要 运行 语言的时间变化 像 facebook 一样,你可以在登录页面上选择语言,而不关心设备语言
提前致谢
我想你可以看看这个 Xamarin Forms 示例。 它使用 RESX 文件。
在您的代码中,您可以创建一个带有语言描述的选择器。例如
List<string> _language = new List<string>();
List<string> _languageDescription = new List<string> ();
// Strings used to identify RESX
_language.Add ("it");
_language.Add ("en");
// Strings visualized in picker
_languageDescription.Add (AppResources.Italian);
_languageDescription.Add (AppResources.English);
// Fill the picker with _languageDescription values
Picker _pickerLanguage = new Picker ();
_pickerLanguage.Items.Clear ();
foreach (string language in _languageDescription)
_pickerLanguage.Items.Add (language);
// When I select a language, I change the AppResource.Culture value
_pickerLanguage.SelectedIndexChanged += async (object sender, EventArgs e) => {
if(_pickerLanguage.SelectedIndex >= 0){
// Search the "_language" value that has the same index of selected _languageDescription value
string myLanguage = _language [_languageDescription.FindIndex (o => o == _pickerLanguage.Items [_pickerLanguage.SelectedIndex])];
// Modify the culture
AppResources.Culture = new CultureInfo (myLanguage);
}
};
现在您应该刷新页面以查看新语言的字符串
希望对您有所帮助