ngx/translate - translate only part of a string

橙三吉。 提交于 2020-01-02 08:19:12

问题


I need to translate strings coming from a server using ngx/translate.

It works fine when i need to translate a string but in some case i need to translate only part of the string.

For example: 'hello Shay' or 'hello John'

And i need to translate only 'hello' and leave the name as is. I tried:

this.i18n.instant('hello {Shay}')

and in the en.json file: "hello {var}": "Hello {var}"

but with no success. Any Ideas how it can be done?


回答1:


You are looking for parametrized translations. You do not need that parameter in the translation key. Try it like this:

en.json:

"hello_name": "Hello {{name}}"

controller:

this.i18n.instant('hello_name', {name: 'Shay'});

or in template:

{{ 'hello_name' | translate: {name: 'Shay'} }}

https://github.com/ngx-translate/core#3-define-the-translations



来源:https://stackoverflow.com/questions/46812294/ngx-translate-translate-only-part-of-a-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!