组件输入的Angular i18n国际化

时间:2017-07-20 09:43:16

标签: angular internationalization

在我们新的Angular 4 App中,我们使用集成的i18n功能来翻译应用程序。在AOT编译时完成翻译。一般翻译功能运行良好,但如何处理组件输入的转换:

delete.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent evt) { BufferedReader br = null; try{ String enterID2 = enterID1.getText().trim(); File books = new File("books.txt"); br = new BufferedReader(new FileReader(books)); removeLine(br , books, enterID2); System.out.println("done"); }catch (NumberFormatException e1) { System.out.println("This is not a number"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } });

我们需要翻译[标题]。 accordion-group中的代码是相同的,因此复制不是一种选择。

那么解决这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

Angular4中的内置国际化API对我来说仍然很奇怪。我们在项目中使用ngx-translate,所有翻译都放在语言文件中。 (对我们来说,这些文件采用.toml格式并由toml-loader加载。)在提到的库中,您可以通过这种方式实现目标:

<accordion-group [heading]="model.type == 3 ? ('Heading_1' | translate) : ('Heading_2' | translate) ">....<accordion-group>

所以如果它是你的选择 - 我会迁移......