首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xamarin Forms:独立于操作系统设置设置应用程序语言

Xamarin Forms:独立于操作系统设置设置应用程序语言
EN

Stack Overflow用户
提问于 2015-03-11 18:38:52
回答 1查看 3.2K关注 0票数 2

Out客户端希望我们正在开发的应用程序的语言可以独立于操作系统设置进行配置。我已经开始使用how-to:http://developer.xamarin.com/guides/cross-platform/xamarin-forms/localization/设置本地化,这很好用。

现在,我正在尝试从应用程序的存储设置中,在所有三个应用程序中设置CurrentUICulture (或等效设置)。我已经扩展了ILocalize界面以允许设置,WinPhone不成问题,但是Android和iOS让我摸不着头脑。

这是android代码。

代码语言:javascript
运行
复制
public class Localize : AppResources.ILocalize
{
    public CultureInfo CurrentUICulture
    {
        get
        {
            var androidLocale = Locale.Default;
            var netLanguage = androidLocale.ToString().Replace("_", "-"); // turns fi_FI into fi-FI

            return new CultureInfo(netLanguage);
        }

        set
        {
            var locale = value.ToString().Replace("-", "_");

            Locale.Default = new Locale(locale);
        }
    }
}

它可以部分工作,但由于某些我不知道的原因,只翻译了一些资源字符串(可能是在xaml中设置的那些?)。

在iOS中,我不知道如何设置语言环境。

有什么建议吗?有更好的主意吗?不幸的是,只使用手机的语言不是一种选择。

EN

回答 1

Stack Overflow用户

发布于 2017-03-10 19:14:36

在iOS上,我成功地将CultureInfo设置如下:

代码语言:javascript
运行
复制
        CultureInfo newCulture = // whatever :)
        // make sure the following is executed on the UI thread
        System.Threading.Thread.CurrentThread.CurrentCulture = newCulture;
        System.Threading.Thread.CurrentThread.CurrentUICulture = newCulture;

这会影响DateTime等的字符串格式,但不会影响本机控件的外观,如日期选取器的日期格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28984326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档