# feiShuExcelToLocal **Repository Path**: void9527/fei-shu-excel-to-local ## Basic Information - **Project Name**: feiShuExcelToLocal - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-27 - **Last Updated**: 2025-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # i18n-CLI 一个强大的多语言文件生成工具,从飞书表格自动生成各平台的国际化文件。 ## ✨ 特性 - 🚀 **一键生成**: 从飞书表格快速生成多平台多语言文件 - 📋 **配置文件模式**: 支持package.json配置,实现自动化流程 - 🔄 **多工作表合并**: 支持多个工作表数据智能合并 - 🌳 **嵌套键支持**: 自动识别`key.key`格式生成嵌套JSON结构 - 🎯 **占位符功能**: 支持`{variable}`占位符,ARB格式自动生成元数据 - 📊 **多平台支持**: Web、iOS、Android、React Native、Flutter - 🔒 **键冲突检测**: 智能检测键名冲突并提供解决方案 - 📦 **自动压缩**: 生成的文件自动打包为ZIP格式 ## 🎯 支持的平台和格式 | 平台 | 支持格式 | |------|----------| | **Web** | JSON | | **iOS** | Strings, StringsDict | | **Android** | XML | | **React Native** | JSON | | **Flutter** | ARB, JSON | ## 📋 表格数据格式 您的飞书表格应该按以下格式组织: | key | zh-CN | en-US | jp-JP | |-----|-------|-------|-------| | app.title | 我的应用 | My App | 私のアプリ | | user.welcome | 欢迎 {username}! | Welcome {username}! | ようこそ {username}! | | settings.theme | 主题 | Theme | テーマ | - **第一列**: 多语言键名(支持点分隔的嵌套结构) - **其他列**: 各语言的翻译内容(支持`{variable}`占位符) - **第一行**: 列头,包含语言代码 ## 🚀 快速开始 ### 1. 安装 ```bash # 克隆项目 git clone cd i18n-cli # 安装依赖 npm install # 可选:全局安装 npm link ``` ### 2. 配置(推荐) 在项目的`package.json`中添加配置: ```json { "name": "your-project", "lang": { "type": "sheets", "AppID": "cli_a8e88a590c2c9013", "AppSecret": "your_app_secret", "spreadsheetToken": "Yff8sHeI4hW4RqtwJXDcj3uwn1g", "sheetId": "a8a0d1" } } ``` ### 3. 运行 ```bash npm start ``` 就是这么简单!工具会自动: - ✅ 使用配置文件认证 - ✅ 获取表格数据 - ✅ 检测可用语言 - ✅ 引导您选择平台和格式 - ✅ 生成并压缩文件 ## 🔧 高级功能 ### 多工作表合并 支持合并多个工作表的数据,后面的表格会覆盖前面相同的键: ```json { "lang": { "sheetId": "通用表|活动表|特殊表" } } ``` ### 嵌套键支持 自动识别点分隔符并生成嵌套结构: ``` 输入: "user.profile.name": "用户名" 输出: { "user": { "profile": { "name": "用户名" } } } ``` ### 占位符功能 ARB格式自动检测占位符并生成元数据: ``` 输入: "welcome": "欢迎 {username}!" 输出: 包含placeholders元数据的ARB文件 ``` ### 键冲突检测 智能检测逻辑冲突的键名: ``` ❌ 检测到键嵌套冲突: 🔸 键 "code" 与 "code.num" 存在嵌套冲突 💡 解决方案: 1. 重命名冲突的键,避免父子关系 2. 或者在表格中删除冲突的键 ``` ## 📖 详细文档 - [使用指南](./USAGE.md) - 详细的使用说明和配置选项 - [API文档](./USAGE.md#api-服务) - 独立API服务使用方法 - [常见问题](./USAGE.md#常见问题) - 问题排查和解决方案 ## 🛠 开发 如需自定义或扩展功能: ```bash # 开发模式 npm run dev # 添加新的格式生成器 # 编辑 src/generators/ # 修改平台配置 # 编辑 src/cli/prompts.js # 扩展API功能 # 编辑 src/services/server.js ``` ## 📄 许可证 MIT License ## 🤝 贡献 欢迎提交Issue和Pull Request!