在新的Angular 6中使用自定义区域设置数据作为文档解释(https://next.angular.io/guide/i18n)运行ng serve
,我收到此错误:
Unknown option: '--locale'
delete-output-path
和named-chunks
也是如此。我们现在如何设置这个标志?
答案 0 :(得分:12)
作为介绍CLI Workspaces的一部分,开发人员已删除了与构建相关的命令行开关,转而在新angular.json
文件中配置它们。
在深入研究新模式(可从上面的链接获得)之后,重新引入本地化开关的最简单方法是将它们添加到angular.json
内的以下路径中: projects / your-project / architect /建立/选择。
然后在没有任何开关的情况下为您的应用提供服务:ng serve
。
从长远来看,我认为鼓励您自己定义不同的配置并在那里设置这些选项。再次,请参阅架构以获取更多相关信息。
以下是我所做的一个例子:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"my-app": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist",
"index": "src/index.html",
"main": "src/main.ts",
"tsConfig": "src/tsconfig.app.json",
"polyfills": "src/polyfills.ts",
"i18nFile": "src/locale/messages.some-lang.xlf",
"i18nLocale": "some-lang",
"i18nFormat": "xlf",
"aot": true,
"assets": [ ...
],
"styles": [ ...
...
显然有一个PR for the documentation update,它解释了如何做到(几乎我在这里写的方式;-))
答案 1 :(得分:11)
对于记录,--locale
也已从ng build
移除,但他们引入了angular documentation中指定的--i18n-locale
。
例如,你可以这样做:
ng build --prod --i18n-locale de --i18n-format xlf --i18n-file src/locale/messages.de.xlf
不幸的是,这不适用于ng serve
。
答案 2 :(得分:0)
对于Angular 9,以上答案均无效(至少适用于ng serve
)。操作方法如下:
打开angular.json
文件,转到architect -> build -> options
部分。为"i18nLocale": "pt"
语言环境添加选项pt
。这样会将您应用的默认本地设置为pt
。