# fontlab8 中文插件 **Repository Path**: Pm-Moded/fontlab8--chinese-plugin ## Basic Information - **Project Name**: fontlab8 中文插件 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-05 - **Last Updated**: 2026-02-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FontLab 8 Chinese Localization Toolkit FontLab 8 简体中文汉化工具包,使用 AI 自动翻译 UI 字符串。 ## 功能特点 - 自动提取 FontLab 8 界面字符串 - AI 驱动的批量翻译(支持多线程并发) - 生成可直接运行的汉化插件 - 支持增量翻译和断点续传 - 支持 objectName 匹配和文本匹配两种汉化方式 - 覆盖菜单栏、右键菜单、下拉菜单等所有界面元素 ## 文件说明 | 文件 | 说明 | |------|------| | `export_all_strings.vfpy` | FontLab 插件:导出所有 UI 字符串 | | `parse_strings.py` | 解析导出的字符串,生成 translations.csv | | `ai_translate.py` | AI 批量翻译脚本(支持并发) | | `generate_plugin.py` | 生成最终汉化插件 | | `localize_chinese_full.vfpy` | **生成的汉化插件(直接使用)** | | `find_untranslated.vfpy` | 检测未翻译字符串的辅助插件 | | `extract_menus.vfpy` | 提取菜单项的辅助插件 | | `extract_ampersand.vfpy` | 提取带 & 快捷键的字符串 | ## 快速使用 ### 方式一:直接使用汉化插件(推荐) 1. 打开 FontLab 8 2. 菜单: Scripts > Run Script... 3. 选择 `localize_chinese_full.vfpy` 4. 界面即刻汉化 > 注意:每次启动 FontLab 后需重新运行汉化脚本 ### 方式二:自定义翻译流程 ```bash # 1. 在 FontLab 中运行 export_all_strings.vfpy 导出字符串 # 2. 解析字符串 python parse_strings.py # 3. AI 翻译(支持并发,-t 指定线程数) python ai_translate.py -t 10 # 4. 生成汉化插件 python generate_plugin.py # 5. 在 FontLab 中运行生成的 localize_chinese_full.vfpy ``` ## AI 翻译配置 编辑 `ai_translate.py` 中的 API 配置: ```python API_URL = "https://api.siliconflow.cn/v1/chat/completions" API_KEY = "your-api-key" MODEL = "Qwen/Qwen2.5-7B-Instruct" ``` ## 翻译文件格式 `translations_done.csv` 格式: ```csv name,type,property,english,chinese,status buttonOK,QPushButton,text,OK,确定,done (unnamed_action),QAction,text,&File,文件,done (unnamed),QMetaObject,text,&Edit,编辑,done ``` 字段说明: - `name`: 控件 objectName(`(unnamed)` 或 `(unnamed_action)` 表示无名控件,使用文本匹配) - `type`: 控件类型 - `property`: 属性名(text/title/toolTip 等) - `english`: 英文原文 - `chinese`: 中文翻译 - `status`: 状态(done/pending/error) ## 汉化原理 插件使用两种匹配方式: 1. **objectName 匹配**:通过控件的 objectName 定位并替换文本 2. **文本匹配**:对于无名控件,通过英文原文匹配并替换(支持 QAction、QMenu 等) ## 辅助工具 | 插件 | 用途 | |------|------| | `find_untranslated.vfpy` | 运行汉化后检测哪些字符串仍是英文 | | `extract_menus.vfpy` | 提取所有菜单项用于翻译 | | `extract_ampersand.vfpy` | 提取带 & 符号的字符串(快捷键) | ## 注意事项 1. 汉化插件每次启动 FontLab 后需重新运行 2. 部分动态生成的界面可能无法汉化 3. `&` 符号表示键盘快捷键,翻译时需保留 4. 翻译中断后重新运行会自动跳过已翻译条目 5. CSV 文件保持 UTF-8 编码 ## License MIT