italink/unrealclientprotocol/unreal-plugin-localization
Claude Code and agent skill by italink/unrealclientprotocol
- community
Checking that the SKILL.md file is still in the repository.
翻译 UE 插件本地化 PO 文件。当用户要求本地化、翻译或国际化 Unreal Engine 插件时使用。 处理 GatherText 采集、PO 导出、AI 翻译、PO 导入和 locres 编译的完整流程。
Install
npx vskill@latest install italink/unrealclientprotocol/unreal-plugin-localizationSKILL.md
插件本地化
将 Unreal Engine 插件的编辑器 UI 文本翻译为目标语言。工作流使用 Python 辅助脚本完成所有重活(PO 解析、commandlet 调用),Agent 只负责翻译精简 JSON。
脚本路径
读取本 SKILL.md 时你已知其绝对路径,将文件名替换为 scripts/ue_localization.py 即为脚本路径。不要搜索或 glob 查找。
工作流
用户提供 .uplugin 路径和目标语言。在执行之前,先询问用户是否启用「语境增强模式」:
是否启用语境增强模式?该模式会扫描插件源码和蓝图资产,为每个待翻译条目附加代码上下文(所在文件、行号、周围注释、蓝图变量/函数的 DisplayName 和 Tooltip),帮助产出更准确的翻译。启用后需要更多时间和Token。
用户确认后,按以下三个阶段依次执行。
阶段 1 — 采集与导出
运行 gather 子命令。脚本自动从 .uplugin 向上查找 .uproject,通过 EngineAssociation + Windows 注册表推断引擎路径,确保 .uplugin 中存在 LocalizationTargets,然后一次 commandlet 调用完成采集 + 导出 PO,最后将可翻译条目提取为精简 JSON。
用户选择启用语境增强模式时,加上 --context 标志。
脚本通过 stdout 输出 JSON 结果:
status: "ok" 或 "error"pending_files:pending_translation.json路径列表(每个目标语言一个)context_enhanced: (仅语境增强模式)truecontext_entries: (仅语境增强模式)成功提取到上下文的条目总数(C++ + 蓝图)context_blueprint_entries: (仅语境增强模式且 UCP 可用)从蓝图资产中提取到上下文的条目数量
脚本支持增量翻译:PO 文件中已有 msgstr(非空翻译)的条目不会出现在 pending 列表中,同时已有翻译会保存到同目录的 existing_translations.json。因此 pending_translation.json 中的 total 可能为 0(表示无需翻译)。
阶段 2 — 翻译
先检查 pending_translation.json 的 total 字段:
- 若
total为 0,跳过该文件的翻译,直接进入阶段 3 - 若
total> 0,对每个条目执行翻译
对每个需要翻译的 pending_translation.json:
- 读取该文件,内容为精简条目数组:
若启用了语境增强模式,部分条目会包含 hint 字段。hint 来源有两种:
- C++ 源码:格式为
[文件:行号] | 周围注释/代码摘要 - 蓝图资产(需 UCP 可用):格式为
[BP_MyActor.Variable:Health] | ToolTip: Current health points
翻译时务必参考 `hint` 来判断术语在具体场景中的含义,从而选用更恰当的译法。例如同一个 "Instance" 在不同上下文中可能译为 "实例"(对象实例)或 "副本"(场景实例化)。
- 翻译每个
src值,遵循下方翻译规范。
- 在 pending 文件同目录下写入
translated.json:
pending 文件中的每个 id 都必须出现在输出中,不可遗漏。
翻译规范
- 保留 UE 专有名词不翻译:Actor、Blueprint、Widget、Texture2D、StaticMesh、SkeletalMesh、Material、Level、World、HLOD、LOD、Nanite、Lumen、Niagara、PCG 等
- 保留格式占位符原样:
{0}、{1}、{Arg}、%s、%d等 - 保留文件路径、资产路径、类名原样
- 使用 UE 中文编辑器标准术语(如 "Static Mesh" -> "静态网格体")
- 简洁 — UI 标签应尽量简短
- 若
src为空,dst也设为空字符串
阶段 3 — 注入与编译
运行 compile 子命令。脚本自动合并 existing_translations.json(已有翻译)和 translated.json(新翻译),新翻译优先覆盖已有翻译,然后将合并结果写回 PO 文件的 msgstr 字段,最后一次 commandlet 调用完成导入 + 编译 .locres。
脚本通过 stdout 输出 JSON 结果,包含 status 和详情。
完整示例
补充说明
- 脚本从
.uplugin目录向上遍历自动查找.uproject - 引擎路径通过
.uproject的EngineAssociation经 Windows 注册表解析 - 可指定多个目标语言:
--cultures zh-Hans ja ko - 源语言默认为
en,可通过--native en覆盖 - INI 配置由脚本内置模板生成,无需外部模板目录
- 标准模式独立运行,不依赖 UCP 或其他 Unreal Skill
- 语境增强模式(
--context)会额外通过 UCP 读取蓝图资产中的变量/函数 DisplayName 和 Tooltip;UCP 不可用时自动跳过蓝图扫描,仅使用 C++ 上下文
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingSkills/unreal-plugin-localization/SKILL.md
Popularity
- Repository stars
- 114
- Repository forks
- 14
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/italink/unrealclientprotocol/unreal-plugin-localization)