一键导入
unreal-plugin-localization
翻译 UE 插件本地化 PO 文件。当用户要求本地化、翻译或国际化 Unreal Engine 插件时使用。 处理 GatherText 采集、PO 导出、AI 翻译、PO 导入和 locres 编译的完整流程。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
翻译 UE 插件本地化 PO 文件。当用户要求本地化、翻译或国际化 Unreal Engine 插件时使用。 处理 GatherText 采集、PO 导出、AI 翻译、PO 导入和 locres 编译的完整流程。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
GeometryScript 资产读写与碰撞操作。当用户要求精细控制 StaticMesh 资产加载/保存选项、创建新资产、生成碰撞体时使用。
GeometryScript 网格属性操作。当用户要求设置/查询顶点色、Polygroup、材质 ID 时使用。
Create geometry through the GeometryScript modeling workflow. Use when the user asks to create primitives, generate profile-based shapes, or produce mesh assets or working meshes for downstream pipelines.
GeometryScript 变形与变换操作。当用户要求弯曲、扭曲、平滑、噪声、位移、平移、旋转、缩放网格时使用。
GeometryScript 网格处理操作。当用户要求修复、简化、Remesh、布尔运算、体素化、分解、基础编辑或细分网格时使用。
GeometryScript 法线与切线操作。当用户要求重算法线、分裂法线、翻转法线、计算切线或修复法线方向时使用。
| name | unreal-plugin-localization |
| description | 翻译 UE 插件本地化 PO 文件。当用户要求本地化、翻译或国际化 Unreal Engine 插件时使用。 处理 GatherText 采集、PO 导出、AI 翻译、PO 导入和 locres 编译的完整流程。 |
将 Unreal Engine 插件的编辑器 UI 文本翻译为目标语言。工作流使用 Python 辅助脚本完成所有重活(PO 解析、commandlet 调用),Agent 只负责翻译精简 JSON。
读取本 SKILL.md 时你已知其绝对路径,将文件名替换为 scripts/ue_localization.py 即为脚本路径。不要搜索或 glob 查找。
用户提供 .uplugin 路径和目标语言。在执行之前,先询问用户是否启用「语境增强模式」:
是否启用语境增强模式?该模式会扫描插件源码和蓝图资产,为每个待翻译条目附加代码上下文(所在文件、行号、周围注释、蓝图变量/函数的 DisplayName 和 Tooltip),帮助产出更准确的翻译。启用后需要更多时间和Token。
用户确认后,按以下三个阶段依次执行。
运行 gather 子命令。脚本自动从 .uplugin 向上查找 .uproject,通过 EngineAssociation + Windows 注册表推断引擎路径,确保 .uplugin 中存在 LocalizationTargets,然后一次 commandlet 调用完成采集 + 导出 PO,最后将可翻译条目提取为精简 JSON。
# 标准模式
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: (仅语境增强模式)truecontext_entries: (仅语境增强模式)成功提取到上下文的条目总数(C++ + 蓝图)context_blueprint_entries: (仅语境增强模式且 UCP 可用)从蓝图资产中提取到上下文的条目数量脚本支持增量翻译:PO 文件中已有 msgstr(非空翻译)的条目不会出现在 pending 列表中,同时已有翻译会保存到同目录的 existing_translations.json。因此 pending_translation.json 中的 total 可能为 0(表示无需翻译)。
先检查 pending_translation.json 的 total 字段:
total 为 0,跳过该文件的翻译,直接进入阶段 3total > 0,对每个条目执行翻译对每个需要翻译的 pending_translation.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 来源有两种:
[文件:行号] | 周围注释/代码摘要[BP_MyActor.Variable:Health] | ToolTip: Current health points翻译时务必参考 hint 来判断术语在具体场景中的含义,从而选用更恰当的译法。例如同一个 "Instance" 在不同上下文中可能译为 "实例"(对象实例)或 "副本"(场景实例化)。
翻译每个 src 值,遵循下方翻译规范。
在 pending 文件同目录下写入 translated.json:
{
"translations": [
{"id": 0, "dst": "静态网格体"},
{"id": 1, "dst": "检查资源使用情况"}
]
}
pending 文件中的每个 id 都必须出现在输出中,不可遗漏。
{0}、{1}、{Arg}、%s、%d 等src 为空,dst 也设为空字符串运行 compile 子命令。脚本自动合并 existing_translations.json(已有翻译)和 translated.json(新翻译),新翻译优先覆盖已有翻译,然后将合并结果写回 PO 文件的 msgstr 字段,最后一次 commandlet 调用完成导入 + 编译 .locres。
python "<脚本路径>" compile --uplugin "<路径>.uplugin" --cultures zh-Hans
脚本通过 stdout 输出 JSON 结果,包含 status 和详情。
# 阶段 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 koen,可通过 --native en 覆盖--context)会额外通过 UCP 读取蓝图资产中的变量/函数 DisplayName 和 Tooltip;UCP 不可用时自动跳过蓝图扫描,仅使用 C++ 上下文