Angular 2 i18n-internationalization:message.xlf为空

时间:2016-12-14 12:45:04

标签: angular internationalization

我一直在关注国际化的角烹饪书:https://angular.io/docs/ts/latest/cookbook/i18n.html#!#angular-i18n

经过长时间的依赖调试时间后,我设法生成一个message.xlf文件,没有任何错误,但是, 没有提取任何东西,xlf是空的。

似乎在我的标签中看不到i18n ......

有没有人设法解决这个问题?

message.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>

3 个答案:

答案 0 :(得分:1)

我面临同样的问题,在我的例子中是angular compiler + typescript 2.1.4,回滚到版本2.0.10解决了这个问题。

答案 1 :(得分:0)

在我的情况下,我必须使用parametr'-p path / to / tsconfig.json'启动ng-xi18n,因为我的ts-source文件不在根目录中,它们位于不同的目录中(src / client /,我使用angular-seed @ mgechev从头开始项目)。 我的意思是我在package.json中的i18n任务看起来像:

"i18n": "ng-xi18n -p src/client/tsconfig.json"

然后

$ npm run i18n

将在src / client目录中生成messages.xlf。

答案 2 :(得分:0)

我遇到了完全相同的问题,并通过如下设置 angular.json 中的配置来解决它:

        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "<projectName>:build:<configuration>"
          }
         },

哪里:

  • projectName:项目名称
  • configuration:“configurations”部分中提供的配置名称