使用xamarin表单编写应用程序 我希望它支持3种语言英语freinch和阿拉伯语 我怎么能这样做? 我可以实现它,但仅限于安装应用程序的设备语言,例如,如果模拟器使用阿拉伯语,应用程序将显示阿拉伯语如何让用户选择他想要的语言,如按钮或任何人都可以帮助我请
我希望它像语言中的运行时更改一样 像facebook一样,你可以在登录页面上选择语言而不关心设备语言
提前致谢
答案 0 :(得分:1)
我想你可以看看这个Xamarin Forms Sample。 它使用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);
}
};
现在您应该刷新页面以查看使用新语言的字符串
希望这个帮助