Angular项目添加国际化翻译遇配置错误求助
Angular国际化配置修正方案
你的配置存在两处关键问题,导致了Schema验证错误:
1. i18n配置结构错误
你错误地将browserTarget放在了locales对象内部,且存在语法错误(引号、括号不匹配)。正确的i18n配置应仅定义源语言和各语言的翻译文件路径:
"projects": { "tracker": { // 其他项目配置 "i18n": { "sourceLocale": "en-US", "locales": { "ru": "src/locale/messages.ru.xlf" } }, // ... } }
2. Serve配置缺少browserTarget
执行ng serve时,每个configuration必须指定对应的browserTarget,你当前的ru配置仅添加了localize属性,缺少该必填项。需要完善architect.serve.configurations:
"architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { // 你的默认构建配置 }, "configurations": { "development": { // 开发环境配置 }, "ru": { "localize": ["ru"] } } }, "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { // 默认serve配置 }, "configurations": { "ru": { "browserTarget": "tracker:build:ru" }, // 其他环境配置 } }, "extract-i18n": { "builder": "@angular-devkit/build-angular:extract-i18n", "options": { "browserTarget": "tracker:build" } } }
验证修复
完成配置修正后,重新执行命令:
ng serve --configuration=ru --open
此时应用将正常加载俄语本地化资源。
内容的提问来源于stack exchange,提问作者Anna Korotkova
相关产品推荐
相关产品推荐

