【问题标题】:Translate dynamic values with angular 5使用角度 5 转换动态值
【发布时间】:2018-12-24 18:50:54
【问题描述】:

我有一个英文和德文的 json 翻译文件。

它们看起来像这样

en.json

"COLORS": {
        "BLUE": "Blue",
        "RED": "Red",
        "GREEN": "Green"
}

德国人也一样。

我有一个人对象,它有一个数组颜色 []。一个人可以有蓝色和红色。然后它看起来像这样:

person.colors[0] = "BLUE";
person.colors[1] = "RED";

如您所见,我将翻译的键保存在数组中,而不是值。

现在我正在遍历这个人的颜色,例如:

<div *ngFor="let color of person.colors">
    <p>{{'COLORS.color' | translate}}</p>
</div>

但我没有得到任何输出。可能是什么问题?

我已经看过这篇帖子angular-translate: Translate dynamic value,但对我没有帮助。

【问题讨论】:

    标签: arrays json angular dynamic translate


    【解决方案1】:

    试试这个方法

    <div *ngFor="let color of person.colors">
        <p>{{'COLORS.'+color | translate}}</p>
    </div>
    

    【讨论】:

    • 我将密钥作为输出,如 BLUE 或 red.. 但我需要这些值
    • 是的,我知道。如果您正确配置翻译,它将起作用,因为我已经尝试过上述语法
    • 我也在使用这个,我用其他翻译测试过它,它可以工作。我认为它也必须适用于这种情况,但我不知道如何。我应该翻译密钥,然后将其值作为输出。
    • 在您的代码中,应用模块或共享模块中的 TranslateModule.forRoot(),它应该在应用模块中
    • 在app模块中使用TranslateModule.forRoot(),在共享模块中使用Translate模块而不使用forRoot()。应该这样做(stackblitz.com/edit/…)
    猜你喜欢
    • 2018-07-31
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 2023-03-27
    相关资源
    最近更新 更多