italink/unrealclientprotocol/unreal-plugin-localization

Claude Code and agent skill by italink/unrealclientprotocol

Trust tier 2
  • community
LLM review pending
Source check pending

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-localization

SKILL.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。

powershell
# 标准模式
python "<脚本路径>" gather --uplugin "<路径>.uplugin" --cultures zh-Hans
# 语境增强模式(加 --context)
python "<脚本路径>" gather --uplugin "<路径>.uplugin" --cultures zh-Hans --context

用户选择启用语境增强模式时,加上 --context 标志。

脚本通过 stdout 输出 JSON 结果:

  • status: "ok" 或 "error"
  • pending_files: pending_translation.json 路径列表(每个目标语言一个)
  • context_enhanced: (仅语境增强模式)true
  • context_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:

  1. 读取该文件,内容为精简条目数组:
json
{
"source_lang": "en",
"target_lang": "zh-Hans",
"total": 42,
"entries": [
{"id": 0, "ctx": "Namespace.Key", "src": "Static Mesh"},
{"id": 1, "ctx": "Namespace.Key2", "src": "Check resource usage",
"hint": "[Utils/MeshValidator.cpp:45] | Validates static mesh LOD count"}
]
}

若启用了语境增强模式,部分条目会包含 hint 字段。hint 来源有两种:

  • C++ 源码:格式为 [文件:行号] | 周围注释/代码摘要
  • 蓝图资产(需 UCP 可用):格式为 [BP_MyActor.Variable:Health] | ToolTip: Current health points

翻译时务必参考 `hint` 来判断术语在具体场景中的含义,从而选用更恰当的译法。例如同一个 "Instance" 在不同上下文中可能译为 "实例"(对象实例)或 "副本"(场景实例化)。

  1. 翻译每个 src 值,遵循下方翻译规范。
  1. 在 pending 文件同目录下写入 translated.json:
json
{
"translations": [
{"id": 0, "dst": "静态网格体"},
{"id": 1, "dst": "检查资源使用情况"}
]
}

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。

powershell
python "<脚本路径>" compile --uplugin "<路径>.uplugin" --cultures zh-Hans

脚本通过 stdout 输出 JSON 结果,包含 status 和详情。

完整示例

powershell
# 阶段 1:采集源文本并导出 PO(语境增强模式加 --context)
python "<脚本路径>" gather --uplugin "C:/Project/Plugins/MyPlugin/MyPlugin.uplugin" --cultures zh-Hans --context
# 阶段 2:Agent 读取 pending_translation.json(含 hint 字段),参考上下文翻译后写入 translated.json
# 阶段 3:注入翻译并编译 locres
python "<脚本路径>" compile --uplugin "C:/Project/Plugins/MyPlugin/MyPlugin.uplugin" --cultures zh-Hans

补充说明

  • 脚本从 .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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/italink/unrealclientprotocol/unreal-plugin-localization/badge)](https://verified-skill.com/skills/italink/unrealclientprotocol/unreal-plugin-localization)

Something wrong with this skill or its page? Tell us.