c# – 如何在Xamarin的整个应用程序中强制本地化文化到en-US
发布时间:2020-12-15 23:47:01 所属栏目:百科 来源:网络整理
导读:如何强制Xamain – Android / iOS在美国英语文化中工作,无论用户设置如何. 我在申请中遇到的问题是,该应用程序仅支持美国/英国英语,但如果用户将语言首选项更改为西班牙语,德语等,则数字日期等格式将更改. 例如, 2.35将代表西班牙语,德语代表2,35. 因此,如果
如何强制Xamain –
Android / iOS在美国英语文化中工作,无论用户设置如何.
我在申请中遇到的问题是,该应用程序仅支持美国/英国英语,但如果用户将语言首选项更改为西班牙语,德语等,则数字日期等格式将更改. 例如, 因此,如果用户尝试使用具有类似语言的应用程序,则应用程序将错过行为或崩溃.在我尝试使用Convert.ToDouble(“2,35”)的情况下会发生崩溃;或类似的. 所以我怀疑是, 在Xamarin中是否有可能强制将文化设置为en-US.可能在一个地方,否则我需要更改我执行转换的所有地方. 请帮忙. 解决方法
您必须在应用中设置当前文化.本地化工作非常好.这就是我做的方式:
public void SetLocale(CultureInfo ci) { Thread.CurrentThread.CurrentCulture = ci; Thread.CurrentThread.CurrentUICulture = ci; } 在这里,您可以从设备中获得文化: public CultureInfo GetCurrentCultureInfo() { var netLanguage = "en"; if (NSLocale.PreferredLanguages.Length > 0) { var pref = NSLocale.PreferredLanguages[0]; netLanguage = iOSToDotnetLanguage(pref); } // this gets called a lot - try/catch can be expensive so consider caching or something CultureInfo ci = null; try { ci = new CultureInfo(netLanguage); } catch (CultureNotFoundException e1) { } } private string iOSToDotnetLanguage(string iOSLanguage) { // Testing special cases.. } 如果您使用PCL项目,请使用抽象.在PCL中使用接口及其在本机项目中的实现. 你可以在这里看到更多: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |