从 Angular 7 升级后,I18n 本地化/合并在 Angular 10 中不起作用

问题描述

Angular CLI:10.2.0 节点:12.14.1 操作系统:win32 x64

    \\Angular: 10.1.6
    \\... common,compiler,compiler-cli,core,forms
    \\... language-service,localize,platform-browser
    \\... platform-browser-dynamic,router
    \\Ivy Workspace: Yes

    Package Version
    @angular-devkit/architect 0.13.10
    @angular-devkit/build-angular 0.1001.7
    @angular-devkit/build-optimizer 0.13.10
    \\@angular-devkit/build-webpack 0.1001.7
    @angular-devkit/core 10.2.0
    @angular-devkit/schematics 10.2.0
    @angular/animations 10.2.1
    \\@angular/cdk 10.2.6
    @angular/cli 10.2.0
    @angular/http 7.2.16
    @angular/material 7.3.7
    \\@ngtools/webpack 10.2.0
    @schematics/angular 10.2.0
    @schematics/update 0.1002.0
    \\rxjs 6.6.3
    typescript 4.0.5

上面提到的是我对 Angular 10 的配置。

我们最近从 Angular 7 升级到了 Angular 10。 我们的项目支持 4 种不同的语言环境,我们通过以下命令处理本地化。


"extract-i18n": "ng xi18n \\projectName --i18n-format \\xlf --output-path assets/locale --i18n-locale && ng run \\projectName:xliffmerge"**

这在 Angular 7 中运行良好。但现在它已停止为我们工作并给出错误


ERROR: language "C:\Users \\centraluser\source\repos\FinxFrontend2\node_modules@ngx-i18nsupport\ngx- 
    i18nsupport \\xliffmerge \\xliffmerge" is not valid ERROR: language 
    "C:\Users \\centraluser\source\repos\FinxFrontend2\node_modules@ngx-i18nsupport\ngx- 
    i18nsupport \\xliffmerge\xliffmerge" is not valid ERROR: i18nFile \\messages.xlf is not readable

是否有其他方法可以提取和合并已创建的 \xlf 文件

解决方法

检查这个工具https://www.codeandweb.com/babeledit/tutorials/how-to-translate-your-angular9-app-with-xlf-files

我在更新到 Angular 11 时遇到了与您相同的问题,似乎不再支持 xliffmerge 工具并且 Github 存储库中没有更新。 Babel 的翻译程序会合并您输入的 xlf 文件,建立您可以根据需要翻译成多种语言的主要语言,并且始终对主要语言执行字符串提取。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...