# i18n导入导出工具 **Repository Path**: kiteoath/i18n-importexport-tool ## Basic Information - **Project Name**: i18n导入导出工具 - **Description**: i18n导入/导出工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-13 - **Last Updated**: 2025-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # i18n导入导出工具 一个使用Node.js和@clack/prompts构建的交互式i18n翻译文件导入导出工具。该工具提供了直观的命令行界面,帮助开发者轻松管理多语言翻译文件。 ## 功能特点 - **交互式界面**:使用@clack/prompts提供友好的命令行交互体验 - **多种操作模式**:支持导入翻译、导出翻译和设置i18n配置 - **灵活的导入选项**:提供重置、增量更新和强制更新三种导入模式 - **定制化导出**:支持全部导出、导出待补全项、导出未完成项和导出空白项 - **多文件格式支持**:支持XLSX和CSV格式的导入导出 - **配置持久化**:通过i18n.yaml配置文件保存用户偏好设置 ## 安装方法 ### 全局安装 ```bash npm install -g i18n@git+https://gitee.com/kiteoath/i18n-importexport-tool.git ``` ### 本地项目安装 ```bash npm install i18n@git+https://gitee.com/kiteoath/i18n-importexport-tool.git --save-dev ``` ## 使用方法 ### 基本使用 安装完成后,在命令行中运行: ```bash npx i18n ``` ### 交互式操作 运行工具后,会出现以下交互式菜单: 1. **导入翻译**:从Excel或CSV文件导入翻译数据到项目中 2. **导出翻译**:将项目中的翻译数据导出到Excel或CSV文件 3. **设置i18n默认配置**:配置工具的默认行为 ### 导入翻译 选择导入翻译后,可以选择以下导入模式: - **重置**:重新生成i18n配置文件(将清除所有现有配置) - **增量更新**:添加新增翻译内容(保留现有翻译数据) - **强制更新**:覆盖现有翻译数据(完全替换为导入的内容) ### 导出翻译 选择导出翻译后,可以选择以下导出模式: - **全部导出**:导出完整的翻译配置文件 - **导出待补全项**:导出需补充翻译的条目(至少有一个语种已翻译) - **导出未完成项**:导出所有翻译未完成的条目 - **导出空白项**:导出完全未翻译的条目 ## 配置说明 工具会在项目根目录生成`i18n.yaml`配置文件,包含以下选项: ```yaml # 导出目录 # 翻译文件的导出目录 # 默认为当前项目根目录,非当前目录需要设置为绝对路径 # 例如:C:\Users\admin\Desktop exportDir: ./ # 导出文件名类型 # 导出的文件名类型,默认为 date # 可选值为 date | fixed # - date 日期格式文件,文件名格式默认为: YYYYMMDD HHmm # - fixed 固定格式文件,文件名格式为:translate fileNameType: date # 导出文件名 # 导出的文件名,默认为日期格式 # 当文件名为日期格式时参考:https://day.js.org/docs/zh-CN/display/format # 请勿包含特殊字符,否则可能会导致文件无法正常导出 exportFileName: YYYYMMDD HHmm # 语言目录 # 项目中i18n配置文件的目录 # 默认为 ./src/locales languageDir: ./src/locales # 导出文件类型 # 默认为xlsx,可选值为 csv、xlsx fileType: xlsx # 默认语言 # 项目中默认的语言,在导出时默认语言会作为第一列 # 默认为 zh,即包含zh的语言 defaultLanguage: zh ```