1 line
9.8 KiB
JSON
1 line
9.8 KiB
JSON
{"repo": "ayest0/mos-relocalization", "files": {"README.md": {"90f30a6a960493dc6dd90d084ef928fa8991259c": {"t": 1785674114.0330734, "n": 4632, "h": "538454200dcb33c0", "c": "<div align=\"center\">\n\n# MOS-ReLocalization 🌐\n<em>A re-localization toolkit for <strong>MILFs of Sunville</strong> (JSON-based).</em>\n\n[English](./README.md) | [中文](./README_zh-CN.md)\n\n<p>\n <img src=\"https://img.shields.io/badge/Python-3.13+-blue\">\n <img src=\"https://img.shields.io/badge/License-MIT-green\">\n <img src=\"https://img.shields.io/badge/Status-Active-brightgreen\">\n <img src=\"https://img.shields.io/badge/AI-OpenAI%20%7C%20DeepSeek-purple\">\n <img src=\"https://img.shields.io/badge/Data-JSON-orange\">\n</p>\n\n</div>\n\nMOS-ReLocalization is a Python toolkit for re-localizing MILFs of Sunville (or any JSON-based localization). It provides AI translation, placeholder fixing, English-in-Chinese review, proper‑noun unification, and coverage analytics — producing cleaner, more natural Chinese output.\n\n---\n\n## Features\n\n- Language column detection: auto build column→language map (`scripts/detect_all_languages.py` → `data/language_map.json`)\n- AI translation (RU/EN → ZH): context‑aware Chinese localization (`scripts/ai_translate.py` → `output/language_dict_translated.json`)\n- English‑in‑Chinese review and merge: export mixed entries, manually fix, then merge (`scripts/export_english_in_chinese.py` → fix → `scripts/merge_fixed_translations.py`)\n- Placeholder fixes: normalize `[mcname]` / `[mcsurname]` and variants (`scripts/fix_mcname_tags.py`, `scripts/fix_mcname_format.py`, `scripts/fix_mcsurname_tags.py`)\n- Proper‑noun unification: apply `data/name_map.json` and optionally AI‑assisted unification\n - Apply + AI QA: `scripts/ai_apply_namemap_unify.py`\n - Unified flow (merge + apply): `scripts/unify_namemap_and_apply_ai.py`\n - Alternative applier: `scripts/ai_apply_namemap_aiunify.py`\n - Merge candidates & generate mapping: `scripts/ai_name_unify_with_namemap.py`\n - No‑AI quick apply (pure replace): `scripts/apply_namemap_fix_no_ai.py`\n- Coverage analytics: per‑column fill ratio (`scripts/translation_coverage.py`)\n\n---\n\n## Setup\n\n1) Python 3.13+\n\n2) Install dependencies\n```bash\npip install -U openai python-dotenv langdetect\n```\n\n3) Configure environment via `.env` (examples)\n```ini\n# Engine selection\nMODEL_PROVIDER=deepseek # or: chatgpt\n\n# OpenAI\nOPENAI_API_KEY=sk-...\nMODEL=gpt-4o-mini\n\n# DeepSeek (OpenAI-compatible)\nDEEPSEEK_API_KEY=sk-...\nDEEPSEEK_BASE_URL=https://api.siliconflow.cn\nDEEPSEEK_MODEL=deepseek-ai/DeepSeek-R1\n\n# Optional rate limiting / concurrency\nRPM=1000\nTPM=100000\nASYNC_CONCURRENCY=100\nPRINT_EVERY=50\nBATCH_FLUSH=200\n```\n\n---\n\n## Recommended Workflow\n\n1) Detect language columns\n```bash\npython scripts/detect_all_languages.py\n```\nOutput: `data/language_map.json`\n\n2) AI translation to Chinese (using RU + EN)\n```bash\npython scripts/ai_translate.py\n```\nOutput: `output/language_dict_translated.json`\n\n3) Review English‑in‑Chinese and merge back\n```bash\n# Export mixed entries in Chinese columns\npython scripts/export_english_in_chinese.py\n# Manually fix: output/review_english_mixed/mixed_entries_fixed.json\n# Merge back\npython scripts/merge_fixed_translations.py\n```\nOutput: `output/language_dict_merged.json`\n\n4) Fix placeholders and normalize formats\n```bash\npython scripts/fix_mcname_tags.py # → output/language_dict_fixed.json\npython scripts/fix_mcname_format.py # → output/language_dict_mcname_fixed.json\npython scripts/fix_mcsurname_tags.py # → output/language_dict_mcsurname_fixed.json\n```\n\n5) Unify proper nouns (pick one path)\n- Path A: Apply `name_map` with AI QA\n```bash\npython scripts/ai_apply_namemap_unify.py # → output/language_dict_namemap_applied.json\n```\n- Path B: Merge candidates + apply in one go\n```bash\npython scripts/unify_namemap_and_apply_ai.py # → output/language_dict_name_final.json\n```\n- Alternatives (advanced)\n```bash\npython scripts/ai_apply_namemap_aiunify.py\npython scripts/ai_name_unify_with_namemap.py\npython scripts/apply_namemap_fix_no_ai.py\n```\n\n6) Coverage report\n```bash\npython scripts/translation_coverage.py --save\n```\nOutput: `output/translation_coverage.json`\n\n---\n\n## Data & Outputs\n\n- Input data: `data/language_dict.json`, `data/name_map.json`\n- Language map: `data/language_map.json` (generated)\n- Intermediate/final outputs under `output/` (JSON + reports like `name_unify_report.txt`)\n- Caches under `cache/`\n\n---\n\n## Notes\n\n- Rate limits: DeepSeek typical RPM≈1000 / TPM≈100000; scripts auto back‑off on 429.\n- Placeholders: keep `[mcname]`, `[mcsurname]` intact in translations.\n- Proper nouns: curate `data/name_map.json` first, then run unification to ensure consistency.\n\n---\n\n## License\n\nMIT License © 2025 AyeSt0\n\n> Re‑forging words — re‑localizing MILFs of Sunville.\n\n"}}, "README_zh-CN.md": {"90f30a6a960493dc6dd90d084ef928fa8991259c": {"t": 1785674115.854377, "n": 3578, "h": "97c0dc30e1055928", "c": "<div align=\"center\">\n\n# MOS-ReLocalization 🌐\n<em>专为 <strong>《MILFs of Sunville》</strong> 打造的 JSON 再本地化工具集。</em>\n\n[English](./README.md) | [中文](./README_zh-CN.md)\n\n<p>\n <img src=\"https://img.shields.io/badge/Python-3.13+-blue\">\n <img src=\"https://img.shields.io/badge/License-MIT-green\">\n <img src=\"https://img.shields.io/badge/Status-Active-brightgreen\">\n <img src=\"https://img.shields.io/badge/AI-OpenAI%20%7C%20DeepSeek-purple\">\n <img src=\"https://img.shields.io/badge/Data-JSON-orange\">\n</p>\n\n</div>\n\nMOS-ReLocalization 是一个面向 JSON 的再本地化工具集,支持《MILFs of Sunville》或其它基于 JSON 的本地化项目。提供 AI 翻译、占位符修复、中文中夹英审校、专名统一与覆盖率统计,产出更自然、连贯的一致译文。\n\n---\n\n## 功能特点\n\n- 语言列自动识别:自动生成 列→语言 映射(`scripts/detect_all_languages.py` → `data/language_map.json`)\n- AI 翻译(俄/英 → 中文):基于上下文生成自然中文(`scripts/ai_translate.py` → `output/language_dict_translated.json`)\n- 中文夹英审校与合并:导出待修条目→人工修正→合并回主表(`scripts/export_english_in_chinese.py` → 修正 → `scripts/merge_fixed_translations.py`)\n- 占位符修复:规范化 `[mcname]` / `[mcsurname]` 及其变体(`scripts/fix_mcname_tags.py`、`scripts/fix_mcname_format.py`、`scripts/fix_mcsurname_tags.py`)\n- 专名统一:基于 `data/name_map.json`,可直接应用或结合 AI 辅助\n - 应用 + AI 质检:`scripts/ai_apply_namemap_unify.py`\n - 一体化(合并候选 + 应用):`scripts/unify_namemap_and_apply_ai.py`\n - 另一套应用器:`scripts/ai_apply_namemap_aiunify.py`\n - 候选合并并生成统一映射:`scripts/ai_name_unify_with_namemap.py`\n - 纯替换(不经 AI):`scripts/apply_namemap_fix_no_ai.py`\n- 覆盖率统计:按列统计填充率(`scripts/translation_coverage.py`)\n\n---\n\n## 环境准备\n\n1) Python 3.13+\n\n2) 安装依赖\n```bash\npip install -U openai python-dotenv langdetect\n```\n\n3) 配置 `.env`(示例)\n```ini\n# 引擎选择\nMODEL_PROVIDER=deepseek # 或 chatgpt\n\n# OpenAI\nOPENAI_API_KEY=sk-...\nMODEL=gpt-4o-mini\n\n# DeepSeek(OpenAI 兼容)\nDEEPSEEK_API_KEY=sk-...\nDEEPSEEK_BASE_URL=https://api.siliconflow.cn\nDEEPSEEK_MODEL=deepseek-ai/DeepSeek-R1\n\n# 可选:限速/并发\nRPM=1000\nTPM=100000\nASYNC_CONCURRENCY=100\nPRINT_EVERY=50\nBATCH_FLUSH=200\n```\n\n---\n\n## 推荐流程\n\n1) 检测语言列\n```bash\npython scripts/detect_all_languages.py\n```\n输出:`data/language_map.json`\n\n2) AI 翻译为中文(结合俄/英语境)\n```bash\npython scripts/ai_translate.py\n```\n输出:`output/language_dict_translated.json`\n\n3) 中文夹英审校并合并回主表\n```bash\n# 导出含英文字的中文条目\npython scripts/export_english_in_chinese.py\n# 人工修正后保存到:output/review_english_mixed/mixed_entries_fixed.json\n# 合并回主表\npython scripts/merge_fixed_translations.py\n```\n输出:`output/language_dict_merged.json`\n\n4) 占位符修复与规范化\n```bash\npython scripts/fix_mcname_tags.py # → output/language_dict_fixed.json\npython scripts/fix_mcname_format.py # → output/language_dict_mcname_fixed.json\npython scripts/fix_mcsurname_tags.py # → output/language_dict_mcsurname_fixed.json\n```\n\n5) 专名统一(任选其一)\n- 路径 A:按 `name_map` 应用并经 AI 质检\n```bash\npython scripts/ai_apply_namemap_unify.py # → output/language_dict_namemap_applied.json\n```\n- 路径 B:一体化(候选合并 + 应用)\n```bash\npython scripts/unify_namemap_and_apply_ai.py # → output/language_dict_name_final.json\n```\n- 其他(进阶)\n```bash\npython scripts/ai_apply_namemap_aiunify.py\npython scripts/ai_name_unify_with_namemap.py\npython scripts/apply_namemap_fix_no_ai.py\n```\n\n6) 覆盖率统计\n```bash\npython scripts/translation_coverage.py --save\n```\n输出:`output/translation_coverage.json`\n\n---\n\n## 数据与产物\n\n- 输入数据:`data/language_dict.json`、`data/name_map.json`\n- 语言映射:`data/language_map.json`(由脚本生成)\n- 中间/最终产物:位于 `output/`(JSON 文件 + 报告,如 `name_unify_report.txt`)\n- 过程缓存:位于 `cache/`\n\n---\n\n## 注意事项\n\n- 限速:DeepSeek 典型 RPM≈1000 / TPM≈100000;遇到 429 会自动降速重试\n- 占位符:请保持 `[mcname]`、`[mcsurname]` 不变\n- 专名:先完善 `data/name_map.json`,再执行统一以保证全局一致\n\n---\n\n## 许可\n\nMIT License © 2025 AyeSt0\n\n> 重铸语言 —— 面向《MILFs of Sunville》的再本地化。\n\n"}}}} |