Я разрабатываю приложение на двух разных языках (fa / en), используя Angular Интернационализация (i18n) .
- Цель состоит в том, чтобы развернуть два разных встраивается в подпапки на сервере (example.com/en/...)
- Эти сборки отличаются не только переводом, но и стилями и направлениями компоновки.
Я могу обслуживать любую из локализаций (языков) следующим образом
"architect": {
"build": {
...
,
"configurations": {
...
},
"fa": {
"localize": ["fa"],
"baseHref": "/fa/"
},
"en": {
"localize": ["en"],
"baseHref": "/en/"
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "app:build"
},
"configurations": {
"production": {
"browserTarget": "app:build:production"
},
"en": {
"browserTarget": "app:build:en"
},
"fa": {
"browserTarget": "app:build:fa"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "app:build"
}
},
...
}
А потом ng serve --configuration=en
работает и у меня это на http://localhost:4200/en/...
Но Мне нужно обслуживать оба языка одновременно Во время разработки нужно работать над стилями и правильной версткой и проверять переводы. Если я пытаюсь сделать это в конфигурации сборки "localize": ["fa","en"]
, я получаю следующую ошибку:
An unhandled exception occurred: The development server only supports localizing a single locale per build
Лучшее, что я получил, - это запуск ng serve ..
несколько раз на разных порты иметь два экземпляра сервера разработки в разных локалях, но это довольно уродливо. Я надеюсь на лучшее решение.