无法在无法使用i18n的角度7中进行文件本地化/翻译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在无法使用i18n的角度7中进行文件本地化/翻译相关的知识,希望对你有一定的参考价值。

我已经构建了一个Angular 7应用程序。现在,我们计划以多种语言支持它。问题在于我们根据API调用在页面上显示的成功/失败消息。为此,我们使用一个定义了变量id的全局文件。如何转换此文件,并按语言环境在应用程序中使用。目前,我正在将文件导入到任何地方,就像这样。

从'/ globalModule / globalMsg'导入{GlobalMsg};

并且使用类似的errorMsg = GlobalMsg.errorMsg;

文件'globalMsg'的定义如下。

导出类GlobalMsg {

// Global Msgs
public static errorMsg = 'Some error occured';

}

谢谢。

答案

而不是将翻译后的字符串保留在GlobalMsg文件中,而是使用翻译键对其进行更新。

export class GlobalMsg {
  public static errorMsg = "global.errorMsg"
}

在每个语言环境JSON的转换JSON文件中,使用相应的定义定义这些键

en.json

{
 global.errorMsg: "Invalid data"
}

fr.json

{
 global.errorMsg: "Données invalides"
}

html

<p [innerHTML]="errorMsg | translate"></p>

以上是关于无法在无法使用i18n的角度7中进行文件本地化/翻译的主要内容,如果未能解决你的问题,请参考以下文章

如何在EJS和gulp中实现i18n本地化?

select2 + requirejs:无法捆绑 i18n 文件

使用angular 7时无法使用passport-jwt在快递Js中进行授权

如何为仅支持Ruby的项目向i18n添加可用的语言环境?

无法将JSON数据访问到角度(.ts)文件中

聚合物的本地化?