关于Angular.json中sourceLocale字段配置位置及新项目缺失时定义位置的技术咨询
Angular国际化:
sourceLocale字段的正确配置位置 你好!这个问题确实是刚接触Angular i18n的开发者常遇到的——新建项目的angular.json里默认确实没有sourceLocale字段,我来给你讲清楚它的正确安放位置:
核心位置:项目节点下的i18n对象中
sourceLocale属于项目级的国际化配置,需要放在angular.json里projects节点下你的项目名称对应的子节点中,具体是新增/配置i18n对象,把sourceLocale作为它的属性之一。
如果你的项目里还没有i18n这个配置块,直接手动新增即可,完全不用担心破坏原有配置结构。
完整配置示例
下面是一个标准的配置片段,你可以对照着修改自己的angular.json:
{ "projects": { "你的项目名称": { "root": "", "sourceRoot": "src", "projectType": "application", "prefix": "app", // 就是这里的i18n对象 "i18n": { "sourceLocale": "zh-CN", // 这里设置你的源语言(比如简体中文) // 如果有其他目标语言,也可以在这里配置locales "locales": { "en-US": "src/locale/messages.en.xlf", "ja-JP": "src/locale/messages.ja.xlf" } }, "architect": { "build": { "options": { // 记得开启本地化构建,否则多语言配置不会生效 "localize": true, // 其他构建选项... } } } } } }
额外注意事项
sourceLocale的值要遵循BCP 47语言标签规范,比如en(通用英语)、en-US(美式英语)、zh-CN(简体中文)等,不要随便自定义格式。- 如果只是设置源语言,不需要配置
locales字段也可以,但如果后续要做多语言翻译,建议提前在这里配置好目标语言对应的翻译文件路径。
内容的提问来源于stack exchange,提问作者8888
相关产品推荐
相关产品推荐

