i18next-scanner 安装和配置指南
1. 项目基础介绍和主要编程语言
项目介绍
i18next-scanner 是一个用于扫描代码并提取翻译键/值的工具,它可以将这些翻译键/值合并到 i18n 资源文件中。这个工具主要用于国际化(i18n)项目,帮助开发者自动提取和管理翻译内容。
主要编程语言
i18next-scanner 主要使用 JavaScript 编写,适用于 Node.js 环境。
2. 项目使用的关键技术和框架
关键技术
- i18next: 一个全功能的 i18n JavaScript 库,用于翻译 Web 应用程序。
- react-i18next: 支持解析 React 中的
Trans
组件。 - Gulp 和 Grunt: 支持与这两个任务运行器集成,用于自动化构建流程。
框架
- Node.js: 项目运行在 Node.js 环境中。
- npm: 用于包管理和安装依赖。
3. 项目安装和配置的准备工作和详细安装步骤
准备工作
- 安装 Node.js: 确保你的系统上已经安装了 Node.js。你可以从 Node.js 官网 下载并安装。
- 初始化 npm 项目: 在你的项目根目录下运行
npm init
,按照提示完成项目的初始化。
安装步骤
1. 安装 i18next-scanner
在你的项目根目录下运行以下命令来安装 i18next-scanner:
npm install --save-dev i18next-scanner
2. 创建配置文件
在项目根目录下创建一个名为 i18next-scanner-config.js
的配置文件,内容如下:
module.exports = {
input: [
'src/**/*.{js,jsx}', // 指定要扫描的文件路径
'!src/**/*.spec.{js,jsx}', // 排除测试文件
],
output: './', // 输出目录
options: {
debug: true,
func: {
list: ['i18next.t', 'i18n.t'],
extensions: ['.js', '.jsx'],
},
trans: {
component: 'Trans',
i18nKey: 'i18nKey',
defaultsKey: 'defaults',
extensions: ['.js', '.jsx'],
fallbackKey: function(ns, value) {
return value;
},
supportBasicHtmlNodes: true,
keepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],
},
lngs: ['en', 'de'], // 支持的语言
ns: ['locale', 'resource'], // 命名空间
defaultLng: 'en',
defaultNs: 'resource',
defaultValue: '__STRING_NOT_TRANSLATED__',
resource: {
loadPath: 'i18n/{{lng}}/{{ns}}.json',
savePath: 'i18n/{{lng}}/{{ns}}.json',
jsonIndent: 2,
lineEnding: '\n',
},
nsSeparator: false,
keySeparator: false,
interpolation: {
prefix: '{{',
suffix: '}}',
},
},
};
3. 运行 i18next-scanner
在你的项目根目录下运行以下命令来启动扫描和提取翻译键/值:
npx i18next-scanner --config i18next-scanner-config.js
4. 检查输出
运行命令后,i18next-scanner 会根据配置文件中的设置,扫描指定的文件并生成相应的 i18n 资源文件。你可以在指定的输出目录中找到这些文件。
总结
通过以上步骤,你已经成功安装并配置了 i18next-scanner,可以开始在你的项目中使用它来自动化提取和管理翻译内容。