【发布时间】:2017-04-24 22:32:32
【问题描述】:
我有一个 Angular 2 应用程序,它当前使用 ng2-translate 来管理 GUI 的多种语言。它与使用 HTTP 状态代码和自定义 API 代码组合响应请求的 API 进行通信。
例如,我可以通过 HTTP 调用将其取回:
{
success = true,
code = 'A00001'
}
我有一个解释“A00001”含义的文档,所以我知道要加载什么翻译。
现在,我想改用 Angular 自己的 i18n 解决方案。主要是因为我想尽可能少地使用第三方库,但最重要的是因为它在为翻译提供上下文方面提供了更好的支持。
查看文档for i18n on angular.io,它看起来非常简单,但唯一让我退缩的是我将如何处理来自 API 的响应。
由于所有字符串在编译期间都被替换/翻译,我如何检索翻译后的字符串并仅在我从 API 中检测到特定代码时显示它?
这基本上就是我现在所做的:
switch(response.code) {
case 'A00001':
feedback = this._translateService.instant('translationKey');
break;
}
然后我在 GUI 中为用户呈现反馈。
如何使用 Angulars i18n 解决方案来解决这个问题?
【问题讨论】:
标签: angular internationalization