Angular 2 I18N:动态反馈



我有一个Angular 2应用程序,该应用当前使用NG2-Translate来管理GUI的多种语言。它正在与API进行通信,该API使用HTTP状态代码和自定义API代码的组合响应请求。

所以我可以在http呼叫的情况下重新获取此内容:

{
    success = true,
    code = 'A00001'
}

我有一个文档可以解释" A00001"的含义,因此我知道要加载的翻译。

现在,我想进行切换以使用Angular自己的I18N解决方案。主要是因为我想使用尽可能少的第三方库,但最重要的是,它为提供翻译的上下文提供了更好的支持。

查看Angular.io上I18N的文档,看起来很简单,但是唯一使我退缩的是我将如何处理API的响应。

由于在编译过程中替换/翻译所有字符串,我才能在API中检测到特定代码?

这基本上是我现在要做的:

switch(response.code) {
    case 'A00001':
        feedback = this._translateService.instant('translationKey');
    break;
}

然后,我向GUI中的用户提供了反馈。

如何使用Angulars I18N解决方案解决此问题?

我一直在尝试自己弄清楚。

a)同事所做的只是翻译DOM上的所有字符串并获得服务获取这些元素的HTML内容,设置无需ofcourse。

b)作为替代方案,您可以在DOM上有一个开关案例,以解决所有可能的错误,并使用 *ngif。

相应地显示

c)A和B的组合,您可以将其作为单独的组件 服务创建。您可以在需要动态错误消息传递的任何地方使用 - 这样您的编译视图将不一定包含不必要的翻译。

最新更新