【问题标题】:Angular 2 i18n-internationalisation : message.xlf is emptyAngular 2 i18n-internationalisation:message.xlf 为空
【发布时间】:2017-04-29 19:23:30
【问题描述】:

我一直在关注 Angular 国际化食谱: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>

【问题讨论】:

    标签: angular internationalization


    【解决方案1】:

    我面临同样的问题,在我的情况下是角度编译器 + typescript 2.1.4,回滚到版本 2.0.10 解决了这个问题。

    【讨论】:

    • 谢谢!这确实是打字稿的版本问题,我卸载了它并安装了2.0.8版本,它可以工作
    【解决方案2】:

    在我的情况下,我必须使用参数'-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。

    【讨论】:

      【解决方案3】:

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

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

      地点:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-20
        • 2017-05-02
        • 1970-01-01
        相关资源
        最近更新 更多