Xamarin 表单多语言应用程序

Xamarin forms multi language app

我正在使用 xamarin 表单编写应用程序 我希望它支持 3 种语言英语法语和阿拉伯语 我该怎么办??
我可以做到这一点,但只能在安装应用程序的设备的语言上实现,例如,如果模拟器使用阿拉伯语,应用程序将显示阿拉伯语我怎样才能让用户选择他想要的语言,比如按钮或任何人都可以帮忙的东西我请

我想要 运行 语言的时间变化 像 facebook 一样,你可以在登录页面上选择语言,而不关心设备语言

提前致谢

我想你可以看看这个 Xamarin Forms 示例。 它使用 RESX 文件。

TodoLocalized

在您的代码中,您可以创建一个带有语言描述的选择器。例如

    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);

            }
        };

现在您应该刷新页面以查看新语言的字符串

希望对您有所帮助