枚举列表的Object.keys在Angular 6上没有得到翻译

时间:2019-04-01 14:26:45

标签: angular typescript ecmascript-6

我声明了一个.ts文件,其中包含一些枚举。 在组件中,我可以用来遍历Object并获取键的值,但它们不会被翻译,如果我写Object.values会被翻译,但是问题是当单击枚举时,它不会关键,但价值。 语言在assets/i18n中定义。 关键是一个字符串。

所以我有两个问题。
 1.获取密钥但显示值。
 2.翻译值,但单击获取键。

这是我的代码。

export enum Todo {
'TODO' = 'todo.TODO',
'TODO1' = 'todo.TODO1',
'TODO2' = 'todo.TODO2'
}

在组件上,我有这样的东西

public myTodo: any = {};

constructor(translateService: TranslateService){}

this.translateService.get(Object.keys(Todo)).subscribe(res => {
this.myTodo = res;
});

这是我翻译的密钥。

"todo": {
   "TODO": "Here create Something",
   "TODO1": "Here Approve Something",
   "TODO2": "Here Decline Something"
}

错误总是出现Missing translation for key: TODOMissing translation for key: TODO1,但是如果我做出Object.values(Todo)的话就可以了,但问题是当我点击获取价值时却没有key,在我的情况下是TODO, TODO1, TODO2,但是使用了值,因此我无法将类似的内容发送给后端。

0 个答案:

没有答案