v2.0版本更新：

新增功能，选中节点后按F1即可弹出该节点介绍/原理/使用方法等信息弹窗！

新增对Beauty Box插件的属性面板参数中文注释.

新增对CopyCat节点的属性面板参数中文注释.

新增对Inference节点的属性面板参数中文注释.

新增对Upscale节点的属性面板参数中文注释.

新增对higx插件的中文注释.（支持higx插件最新1.6版本和旧版本）.

新增对Beauty Box修容插件的参数面板中文注释.

优化部分中文注释内容，新增部分节点中文注释，修复插件几个小bug问题.

——————————————————————————————————————————

2025/04/30

v3.0版本更新：

新增快捷键F8可自由切换原生全英界面和英+中文界面

优化部分节点翻译内容    减少不必要翻译项

去除重复翻译内容  修复部分bug

——————————————————————————————————————————

2025/05/11

v3.1版本更新：

新增Nuke软件的首选设置界面的英+中文注释，同样支持界面语言切换.

优化部分节点翻译内容  减少不必要翻译项  

——————————————————————————————————————————

2025/06/12

v3.2版本更新：

新增Nuke软件的Viewer节点属性面板的英+中文注释

新增Nuke软件的鼠标悬停至命令位置弹出的英文释义增加中文注释功能

为 Pane → Windows 菜单项添加中文注释

优化部分节点翻译内容  减少不必要翻译项  

——————————————————————————————————————————

2025/06/29

v3.3版本更新：

Nuke软件默认启动界面由英+中文双语言界面切换为原生英文界面（Nuke默认启动界面改为原生英文界面）

优化部分节点翻译内容 减少不必要翻译项

优化切换语言功能  修复视窗右键/工作区域右键/侧边工具栏右键的不同步切换语言问题（已修复，此版本可同步切换语言）

优化Tooltip鼠标悬停说明提示框的同步语言切换功能（现已修复可同步动态切换语言）

优化插件性能，对Nuke软件性能影响降为最低，几乎为0

——————————————————————————————————————————

2025/07/08

v3.4版本更新：

修复对Windows网络路径的支持

优化部分翻译内容  减少不必要的翻译项 

——————————————————————————————————————————

2025/08/09

v3.5版本更新：

性能优化和稳定性，有效降低 CPU 占用；删减重复的节点遍历逻辑，提升启动和运行效率

优化翻译内容，删除重复翻译内容

——————————————————————————————————————————
2025/08/26

v4.0版本更新：

增加绑定机器需授权文件才可使用机制

增加16个Cattery猫舍训练模型节点的中文映射翻译

增加NukeSurvivalToolkit插件的中文映射翻译

增加Trapcode Particular OFX v2.1.2插件大的中文映射翻译

优化翻译内容，删除重复翻译内容

购买一份插件可支持最多两台机器使用

增加部分未翻译内容的中文映射

——————————————————————————————————————————

2025/09/11

v4.1版本更新：

增加顶层NukeChineseAnnotation菜单，可自定义设置默认启动语言和切换语言快捷键

增加自检面板菜单，面板会显示：插件版本、签名验真、授权状态、Qt 绑定、Nuke 版本等详细信息

切换语言菜单、显示中文节点说明全部挪到新增加的NukeChineseAnnotation菜单下

优化大量翻译内容，补充大量翻译内容，补全BCC插件所有节点翻译

优化插件代码逻辑，优化部分bug. 删减重复的节点中文映射

优化授权机制、完整性检测。切勿修改插件NukeChineseAnnotation文件夹内任何文件/代码，修改即报错.

——————————————————————————————————————————

2025/09/19

v4.2版本更新

修复菜单翻译导致 \t 右侧信息被截断的问题，具体错误为项目设置（S快捷键）分辨率右侧数值，恢复 分辨率下拉 等菜单右列（如“2048x1556 / 像素长宽比、快捷键”）的显示。

——————————————————————————————————————————

2025/12/12

v5.0版本更新

增加Nuke17版本兼容

增加Nuke17版本新增的58个三维节点的双语言支持/完善

增加/完善Curve 按钮（关键帧/曲线按钮）的双语言支持，已100%覆盖Curve 按钮（关键帧/曲线按钮）

增加/完善节点属性参数面板的右键菜单双语言

增加NukeSurvivalToolkit插件节点名称双语言/完善NukeSurvivalToolkit插件节点参数面板双语言

增加SPIN_tools插件（支持插件节点名称/节点参数面板双语言）

增加EZ_toolset插件（支持插件节点名称/节点参数面板双语言）

优化部分Bug   增加大量未翻译内容及节点

——————————————————————————————————————————

2026-01-22

v5.1版本更新

新增：

新增对 Nuke 17 中工具栏 Fild 菜单 内 13 个新节点 的中英双语言支持

补充支持 Nuke 17 最新版本 中新增的部分节点与菜单项的双语言显示

优化：

完善并修复部分菜单中遗漏的未翻译内容

重构并优化语言切换核心逻辑，确保语言在 英文 / 中英双语模式 之间切换时表现稳定、一致

修复：

修复旧版本中 带勾选（Checkbox）类菜单项 在切换语言后无法正确回切的问题

彻底解决语言切换过程中可能出现的文本残留与状态不同步问题，实现真正的“无残留”切换体验

——————————————————————————————————————————

2026-03-17

v5.2版本更新内容

1. 优化中英 / 双语切换机制

对插件的语言切换逻辑进行了进一步整理和增强，提升了中英模式、双语模式之间的切换完整性与一致性。

2. 改进重复翻译与重复追加问题

针对部分界面在多次扫描、重复刷新、重新打开面板后，可能出现重复双语追加的问题，v5.2 做了更严格的文本处理和重建逻辑优化。

3. 加强对动态界面和延迟加载内容的适配

Nuke 及部分第三方插件的菜单、面板、参数项并不是一次性全部生成的，而是会在后续操作中动态出现。
v5.2 对这类场景做了更完善的扫描、刷新、补刷和状态管理优化。


4. 强化第三方插件兼容支持

进一步优化对部分第三方插件菜单和参数翻译模块的处理逻辑，使第三方插件在语言切换、刷新和重复进入界面时表现更稳定。


5. 重构部分内部启动与管理逻辑

对插件内部的启动流程和模块管理方式进行了优化，使整体结构更清晰，便于后续扩展和维护。


6. 优化偏好设置与快捷键处理

对插件偏好设置、快捷键绑定和配置同步进行了细节增强，使设置体验更完整、保存更稳定。


7. 优化翻译术语与界面文本表达

对所有翻译文件内容进行了调整和统一，使整体术语风格更加规范、专业。


语言切换更稳定、界面更整洁、翻译覆盖更完整、第三方插件表现更稳、设置更顺手、术语更统一、

相比 v5.1，v5.2 在实际使用中会带来 更稳定、更整洁、更流畅、更完整、更专业 的双语体验。

——————————————————————————————————————————

2026-04-09

Nuke Chinese Annotation v6.0 最终更新内容

可以说，v6.0 已经是当前阶段的最终成熟形态版本。

这是一次较大幅度的版本升级，本次更新重点不再只是补充翻译内容，而是对插件的性能、运行时架构、稳定性和可维护性进行了系统优化。

修复 v5.2 在大工程环境下可能出现的 Qt 定时器 / 窗口句柄持续增长问题
优化插件启动链路，尽可能降低对 Nuke 启动与运行 的影响
提升 中英切换 时的稳定性与一致性
减少大工程、复杂菜单、第三方节点环境下的额外负担
降低脚本加载期间的 无效回调与重复扫描
提升复杂工程中的整体稳定性与响应效率
优化完整性与授权校验、菜单翻译调度、节点注释架构以及运行时处理逻辑
清理无效配置项，整理插件内部结构，提升整体可维护性

v6.0 属于一次 性能与运行时架构升级版本。
可以理解为：这并不是一次普通的小更新，而是对插件底层进行了一次比较完整的整理和强化。

v6.0 之后，后续版本将主要以：补充未翻译词条、小版本兼容优化、细节体验完善为主，不再进行本次这样的大规模底层重构。

感谢大家一直以来的支持。

——————————————————————————————————————————

2026-05-10

Nuke Chinese Annotation v6.1 最终更新内容

增加全自动在线激活，在线版本升级

顶层菜单栏自检面板，云端更新状态会有当前版本和最新版本提示，如有新版本则会提示更新，点击开始更新即可在线获取最新版本。

离线激活可作为电脑无法联网时备选方案，在线激活更快速，无需人工干预。

——————————————————————————————————————————

2026-06-21

Nuke Chinese Annotation v6.1.1 热修更新内容

修复 BCC Knob 翻译模块的包内导入一致性问题，提升不同加载环境下的稳定性。

优化 BCC / Sapphire 菜单翻译扫描逻辑，接入已有的根菜单签名、分支缓存清理和强制深扫机制，减少动态菜单漏刷与缓存残留风险。

增强语言切换快捷键防抖，降低 Nuke 菜单快捷键、Qt Shortcut、事件过滤器多层绑定时重复触发的风险。

优化机器指纹读取失败时的 fallback 逻辑，避免极端环境下产生非机器唯一的固定指纹。

在线激活优先使用 POST JSON 请求，并保留旧 GET 接口作为兼容回退。

加强自检面板云端更新链接的安全处理，仅渲染官方 HTTPS 更新链接，并修正本地诊断信息说明措辞。

同步更新使用协议中的联网说明，明确在线激活、云端版本检测和自检面板刷新时涉及的必要请求信息。

清理翻译表中的重复键，并新增开发期翻译表检查脚本，用于后续发布前检查重复 key、空值和可疑未翻译项。

——————————————————————————————————————————

2026-06-21

Nuke Chinese Annotation v6.2 更新内容

修复 BCC Knob 翻译模块在不同加载环境下可能出现的包内导入不一致问题，提升 Nuke 多版本环境中的兼容性。

优化 BCC / Sapphire 菜单翻译扫描逻辑，统一根菜单签名、分支缓存清理和强制深扫机制，减少动态菜单漏刷、缓存残留和重复刷新风险。

增强语言切换快捷键防抖逻辑，降低 Nuke 菜单快捷键、Qt Shortcut、事件过滤器多层绑定时重复触发的可能性。

修复机器指纹读取失败时的 fallback 逻辑，避免极端系统环境下产生非机器唯一的固定指纹。

清理翻译表中的重复 key，降低后续维护时出现覆盖、误判和词条不一致的风险。

统一并优化常用节点术语表达，例如 Flare 调整为“镜头光斑”、GodRays 调整为“体积光束”、TimeWarp 调整为“时间重映射”、Defocus 调整为“虚焦”、Warp 调整为“变形”。

统一 Bloom 相关术语为“泛光”表达，使节点名称和效果类别更贴近合成行业习惯。

修正部分节点与参数中的多余空格、尾随空格和显示不一致问题，使界面文本更干净。

修正 BCC Corner Pin OBSOLETE 的显示名称，统一为“角点贴图”。

优化 BCC 系列术语，包括 3D 图像破碎、噪波贴图 2、光学稳定器、3D 镜头光斑、角点贴图工作室、VR 模糊等翻译表达。

优化 BCC 参数面板中的点位、360 度、色彩校正、Alpha 光线/辉光等术语表达。

统一 Sapphire 的 Z 类节点显示风格，例如 Z 模糊、Z 卷积、Z 虚焦、Z 合成、Z 辉光。

优化 Sapphire 星芒、彩虹星芒、星芒溶解、跳帧切换、异常颜色显示等术语表达。

优化 Trapcode Particular 参数术语，例如方向扩散、光照衰减、寿命 % 等表达。

优化 Higx 菜单和参数术语，同时保留 Higx 菜单原有下划线风格，避免破坏其原始分类结构。

——————————————————————————————————————————

2026-07-15

Nuke Chinese Annotation v6.3 更新内容

重构插件 init.py、menu.py 与 bootstrap 启动入口，统一使用包内模块加载方式，减少不同插件搜索路径、中文路径及重复加载环境下的导入问题。

将授权界面和 GUI 模块初始化延后到 Nuke 菜单阶段及 Qt 事件循环就绪后执行，避免在 init.py 早期加载阶段创建界面对象，降低 Nuke 启动卡顿或界面初始化失败的风险。

完善 PySide2 / PySide6 与 Qt5 / Qt6 兼容层，提升 Nuke 13 至 Nuke 17 不同 Python、Qt 环境中的兼容性。

修复 Nuke 16、17 使用 PySide6 时快捷键对象和按键事件处理差异导致的兼容问题，提升 F8 中英文切换快捷键的稳定性。

彻底修复 Preferences 首选项界面从中英双语切换到英文后，部分复选框、颜色按钮、GroupBox、TreeView 及 Foundry 自定义控件仍残留中文的问题。

修复优化后曾出现的 Sapphire、Higx 及其他第三方插件节点参数大量漏翻译问题，确保节点创建、工程载入和语言切换后都能重新应用对应翻译。

大规模补充 Nuke 原生工具栏、节点名称、节点属性面板、按钮、菜单和首选项中的遗漏词条

补充 Furnace 系列节点中的分析、跟踪、去闪烁、重新加颗粒、稳像、钢丝移除等大量属性面板参数翻译。

补充粒子发射、粒子预览、速度、寿命、随机、重力、阻力、湍流、颜色、尾迹、碰撞等大量特效节点参数翻译。

补充相机匹配、双目立体、拼接、光流、镜头元数据、运动矢量、深度图、几何细分和跟踪求解等专业参数翻译。

进一步补充 Higx、Trapcode Particular 及其他已支持第三方插件中的遗漏参数和显示文本，统一常用术语表达。

对当前测试环境中的 291 个 Boris FX Sapphire 节点进行逐项扫描和参数比对，在已有节点名称翻译基础上重点补全每个节点的属性面板参数。

新增 1807 个 Sapphire 独立参数标签翻译，覆盖扫描到的 2479 处缺失参数显示

新增独立的 sapphire_knob_translations.py 翻译数据模块，将 Sapphire 专用术语与 Nuke 通用词条分离，避免第三方参数污染其他节点，并便于后续版本继续维护。

清理节点帮助数据中的重复词条，避免同名键被后面的内容静默覆盖。

清理已经确认无调用的旧模块、旧函数、无效路径常量、临时兼容代码和空版本标记文件，降低维护时误用旧逻辑的风险。

统一翻译文本规范化、双语后缀处理、菜单遍历、缓存管理、Qt 对象查找和异常记录等公共逻辑，减少多模块重复实现。

——————————————————————————————————————————

2026-08-02

Nuke Chinese Annotation v6.4 更新内容

新增节点属性面板下拉选择项的中英双语显示能力，首批补充 28 个枚举选项翻译，完整覆盖 Keylight 的视图、屏幕替换、源 Alpha、边缘处理和输入/输出分量等下拉选项，并补充视频范围、全范围及旧版色彩分配等媒体选项。

下拉项翻译仅作用于 Qt 界面的显示文字，不修改 Enumeration_Knob 的真实英文选项、当前节点值或写入 .nk 工程的内容，避免中文数据影响工程兼容、表达式、脚本和第三方插件行为。

下拉项采用事件驱动的按需刷新方式，只在启用双语、新建节点、属性面板首次获得焦点或面板页签切换时进行定点同步；不使用常驻轮询，也不安装应用级全局 Qt 事件过滤器，降低对 Nuke 交互性能和稳定性的影响。

完善下拉项的中英文往返恢复、重复加载保护、信号阻断、当前索引保持、动态选项重建和异常隔离，切回英文后可恢复原始选项文字。

补充 Codec、FPS、Codec Profile、YCbCr Matrix、Audio File、Audio Offset、Data Range、Video Range、Fast Start、Write Timecode、Metadata Export、Color Primaries、Transfer Function 等媒体编码与元数据参数翻译。

补充 key1 至 key4、value1 至 value4 等键值参数翻译，本次共新增 21 个属性标签词条。

完成 Nuke 13、14、15 的 PySide2 / Qt5，以及 Nuke 16、17 的 PySide6 / Qt6 兼容验证；确认下拉双语显示、用户选择、英文恢复和回调卸载均不改变节点真实值及脚本保存值。

继续补充 49 个下拉选项翻译，包括 Impulse、Cubic、Keys、Simon、Rifman、Mitchell、Parzen、Lanczos、Sinc 等重采样滤波算法，快门偏移的居中、开始、结束与自定义模式，以及 Defocus 的加速和全精度计算模式。

完整补充 Merge operation 的 30 种合成算法翻译，包括顶置、平均、颜色加深、颜色减淡、联合覆盖、分离覆盖、差值、几何平均、强光、滤色、柔光、相乘、相加、内部/外部合成和异或等模式。

新增按 Knob 名称限定下拉翻译上下文的机制；Merge 的 screen、from、in、out 等短选项只在 operation 参数中使用对应合成术语，避免污染其他节点中同名但含义不同的下拉选项。

继续补充 Reformat 与 DeepReformat 的缩放依据、输出类型，TimeOffset 与 FrameHold 的整帧/小数时间模式，以及 Roto/RotoPaint 的裁剪范围、生命周期、绘制来源、混合模式和帧范围选项。

补充 Read、DeepRead 等读取节点的本地化策略、范围外帧处理和帧编号模式；补充 Keyer 的通道键控、红绿蓝幕、亮度键、饱和度键及遮罩合并方式。

补充 Tracker、PlanarTracker 和 Roto 跟踪面板的预跟踪滤镜、CornerPin2D 相对/绝对/稳定导出、Tracker 导出及对应烘焙模式，并补充 Ratio、Cleanup Smart Keys 两项 Smart Roto 界面翻译。

进一步扩展按 Knob 上下文隔离下拉翻译，确认 width、format、on、color、replace 等短词只在对应参数中翻译，不影响其他同名选项。

对 Nuke 13.0v1、14.0v1、15.0v1、16.0v4、17.0v1 的原生节点进行隔离式自动枚举核对；最终共检查 31,330 次下拉选项记录，覆盖 371 个带枚举参数的原生节点类和 1,417 组“节点类 + 参数”组合，替代逐个节点截图查漏。

系统补齐 Foundry 原生节点中仍有实际中文说明价值的下拉项，覆盖 3D 显示与剔除、几何体与场、投影与球面贴图、相机跟踪、镜头畸变、重采样滤镜、深度输出、粒子属性、USD/新 3D、查看器、立体拼接、元数据及 CaraVR 导出等类别。

对同词异义项进行上下文隔离，例如 operation.screen 为“滤色”、viewerTransformSpace.screen 为“屏幕空间”，filter.box 为“方框”、region.box 为“盒体”，避免通用短词在不同节点中被错误翻译。

细化专业标识显示规则：Z、Alpha、P、b、RGB/RGBA、UV、正负轴向以及 XYZ/TRS 等短技术标识保持纯英文，不再追加意义有限的中文后缀；ACES/OCIO 色彩空间、相机型号等完整专业名称仍保留英文原名，并仅在确有帮助时补充中文用途说明。

完成 Nuke 13 至 Nuke 17 五版本最终全量复核：在隔离用户插件的安全环境中共核对 31,330 次原生枚举记录，其中 26,810 次由参数上下文精确翻译、3,158 次由通用词表翻译、15 次已经包含中文、1,347 次属于应保留英文的技术标识；最终可翻译遗漏数量为 0。

本轮新增或完善约 526 个不同的专业下拉显示项，对应补齐此前 11,357 处未带有效中文说明的实际出现位置；覆盖相机、3D、缩放窗口、采样数量、光线反弹深度、缓存策略、单位和数值规格等类别，其中通道、轴向、旋转顺序和变换顺序等短技术标识按最新规则保持纯英文。

完整补充 ACES、OCIO、Cineon、ARRI LogC、REDLog、S-Log、Canon Log、HLG、PQ、Rec.709、sRGB、CIE、各类原色与标准光源等色彩管理选项；行业标准名称保持英文，中文部分说明其编码、角色、白点或原色用途。

完整补充 163 套 Film、ARRI、Blackmagic、Canon、Nikon、Phantom、RED、Sony 相机/胶片画幅预设，以及 13 套 CaraVR 相机阵列预设；相机型号和工程格式保持原名，中文部分说明其画幅或阵列类别。

补充 USD/新 3D 属性及 45 种属性数据类型、Field3D 网格类型、OpenEXR 压缩方式、推理框架、模型类型、LUT/矢量场/USD/几何文件格式、镜头畸变模型、运动矢量来源、深度格式和比较运算符等技术选项。

当前运行时下拉翻译数据包含 950 个通用源词条，并按 461 个 Knob 脚本名称进行上下文精确匹配，共提供 5,681 组上下文词条；另有 182 个明确保留英文的技术标识规则，避免 A/B、XYZ、screen、mode、type、operation 等短词在不同节点中发生错译或被过度翻译。

明确排除不会作为普通只读下拉显示的内部数据：空值、分隔符、动态视图占位符、Pulldown_Knob 内部命令，以及 BurnIn 可由用户直接编辑的元数据路径。上述内容若强行改写会改变真实参数或命令语义，因此不作为漏翻译处理。

完成 Nuke 13 至 Nuke 17 五个实际版本的 Qt 下拉运行测试：语义项双语显示、短技术标识纯英文保留、嵌套中文说明处理、当前索引保持、英文原样恢复、上下文隔离、信号阻断及节点脚本值不变全部通过；新增内容仍为静态字典和事件驱动刷新，不增加轮询、常驻定时器或逐帧任务。

新增首选项下拉项专用翻译机制，最终补充 66 个明确的首选项显示选项，覆盖查看器布局、缓冲精度、抖动模式、播放方式、面板位置、序列命名、颜色选择器、文档来源、本地化策略、工程目录和海报帧等内容；字体、显卡、色彩空间、分辨率、软件名称和动态配置路径保持原样。

修复 Nuke 13 至 Nuke 17 首选项下拉控件通常没有 Knob 名称、导致原节点下拉匹配方式无法生效的问题；对首选项延迟显示的页面采用窗口激活/页面显示事件合并后的一次性刷新，不监听所有子控件创建或持续布局过程，也不进行循环扫描。

继续补齐约 42 个原生节点语义选项，并为 Roto/RotoPaint、SplineWarp、ParticleRender、Backdrop、AudioRead、NoTimeBlur、TimeClip、TextureSampler、ReadGeo、Write 等节点补充或接通已有上下文词表；文件扩展名、BurnIn 元数据路径、通道编号、数值比例和色彩空间标识不作为漏翻译处理。

2026-08-14 完成高强度性能架构优化：移除应用级全局 Qt 事件过滤器和全局 KnobChanged 回调，避免插件在鼠标移动、界面绘制、节点拖动、参数调整等普通操作中持续介入 Nuke 主线程。

将节点翻译统一收敛为一个共享 OnCreate 回调，并取消 OnScriptLoad 二次全工程扫描；工程加载时直接复用 Foundry 恢复节点所触发的 OnCreate 流程，减少大型工程重复遍历和第三方插件重复识别。

新增按“节点 Class + 参数数量”生成的参数翻译执行计划缓存。相同类型节点首次建立计划后，后续节点只访问确实需要翻译的参数，不再重复遍历全部 Knob、读取全部标签和查询完整翻译表；Group、Gizmo 等动态节点继续采用安全路径，避免因缓存造成错翻或漏翻。

为 BCC 与 Higx 参数翻译加入独立的类型计划缓存，并为共享节点运行时加入 Class 路由缓存；普通 Nuke 节点不会再反复执行无关第三方插件的深度识别逻辑。

下拉项、首选项、Viewer 菜单、Windows 菜单和工具提示改为局部对象信号及用户操作触发：仅跟踪已经打开或正在交互的面板、菜单和下拉控件，不再监听 Nuke 全部 Qt 事件，也不进行空闲轮询。

第三方 Nodes 菜单翻译统一共享一次菜单快照，启动补刷限制为立即执行加最多两次有限重试；修复旧调度器在第三方菜单始终未出现时可能每隔数秒长期重扫的问题，并保留“刷新当前界面翻译”作为极少数延迟加载界面的手动兜底。

F8 语言切换改为单次界面事务：切换过程中统一暂停主窗口重绘，一次完成节点、菜单、首选项、下拉项和工具提示同步；英文模式不再注册额外的节点创建回调，新节点直接保持 Nuke 原生英文状态。

Particular 的延迟补翻由全工程重复扫描改为只处理刚创建的目标节点；保留其动态 Gizmo 参数延迟生成所需的有限定点补刷，同时避免影响普通节点和大型工程。

增强多开 Nuke 与开发热重载时的运行状态复用，避免重复绑定首选项焦点信号和 Windows 菜单信号；所有局部信号、菜单连接、对象过滤器和节点回调均提供对应卸载清理路径。

自检面板新增 v6.4 性能架构诊断，可直接查看共享节点运行时、OnCreate/OnScriptLoad 状态、UI 定向信号、已跟踪面板和下拉控件数量，并明确显示 GlobalEventFilter、GlobalKnobChanged、IdlePolling 均为关闭状态；同时记录 F8 切换至双语/英文的实际耗时，便于远程定位个别用户机器的性能差异。

2026-08-22 完成 v6.4 最终商业发布级性能与兼容性复核：全部验证均只针对源码目录执行，并通过隔离 HOME、清空 NUKE_PATH 及 Nuke 安全模式排除用户 .nuke、第三方启动脚本和旧编译副本干扰。

进一步优化 Viewer 右键菜单的焦点热路径：将需要长期监听的 Viewer 控件与当前焦点链临时控件分离，每个 Viewer 作用域只做一次结构发现，焦点离开后立即释放临时监听，避免普通控件越点越多、事件过滤器长期累积；在 1,201 个模拟控件的压力环境中，Nuke 17 单次焦点处理由约 4.06 ms 降至约 0.17 ms，约提升 24 倍。

Viewer 工具栏提示采用作用域缓存，同一 Viewer 首次发现后仅处理当前焦点及祖先链，不再在每次焦点变化时重复遍历整棵控件树；代表性压力测试由约 0.086 ms 降至约 0.021 ms，并保留菜单快捷键、双语显示和英文原样恢复。

下拉翻译表完成规范化缓存：首次合并并规范化原生、首选项与 Sapphire 词表后直接复用，F8 切换不再重复构建数千项查找表；重复读取耗时由约 3.2 ms 降至约 0.13 ms，约提升 24 倍，同时提供显式缓存失效入口供开发热重载使用。

节点属性翻译统一为单一共享 OnCreate 回调，重复安装不重复绑定，卸载后立即停止响应；Nuke 13 至 Nuke 17 实机合约测试均确认 OnCreate=True、OnScriptLoad=False，连续创建节点严格一节点一次分发。

在 100 个多类型原生节点的共享运行时测试中，类型与路由缓存预热后的单节点处理耗时约为 0.033–0.047 ms；在 2,000 个无关 Qt 控件的下拉同步压力测试中，新建节点回调约为 0.050–0.063 ms，且只发生一次初始面板发现，后续均为定点同步。

在 1,000 个节点的 F8 切换压力测试中，Nuke 13 至 Nuke 17 切换至双语约为 43–68 ms，切回英文约为 22–31 ms；切换工作只在用户主动操作时发生，不引入逐帧任务、空闲轮询或后台持续扫描。

为命令行、渲染农场和无界面会话增加极短启动路径；五版本测试中 run_init_entry 核心入口约为 0.05–0.07 ms，并确认不会加载授权界面、启动性能记录模块或全局输出过滤模块。

完成最终翻译覆盖闭环：核对 96,590 条 Foundry 原生节点参数标签、31,330 条原生下拉记录、294 条首选项下拉记录、99,836 条 Sapphire 参数标签及 16,450 条 Sapphire 下拉记录；在明确排除内部宿主状态、图标标记、技术通道、色彩空间、胶片型号和抽象工厂占位数据后，可翻译遗漏均为 0。

当前翻译资源合计包含 6,397 个节点参数标签（其中 1,982 个为 Sapphire 专用参数标签）、950 个运行时通用下拉词条（其中 421 个为 Sapphire 专用词条）、461 个下拉上下文及 5,681 组上下文选项；Sapphire 专用下拉部分包含 2 个精确上下文，共 4 组上下文选项。

完成 Nuke 13/Python 3.7/PySide2、Nuke 14/Python 3.9/PySide2、Nuke 15/Python 3.10/PySide2、Nuke 16/Python 3.11/PySide6、Nuke 17/Python 3.11/PySide6 五套运行环境回归；41 个 Python 源码模块全部通过对应解释器编译，Qt 绑定、菜单往返、下拉值保持、缓存复用与失效、监听卸载和技术标识保留全部通过。

静态安全复核未发现语法错误、裸 except、重复字典键或 eval/exec 动态执行；调试输出不再通过全局 print 包装拦截，日志字段仅在对应日志等级启用时才格式化，减少普通运行中的无效开销。

Sapphire 自动枚举中有 7 个厂商节点在未加载 Nuke Chinese Annotation 的隔离式无界面 Nuke 中同样会导致宿主进程异常退出，因此已从批量实例化环节安全隔离，不将其误判为本插件故障；这些节点保留在发布前真实 GUI 抽查清单中，避免为了追求统计数字而主动触发宿主崩溃。

修复从英文模式再次切回双语模式时，顶层菜单栏仍读取切换前的英文状态，导致只有少数菜单完成双语同步、必须手动执行“刷新当前界面翻译”才能恢复的问题；顶层菜单现在直接接收本次切换的目标语言状态，一次同步完成，同时保留启动延迟刷新和旧调用方式的兼容性，不增加定时扫描、额外回调或重绘闪动。

统一顶层 Help 菜单的品牌显示：双语模式下始终保持为“Help（帮助-Nuke学习社）”，避免语言往返后被通用 Help 翻译覆盖成“Help（帮助）”；英文模式仍恢复为 Nuke 原生“Help”。该校正仅检查顶层菜单栏中的少量 QAction，不遍历子菜单，也不增加常驻监听。

2026-08-26 完成 v6.4 发布前 P1/P2 稳定性加固：节点参数执行计划改为完整参数结构校验，并保留每个参数精确的原始标签；相同 Class、相同参数数量但结构不同的节点不再错误复用缓存，英文恢复可正确还原原生空标签、大小写和空白。

为 Group、Gizmo 等动态节点增加有界纯字符串缓存和保守迁移规则；节点重命名、多实例、删除后同名重建时均不持有 Node/Knob 对象，不写入隐藏参数，也不会把用户自定义的“Artist（备注）”一类文字误当作插件翻译删除。Nuke 13 与 Nuke 17 的 20 个 Group、100 轮语言往返测试错误为 0，Python 跟踪内存净增长约 0.007 MB。

增强发布包完整性校验：四套 Python 版本的实际二进制翻译载荷全部纳入 manifest；首次启动、周期复核、自检和导入时均校验当前解释器真正加载的 .pyc，未登记或被篡改的二进制会被拒绝。校验失败后不再复用旧启动戳，修复文件后必须完成一次真实全量哈希才能恢复快速路径。

修复完整性导入守卫在开发热重载时可能重复堆叠的问题；同一插件目录始终只保留一个当前守卫，更新 manifest 后立即使用新数据，卸载操作可重复执行且不会误删第三方导入器。

授权文件写入改为同目录唯一临时文件、强制落盘和原子替换；多开 Nuke、并发激活或 Windows 临时占用目标文件时，不会相互覆盖临时文件，写入失败会保留旧授权。在线激活响应必须先通过本地签名、机器码和期限校验，验证成功后才允许保存；异常 JSON 结构统一返回可诊断的格式错误。

严格限定 Qt 兼容矩阵：Nuke 13–15 使用 PySide2，Nuke 16–17 使用 PySide6；检测到错误 PySide/PyQt 或 Qt5/Qt6 双绑定预载时会在导入前安全拒绝，避免混用导致宿主崩溃。无界面 Nuke、命令行和渲染农场会话也不再把 QCoreApplication 当作 QApplication 调用界面方法。

补强热重载和卸载生命周期：共享节点回调、Viewer 工具提示、首选项窗口、Windows 菜单、局部事件过滤器、延迟任务与语言运行时均能识别并清理旧版本绑定；重复安装保持单实例，过期延迟任务会由代次标记自动失效。

本轮源码在 Nuke 13、14、15、16、17 的安全隔离环境中完成五版本复核，每个版本 38 个运行模块全部导入成功；Nuke 13 与 Nuke 17 的缓存碰撞、原生空标签、动态 Group、多语言往返、回调安装/卸载、完整性篡改与恢复测试全部通过。与 v6.3 相比，v6.4 运行时翻译资源新增 8,197 条记录并修改 3 条，新增约 2,891 个不同的英文源词键。

——————————————————————————————————————————

2026-08-27

Nuke Chinese Annotation v6.5 更新内容

新增工作区窗格页签双语显示：Properties、Background Renders、Scene Graph、Node Graph 等 15 个固定原生页签可随 F8 在英文与“英文（中文）”之间同步切换。采用严格白名单、页签级归属标记和事件触发更新，不轮询、不使用全局事件过滤器、不遍历节点；Viewer1、节点名、编号页签、文件路径及第三方自定义页签保持原样。

明确新增工作区页签功能的安全边界：不对节点属性面板内部的 Qt 页签进行泛化扫描或直接重写，GridWarp3、Transform、Render、Options、Node 等未收录的节点专属页签保持原生英文；既有 Tab_Knob 仍按全量翻译数据执行，不改变旧版本已有行为，避免额外遍历属性结构、误改第三方节点或增加交互开销。

完善显式卸载、同进程重新安装和开发热重载生命周期：F8 快捷键重绑、顶层菜单排序及菜单阶段延迟任务均增加安装代次校验，卸载后已排队的旧任务自动失效，重新安装会建立新的有效绑定，不再继承旧的一次性状态。

增强 GUI 启动降级恢复：语言运行时、Windows 菜单、节点帮助和管理命令分别记录安装结果；某个组件发生瞬时异常时不再把整个 GUI 无条件标记为就绪，并在既有的一次性延迟刷新中进行一次有界重试，不增加常驻定时器或后台轮询。

修复 Windows 菜单翻译器明确返回安装失败时仍被启动器误记为成功的问题；特殊 QApplication 初始化时序下会保持未就绪状态并使用既有有界重试，不会静默跳过后续恢复。

修复语言切换重绘保护会无条件重新开启界面更新的问题。现在会记录窗口进入切换事务前的真实 updatesEnabled 状态，并按原状态恢复；若 Nuke 或第三方工具本来就在阻止重绘，插件不会提前打破其界面事务。

语言切换防抖计时由系统墙钟改为单调时钟，避免用户校准系统时间或网络自动回拨时间后，F8 在较长时间内被误判为连续触发而无法切换。

补强完整性导入守卫：每个实际执行的源码或二进制模块在导入时均重新计算真实 SHA-256，不再让“文件大小和修改时间均被伪装为原值”的非核心源码短期复用旧摘要；校验仍按实际导入模块分摊，不恢复每次启动全目录扫描。

补齐 Foundry 直接入口及导入守卫安装前模块的启动指纹，覆盖 __init__.py、init.py、menu.py、runtime_logging.py、performance_profile.py 与 paths.py；增加的只是约 18 KB 小文件顺序哈希，不引入目录遍历或运行时监听。

优化许可证机器码校验：新机器码匹配成功时不再重复执行旧机器码平台探测；旧许可证仍在需要时兼容验证。macOS 旧 ioreg 读取增加 2 秒超时与独立异常隔离，避免异常系统进程无限阻塞 Nuke 启动或激活。

在线激活网络请求移至独立后台工作线程，保留现有 POST 与兼容 GET 协议、本地签名校验和原子许可证写入逻辑。断网、代理异常或服务器超时时，激活窗口仍可正常绘制和响应，不再让 Nuke 主界面连续冻结约 5 至 10 秒。

统一在线激活期间的退出保护：窗口关闭、“退出”按钮与 Esc 均会等待当前请求完成，避免服务器已消耗激活而本地窗口提前结束、许可证响应未能落盘；请求结束后所有控件恢复正常。

补齐 Qt 对象销毁路径：Viewer 工具提示过滤器与下拉观察器在卸载或模块热重载时，先解除信号、事件过滤器和对象跟踪，再安全调用 deleteLater；普通 F8 往返继续复用现有观察器，避免累计无活动 QObject。

完整保留 v6.4 的全量翻译数据和技术标识保护规则。本轮未删减节点、参数、下拉项、首选项、Sapphire、BCC、HigX、Particular、Viewer 或菜单词条，也未改回增量翻译、空闲扫描或全局事件过滤方案。

完成不启动 Nuke GUI 的五版本离线发布回归：41 个 Python 模块分别通过 Nuke 13、14、15、16、17 自带 Python 3.7.7、3.9.10、3.10.10、3.11.7、3.11.11 编译；严格 UTF-8、AST、JSON、翻译映射不变量、完整性篡改与恢复、导入守卫重载/卸载、顶层菜单和工作区页签纯逻辑合约全部通过。

继续优化全量节点参数热路径：通用翻译缓存命中时在一次完整结构校验中同时解析后续需要写入的参数，不再重复读取同一批 Knob；BCC 与 HigX 同步保留完整“参数类名 + 参数名”碰撞保护，并减少验证过程中的临时对象。该优化不会按 Class 和参数数量粗略复用缓存，不牺牲动态 Group/Gizmo、空标签、原始大小写或用户自定义文本的安全性。

优化共享节点运行时路由：每次节点分发只规范化一次服务列表，同时保持 generic、BCC、HigX、Particular 的原有执行顺序与缓存键语义。路由局部基准在 Nuke 13 与 Nuke 17 分别缩短约 19% 和 17%，折算到完整节点处理约为 0 至 2% 的低风险微优化。

修复 Particular 动态节点识别缓存的同路径碰撞：用户切换脚本，或删除后重新创建同名、同 Class、同参数数量的 Group/Gizmo 时，不再继承旧节点的 Particular/普通组判定。显式 Particular 类保持无需遍历参数的快速识别；动态正缓存仅校验权威特征，动态负缓存校验完整 ordinal 参数结构，在准确性与大型属性面板性能之间保持平衡。

限制 Particular 分类缓存和已知节点路径最多保留 4096 条纯字符串记录，长期创建、删除大量不同路径节点时不会无限增长；缓存不保存 Nuke Node、Knob 或 Qt 对象，也不新增 OnScriptLoad、全局扫描、空闲轮询或常驻计时器。

完善 Viewer 菜单模块热重载生命周期：运行时始终只有一个有效 owner，旧 owner 会对称解除 focus 信号、Viewer 事件过滤器和菜单 aboutToShow/destroyed 连接；正常卸载精确恢复原英文和快捷键，第三方后续主动修改的 QAction 文本不会被插件覆盖。

补齐 Viewer 菜单与 Viewer 工具提示过滤器的安装事务回滚：若 Qt 对象在 installEventFilter 成功后、destroyed 信号连接时发生生命周期异常，会立即移除刚安装的过滤器，不再留下无法由卸载流程追踪的孤立监听器。

升级内部发布回归门禁：缓存碰撞、负缓存、动态 Group 往返、空标签、原生标签、ordinal Knob API、Particular 同路径碰撞和事件过滤器回滚均加入明确断言，失败时会返回非零状态，不再只打印诊断信息形成“假通过”。Nuke 13 至 17 每版 8 组、共 40 组合同全部通过；每版 38 个运行模块从当前源码目录导入成功，零失败。

完成本轮最终多进程性能复核。与 v6.5 本轮优化前冻结基线相比，五版本中位数中：新节点热翻译由 0.227813 降至 0.133412 ms/节点，约提升 41.44%；重复翻译由 0.210902 降至 0.101125 ms/节点，约提升 52.05%；共享运行时分发约提升 41.40%；1000 节点切换双语约提升 29.05%，切回英文约提升 32.21%。Nuke 13、15、16、17 使用 3 个独立进程中位数，Nuke 14 因一次性写入指标存在系统调度离群值使用 7 个独立进程中位数。

再次验证全量翻译数据无损：30 张主要翻译表在 Nuke 13、14、15、16、17 中导入后的完整内容指纹完全一致；未发现空键、空值、乱码替换符、控制字符、精确重复冲突或本轮性能优化造成的翻译删减。最终可见 GUI、真实 BCC/HigX/Sapphire/Particular 节点及二进制签名仍按发布前实机流程单独验收，不把安全模式自动测试误写为完整商业发布证明。

进一步收紧 HigX 与 Particular 的动态 Group/Gizmo 厂商识别：Mask、Enable、Graph Mode、Emitter Type 等通用字段不再能单独触发厂商判定；显式插件类、已知节点名、插件路径与多项专有结构特征仍可快速识别。分类缓存仅保存有界纯字符串结构，同名节点重建或参数结构变化时会自动重新判定。

合并通用节点冷路径的翻译计划与完整 Schema Guard 构建，同一次 knobs.items() 快照同时产生写入计划和结构保护，不再为初次翻译重复遍历同一节点。与本轮优化前冻结基线的 Nuke 13 至 17 实际 Python 进程成对对比中，冷启节点处理五版本中位数约提升 20.79%；热路径语义和完整结构碰撞保护保持不变。

减少多开 Nuke 时的启动磁盘写入和咨询性锁等待：GUI 启动由菜单完成阶段统一保存一次启动画像，PID 文件仍为权威数据，旧兼容文件改为零等待尝试；完整性启动印章仍每次校验当前运行时二进制载荷，仅在缓存元数据真实变化时重写文件，周期计数器锁最长等待缩短为 50 ms，签名、摘要和失败标记强制校验不降级。

取消新菜单翻译器安装后的第二次重复 restart：各翻译器自身已经请求首次扫描，语言运行时不再额外重启一遍；已存在实例的复用与热重载路径仍保留受控 restart。

优化大型属性面板的下拉项同步：首次发现面板时仍做一次完整同步，之后页签/堆栈切换只处理当前页，并跳过本就等于目标文本的 property、blockSignals 和 setItemText 操作。八页、320 个下拉框的跨 Qt 压力模型中，单次页签切换由约 53.38–75.24 ms 降至 10.53–15.51 ms，检查对象由 320 个降至 40 个；五版本双语、英文精确回退及当前选中项均保持正确。Viewer 第一次右键菜单仍需依赖现有事件过滤器；因无法在非 GUI 测试中证明可安全删除，本轮保留其原有行为。

更新优化回归套件中的 Particular 契约：Particles/sec 等厂商专有强特征必须稳定命中，Emitter Type 这类通用单字段必须稳定判为普通节点。Nuke 13、14、15、16、17 每版 8 项优化契约重新全部通过，41 个 Python 源文件在各版自带 Python 中全部编译，38 个运行模块从当前源码目录导入零失败；快速完整性篡改/恢复、全量翻译内容和严格英文往返检查均未发现回归。

新增通用/Sapphire、BCC、HigX、Particular 的单节点复合翻译计划：每个节点先共享一次具名 Knob 快照，在内存中严格按既有优先级计算最终结果，再一次性写入；仅当 Particular 确实需要无名 Tab/Text Knob 时额外读取一次 ordinal 快照。旧引擎完整保留，并可通过 NCA_USE_COMPOSITE_NODE_PLAN=0 即时回退。

修复多个厂商翻译缓存分别记录“原始标签”时可能相互污染的问题。复合记录统一保存精确原文、最终双语、完整 Class/名称/位置结构保护及提供者归属；连续重复双语扫描后再切英文，也不会停留在另一层厂商双语文本。缓存只保存有界的字符串、整数和元组，不持有 Nuke Node、Knob 或 Qt 对象。

完成复合计划的 Nuke 13 至 Nuke 17 实际解释器验证：BCC、HigX、Particular 代表性完整 Schema 均与旧顺序执行结果逐项一致；两轮双语/英文往返、幂等扫描、同 Class/同参数数量结构碰撞、Particular 无名页签及用户自定义中文保护全部 0 失败。当前测试机未安装可由 Nuke 加载的 Continuum/BCC、HigX 与 Particular 节点本体，因此真实厂商 GUI 节点仍保留为发布前人工验收项，不以模拟合同替代实机结论。

新增确定性的预编译翻译索引：可维护的 translations.py、translations_compat.py 与 sapphire_knob_translations.py 继续作为编辑源；发布运行时默认直接加载最终合并后的核心索引和已规范化枚举索引，不再在每个 Nuke 进程启动时重新执行旧大表的兼容合并、Sapphire 合并、大小写别名生成和上下文去重。

当前预编译核心索引包含 18 个工具栏分类、940 个节点名称、6,397 个参数标签和 7,262 个综合映射；枚举索引包含 1,667 个规范化全局查找项、412 个有效上下文及 7,514 个上下文增量项、182 个明确保留英文标识。生成器具备最低条目数防退化、源模块完整加载检查、原子写入、逐表重载等价验证、固定分块和跨解释器确定性输出；Nuke 13 至 Nuke 17 五套 Python 生成的源数据摘要及两个输出文件 SHA-256 均完全一致。

预编译索引保留 NCA_USE_PRECOMPILED_TRANSLATION_INDEX=0 兼容回退。五版本每版完成 694,129 次全局/上下文枚举查询对照，合计 3,470,645 次且 0 差异；Z、P、b、Alpha、RGB、XYZ、SRT 等技术标识继续保持纯英文，英文恢复和节点真实值语义不变。默认热路径同时确认不会导入三份旧大翻译源。

使用 Nuke 13 至 Nuke 17 随附 Python、每种模式 11 个独立冷进程中位数复测“核心翻译数据加载 + 枚举运行表准备”：预编译路径相对旧运行时分别减少约 49.1%、44.5%、40.0%、32.2%、32.6%，单进程减少约 3.91 至 7.25 ms。该数据只代表翻译数据初始化，不夸大为整个 Nuke 启动或完整 F8 界面的同比提升。

本轮最终回归扩展为 Nuke 13 至 Nuke 17 每版 10 项、共 50 项优化合同，全部通过；根目录 44 个 Python 文件均通过五套解释器编译，41 个运行模块均逐一导入成功、0 失败。自检面板同步显示复合计划记录/Guard 行数以及核心、枚举索引的实际来源，发生回退时可直接诊断。

修复 Sapphire 及个别第三方 Nodes 工具栏菜单切换到英文后仍停留在双语的问题。共享菜单翻译器现在为每个实际改写的 QAction 保存精确原文和本次生成文本，并在多个翻译器依次命中同一菜单项时持续保留最初原文；切回英文时只恢复能够证明由本插件生成且尚未被其他插件再次修改的文字，既解决 Sapphire 分类与节点子菜单残留，也不会误删第三方自带中文或用户自定义菜单文字。该修复复用原有单次菜单快照和英文回退遍历，不增加扫描次数、事件过滤器、定时器或后台轮询。

完成 Nuke 13、14、15、16、17 五版本第三方菜单往返回归：新菜单翻译、旧版仅有签名的双语文本自动迁移、多个提供者优先级、第三方后续改名保护、连续四轮中英往返、Sapphire 实际词表及分类/子菜单递归回退均通过；每版根目录 44 个 Python 文件编译成功，7 个受影响运行模块导入成功。

修复原生节点部分参数从双语切回英文后标签消失的严重问题。Nuke 的 channels、size、filter、quality、mix 等 Knob 在底层可能没有显式 label，而由界面自动显示 Knob 名称；旧复合缓存把底层空字符串误当成应恢复的英文并执行 setLabel("")，从而主动隐藏标签。现已将缓存协议明确拆分为“原始 Schema 状态、英文显示恢复目标、最终双语目标”三种数据，只对当前仍精确等于本插件生成结果的参数执行恢复；已翻译的原生空标签恢复为正确英文，未翻译空标签保持原生隐式状态，显式原文、尾随空格、第三方改名和用户自定义文本均不被覆盖。

同步升级复合计划、通用后备、BCC 与 HigX 精确恢复缓存版本，旧进程内缓存会自动失效并安全重建；关闭 NCA_USE_COMPOSITE_NODE_PLAN 时的旧引擎也不会再把英文标签写成空字符串。补齐 Particular 在缓存清空或开发热重载后对既有双语结果的精确所有权恢复：只有能够由 Particular 自身词表逐字重新生成的文本才会被认领，任意用户双语说明和其他提供者结果保持不变。

完成本次修复的 Nuke 13 至 Nuke 17 无 GUI 实机回归：Blur、Transform、Merge2、Grade、Camera2、Write 六类原生节点每版连续 10 轮双语/英文往返，共 300 轮全部通过；同时覆盖完整 F8 节点恢复入口、同 Class 新建英文节点零改写、非翻译空标签零写入、显式原文精确恢复、用户/第三方自定义标签保护、旧 Generic/BCC/HigX 后备路径及 Particular 热重载所有权，均未再出现空标签或错误覆盖。最终可见 Properties 面板仍保留为重新编译后的人工 GUI 冒烟验收项。

——————————————————————————————————————————
