一、组件信息
组件名称:ngx-translate-lint
npm仓库地址:https://www.npmjs.com/package/ngx-translate-lint
组件描述:
使用@ngx-translate组件实现的国际化项目,需要检查资源文件中键值是否有效,是否重复等检查工作,可以使用ngx-translate-lint组件
组件作用简述:
- 检查资源文件中键值对的键(key)是否重复;
- 检查在资源文件中定义的键值对是否在项目中使用到;
- 检查不同资源文件中的键是否一一对应,以中英文资源文件为例,在zh.json中定义了资源变 量,但是在en.json中并没有定义,此组件也可以检查出;
二、组件使用:
使用前提: 国际化实现是使用ngx-translate组件
** 使用方法:**
- 全局安装 npm install ngx-translate-lint -g;
- 进入到angular项目的根目录,运行:ngx-translate-lint;
详情见:https://www.npmjs.com/package/ngx-translate-lint
三、组件源码分析
- /src/core/config.js文件
const config = {
defaultValues: {
rules: {
ast: {
isNgxTranslateImported: enums_1.ErrorTypes.error,
},
misprint: enums_1.ErrorTypes.warning,
zombieKeys: enums_1.ErrorTypes.warning,
keysOnViews: enums_1.ErrorTypes.error,
maxWarning: 0,
misprintCoefficient: 0.9,
ignoredKeys: [],
ignoredMisprintKeys: []
},
tsconfigPath: './',
projectPath: './src/app/**/*.{html,ts,resx}',//需要检查的项目内文件,可以通过命令时参数动态修改
languagesPath: './src/assets/i18n/*.json' //资源文件的路径
}
};