Локализация I18n/слияние не работает в Angular 10 после обновления с Angular 7

Угловой интерфейс командной строки: 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?


person coder123er    schedule 09.02.2021    source источник
comment
При выполнении команды ниже ---- ng xi18n angular --format=xlf --output-path assets/locale && ng run angular:xliffmerge выдает ошибку ниже ---- Произошло необработанное исключение: не удалось найти реализацию для компоновщика @ngx-i18nsupport/tooling:xliffmerge Дополнительные сведения см. в C:\Users\CENTRA~1\AppData\Local\Temp\ng-r6zg82\angular-errors.log. если что-то придет в голову??   -  person coder123er    schedule 09.02.2021
comment
похоже, что xliffmerge больше не работает в angular 10. Я сгенерировал файл message.xlf, но теперь мне нужно объединить его с другими уже сгенерированными локализованными файлами (es, fr, de) и т. д. Есть ли какой-нибудь другой инструмент или команда, которые я могу использовать для того же??   -  person coder123er    schedule 09.02.2021


Ответы (1)


Проверьте этот инструмент https://www.codeandweb.com/babeledit/tutorials/how-to-translate-your-angular9-app-with-xlf-files

У меня та же проблема, что и у вас, при обновлении до Angular 11, кажется, что инструмент xliffmerge больше не поддерживается, а в репозитории Github нет обновлений. Программа перевода Babel объединяет введенные вами xlf-файлы, устанавливая основной язык, который вы можете перевести на столько языков, сколько вам нужно, а извлечение строк всегда выполняется на основном языке.

person Laura    schedule 18.02.2021