Xamarin.forms 沙马林形成全球化

Xamarin.forms 沙马林形成全球化,xamarin.forms,cross-platform,globalization,currentuiculture,Xamarin.forms,Cross Platform,Globalization,Currentuiculture,我已经看过了以Xamarin形式发表的关于全球化的文章。本文指出我需要创建一个接口,以便在每个平台上访问该语言。然而,在我的上一个应用程序中,我可以简单地将这行代码放在我的共享代码中,它似乎可以很好地获得语言: ls_Language = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName; 是否有原因使用Xamarin表单中的资源文件,类似于此的代码行不适用于全球化?是的,您的代码是在应用程序首次加载时设置资源区域性,这与在Xamari

我已经看过了以Xamarin形式发表的关于全球化的文章。本文指出我需要创建一个接口,以便在每个平台上访问该语言。然而,在我的上一个应用程序中,我可以简单地将这行代码放在我的共享代码中,它似乎可以很好地获得语言:

ls_Language = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;

是否有原因使用Xamarin表单中的资源文件,类似于此的代码行不适用于全球化?

是的,您的代码是在应用程序首次加载时设置资源区域性,这与在Xamarin.Forms应用程序类中使用DependencyService调用接口并将RESX资源区域性设置为正确的值是一样的


如果用户在应用程序运行时更新其语言首选项,您可以根据iOS或Android上可能引发的特定于平台的事件选择性地更新此值。因此,您需要使用ILocalize接口。

您能告诉我,当您尝试访问该属性时,该属性现在返回了什么吗?Cherry Bu感谢您的反馈。如果我犯了一个错误,请纠正我,但简单地重新检查应用程序OnResume中的设置也可以完成相同的任务,对吗?也就是说,如果用户离开应用程序更改其语言,OnResume方法将在用户返回应用程序时触发。