Angular 6更改值取决于语言环境

时间:2018-07-17 20:38:15

标签: angular internationalization

我有一个应用程序,其中有两个用于可翻译字段的值,例如:name_es(西班牙语)和name_en(英语)。

有没有一种方法可以根据地区来更改模板中的值?

我需要的是,如果我使用英语,则显示的值为name_en,如果使用西班牙语,则使用name_es。

致谢

2 个答案:

答案 0 :(得分:1)

我设法通过以下方式解决此问题:

我的翻译文件中有以下翻译单位:

<trans-unit id="fa5f79882ea84c0027e851ef6e417e53b55109ed" datatype="html">
    <source><x id="INTERPOLATION" equiv-text="{{ country.name_en }}"/></source>
    <target>{{ country.name_es }}</target>
    <context-group purpose="location">
      <context context-type="sourcefile">app/about-iica/about-iica.component.ts</context>
      <context context-type="linenumber">18</context>
    </context-group>
    <context-group purpose="location">
      <context context-type="sourcefile">app/about-iica/about-iica.component.ts</context>
      <context context-type="linenumber">20</context>
    </context-group>
  </trans-unit>

请注意<target>{{ country.name_es }}</target>部分

通过切换该部分,我将呈现变量name_es而不是name_en。

答案 1 :(得分:0)

阅读doc可以使用新的angular i18n模块