Angular执行ng xi18n报错无extract-i18n目标,如何生成xlf文件
问题根因
执行ng xi18n命令报错的核心原因是你的angular.json配置中,webadmin项目的architect节点下缺失extract-i18n执行目标配置,命令找不到对应的执行入口。
解决方案
步骤1:添加extract-i18n配置
打开你的angular.json文件,找到projects > webadmin > architect节点,在build、serve配置的平级位置,新增如下配置:
"extract-i18n": { "builder": "@angular-devkit/build-angular:extract-i18n", "options": { "browserTarget": "webadmin:build", "outputPath": "src/locale", "outFile": "messages.xlf", "format": "xlf" } }
步骤2:执行提取命令
配置添加完成后,在项目根目录执行以下任意命令即可生成xlf源文件:
ng xi18nng extract-i18n
生成的messages.xlf文件默认会输出到你配置的src/locale目录下。
自定义trans-unit id方法
如果你需要自定义翻译项的id,不需要手动修改xlf文件,直接在模板的i18n属性中指定即可,示例写法:
<!-- 格式:i18n="@@自定义id" --> <button i18n="@@submitBtnId">提交</button>
执行提取命令时会自动生成对应id的trans-unit节点,source字段为源语言内容,你只需在对应语言的xlf文件中补充target字段的翻译内容即可。
内容的提问来源于stack exchange,提问作者Yzak
相关产品推荐
相关产品推荐

