【问题标题】:Xamarin Forms localization and mvvmXamarin Forms 本地化和 mvvm
【发布时间】:2016-11-28 19:35:53
【问题描述】:

我正在从服务器接收数据,我应该将其本地化并放入 ViewModel。

我将 json 格式的响应数据序列化为 .NET 对象。

例如,我需要将布尔变量“True”或“False”本地化为英语或将不同的 UI 语言本地化为“Free”或“Busy”。

我使用资源文件 (*.resx) 进行本地化。

建议我使用经典 MVVM 在 Xamarin.Forms 应用中执行此操作的最佳方法。

【问题讨论】:

    标签: c# mvvm localization xamarin.forms


    【解决方案1】:

    Here 是一个非常详细的文档,介绍了如何使用 resx 将本地化添加到您的项目中。

    在您的情况下,当您获得 True 时,我请求“Free”的本地化密钥。

    例如,如果您有一个名为 Status 的属性,您可以通过这种方式对其进行本地化

     public string Status
            {
                get
                {
                    if (_isBusy)
                    {
                        return AppResources.Status_Busy;
                    }
                    else
                    {
                        return AppResources.Status_Free;
                    }
                }
                set
                {
                    _status = value;
                    OnPropertyChanged(); 
                }
            }
    

    【讨论】:

    • 谢谢。我得到一个 *.resx 文件。我知道如何本地化静态数据,但我不知道如何处理动态数据
    • 我会放 switch 案例或 If 语句。你是这个意思吗 ?如果我没有正确回答,你能输入一些代码吗?
    • 我从服务器获取数据并使用 MVVM 和 bindingContext 到 XAML。我想将本地化字符串从 ViewModel 放到 XAML。
    • 检查我更新的答案,如果这不能回答您的问题,请告诉我。
    • _localizer 来自哪里?答案的主要部分似乎是从天上掉下来的。
    猜你喜欢
    • 2018-03-17
    • 2021-07-12
    • 2017-08-13
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 2017-03-09
    • 1970-01-01
    • 2021-06-29
    相关资源
    最近更新 更多