Angular 2 INTERNATIONALIZATION(I18N):无法在ganerated xlf文件中找到目标标记

时间:2017-05-22 09:14:44

标签: angularjs typescript internationalization

我正在使用angular-cli,然后使用angular-io生成西班牙语。

app.component.html

<h2 i18n="header">Login form</h2>
<div>
  <span i18n>Email</span>
  <input type="text" placeholder="Your email" i18n-placeholder>
</div>
<div>
  <span i18n>Password</span>
  <input type="password" placeholder="Password" i18n-placeholder>
</div>

<hr>

<div i18n>If you want to search something, go to <a href="http://google.com">Google</a></div>

message.es.xlf

 <?xml version="1.0" encoding="UTF-8" ?> 
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">   
<file source-language="en" datatype="plaintext" original="ng2.template">
        <body>
        </body>   
</file>
 </xliff>

在完成message.es.xlf后获取生成的./node_modules/.bin/ng-xi18n文件,但无法在该文件中找到目标标记。 请帮帮我

2 个答案:

答案 0 :(得分:0)

有点晚但可能会帮助别人。有同样的问题,我通过指定输出文件来解决它:

./node_modules/.bin/ng-xi18n  --i18nFormat=xmb  --outFile=messages.xmb

答案 1 :(得分:0)

现在是2019年,当我回到Angular时,我发现了同样的问题。问题是您的XLF文件的每对源标签都必须有一对目标标签。您可以通过复制,粘贴和重命名源标签来手动添加这些标签,或者可以使用以下脚本:

https://github.com/geocarlos/angular-i18n-target-tagger