diff --git a/Editor/Localization/zh-Hans.json b/Editor/Localization/zh-Hans.json index 833f55f0..176e7054 100644 --- a/Editor/Localization/zh-Hans.json +++ b/Editor/Localization/zh-Hans.json @@ -61,11 +61,11 @@ "merge_armature.locked": "锁定位置", "merge_armature.locked.tooltip": "将当前对象的骨架与合并目标的骨架锁定(反之亦然),常用于创建动画。", "merge_armature.adjust_names": "根据合并目标调整骨骼名称", - "merge_armature.adjust_names.tooltip": "根据合并目标调整骨骼名称,通常用于与非 Avatar 对应的服装。", - "merge_armature.mangle_names": "避免命名冲突", - "merge_armature.mangle_names.tooltip": "通过重命名新添加的骨骼来避免与其他资源发生命名冲突。", + "merge_armature.adjust_names.tooltip": "根据合并目标调整骨骼名称,通常用于不适配当前 Avatar 的服装。", + "merge_armature.mangle_names": "避免名称冲突", + "merge_armature.mangle_names.tooltip": "通过重命名新添加的骨骼来避免与其他资源发生名称冲突。", "path_mode.Relative": "相对路径(基于当前对象)", - "path_mode.Absolute": "绝对路径(基于 Avatar 的根)", + "path_mode.Absolute": "绝对路径(基于 Avatar 的 Root)", "merge_animator.animator": "要合并的 Animator", "merge_animator.layer_type": "Layer 类型", "merge_animator.delete_attached_animator": "删除额外的 Animator", @@ -76,74 +76,74 @@ "merge_animator.match_avatar_write_defaults.tooltip": "使用与 Avatar 一样的 Write Defaults 设置。\n如果 Avatar 将 WD 混用,Animator 的 WD 设置将维持不变。", "merge_animator.relative_path_root": "相对路径根对象", "merge_animator.relative_path_root.tooltip": "解析相对路径时使用的根对象。\n如果未指定,则使用当前对象。", - "merge_animator.layer_priority": "动画层优先级", + "merge_animator.layer_priority": "Animator layer 的合并优先级", "merge_animator.layer_priority.tooltip": "控制动画层合并后在 Animator 里的位置,\n由小到大。负值将合并于原有动画层之前,\n0 或正值将合并于之后。", "merge_armature.lockmode": "位置同步模式", "merge_armature.lockmode.not_locked.title": "不同步", "merge_armature.lockmode.not_locked.body": "当前对象的骨骼不会和 Avatar 的骨骼位置同步。", - "merge_armature.lockmode.base_to_merge.title": "Avatar =====> 物体(单向)", - "merge_armature.lockmode.base_to_merge.body": "Avatar 骨骼位置改变,当前对象的骨骼也会改变。\n当前对象的骨骼位置改变,Avatar 骨骼不会改变。\n建议一般服装使用此模式,因为此模式允许调整服装的骨骼。", - "merge_armature.lockmode.bidirectional.title": "Avatar <=====> 物体(双向)", + "merge_armature.lockmode.base_to_merge.title": "Avatar =====> 目标(单向)", + "merge_armature.lockmode.base_to_merge.body": "Avatar 骨骼位置改变,当前对象的骨骼也会改变。\n但当当前对象的骨骼位置改变时,Avatar 骨骼不会改变。\n建议一般服装使用此模式,因为此模式允许调整服装的骨骼。", + "merge_armature.lockmode.bidirectional.title": "Avatar <=====> 目标(双向)", "merge_armature.lockmode.bidirectional.body": "Avatar 骨骼和当前对象的骨骼的位置始终相同。\n此模式对创建基于 Avatar 骨骼的动画时非常有用。\n启用此模式要求 Avatar 骨骼和当前对象的骨骼位置完全相同。", "merge_armature.reset_pos": "将位置与 Avatar 进行对齐", "merge_armature.reset_pos.info": "此命令将强制服装骨骼与 Avatar 骨骼进行对齐,在穿戴不适配当前 Avatar 的服装时可能有帮助。", "merge_armature.reset_pos.convert_atpose": "转换 A-Pose/T-Pose 以匹配 Base Avatar", "merge_armature.reset_pos.adjust_rotation": "也对齐旋转", "merge_armature.reset_pos.adjust_scale": "也对齐缩放", - "merge_armature.reset_pos.execute": "执行", + "merge_armature.reset_pos.execute": "执行!", "merge_armature.reset_pos.heuristic_scale": "根据 Avatar 调整服装的整体比例", - "merge_armature.reset_pos.heuristic_scale.tooltip": "以臂展作为参考,调整服装的整体比例。\n推荐用于非 Avatar 对应的服装。", + "merge_armature.reset_pos.heuristic_scale.tooltip": "以臂展作为参考,调整服装的整体比例。\n推荐用于不适配当前 Avatar 的服装。", "merge_blend_tree.blend_tree": "BlendTree", "merge_blend_tree.path_mode": "路径模式", "merge_blend_tree.path_mode.tooltip": "在动画中路径的工作模式。\n使用相对路径可以让你在当前对象上录制动画。", "merge_blend_tree.relative_path_root": "相对路径根对象", "merge_blend_tree.relative_path_root.tooltip": "解析相对路径时使用的根对象。\n如果未指定,则使用当前对象。", "worldfixed.quest": "此组件未生效,因为它与 Android 环境不兼容。", - "worldfixed.normal": "当前对象将会固定于世界,除非你使用约束将它绑在 Avatar 内。", + "worldfixed.normal": "当前对象将会固定于世界,除非你使用约束将它绑定在 Avatar 内。", "fpvisible.normal": "当前对象将在第一人称视角中可见。", "fpvisible.NotUnderHead": "当这个组件不被放置在“Head”骨骼下方时不会生效。\n如果这个组件将通过 Bone Proxy 等方式放置在 “Head”骨骼下,那么这个警告也许是可以被忽略的。", "fpvisible.quest": "此组件未生效,因为它与 Android 环境不兼容。", "fpvisible.InPhysBoneChain": "当前对象由 PhysBones 控制,可能无法在第一人称视角中可见;请指定 Physics Bone 链的起点。", "blendshape.mesh": "网格", "blendshape.source": "源 blendshape", - "blendshape.target": "当前网格的 blendshape", + "blendshape.target": "目标 blendshape", "hint.not_in_avatar": "此组件需要放置于你的 Avatar 内才能工作。", "boneproxy.err.MovingTarget": "你不能指定将由其他 Modular Avatar 组件移动的对象", "boneproxy.err.NotInAvatar": "你必须指定一个在 Avatar 内的对象", "boneproxy.attachment": "附加模式", "boneproxy.attachment.AsChildAtRoot": "作为子级,放置于 Root", - "boneproxy.attachment.AsChildKeepWorldPose": "作为子级,保持原有位置和选转", + "boneproxy.attachment.AsChildKeepWorldPose": "作为子级,保持原有位置和旋转", "boneproxy.attachment.AsChildKeepPosition": "作为子级,保持原有位置", "boneproxy.attachment.AsChildKeepRotation": "作为子级,保持原有旋转", "mesh_settings.header_probe_anchor": "锚点覆盖设置", "mesh_settings.inherit_probe_anchor": "锚点覆盖模式", "mesh_settings.probe_anchor": "锚点覆盖", "mesh_settings.probe_anchor.tooltip": "设置用于当前对象和子对象内的渲染器的锚点覆盖", - "mesh_settings.header_bounds": "网格边界设置", - "mesh_settings.inherit_bounds": "网格边界模式", + "mesh_settings.header_bounds": "网格边界覆盖设置", + "mesh_settings.inherit_bounds": "网格边界覆盖模式", "mesh_settings.root_bone": "根骨骼", "mesh_settings.root_bone.tooltip": "网格的根骨骼(Root bone),\n这被用作计算网格边界的参考点。", "mesh_settings.bounds": "网格边界", "mesh_settings.bounds.tooltip": "网格的边界(Bounds),\n用于确定何时要略过屏幕外的网格渲染。", "mesh_settings.inherit_mode.Inherit": "继承", "mesh_settings.inherit_mode.Set": "指定", - "mesh_settings.inherit_mode.DontSet": "保持原设置", + "mesh_settings.inherit_mode.DontSet": "不指定(保持原有的设置)", "mesh_settings.inherit_mode.SetOrInherit": "父级设置优先,否则遵从指定设置", "pb_blocker.help": "当前对象不会受到附加在父对象的 PhysBones 影响。", "hint.bad_vrcsdk": "检测到不兼容的 VRCSDK 版本。\n\n请尝试升级 VRCSDK;如果这不起作用,请尝试更新到新版本的 Modular Avatar。", - "error.stack_trace": "Stack trace(报告错误时请提供此信息!)", - "error.merge_armature.circular_dependency": "[MA-0001] 在 Merge armature 中存在循环引用", + "error.stack_trace": "Stack trace(请在报告错误时提供此信息!)", + "error.merge_armature.circular_dependency": "[MA-0001] 在 Merge armature 组件中存在循环引用", "error.merge_armature.circular_dependency:description": "你的 Merge Armature 组件正在将自身或其子级作为合并目标。", - "error.merge_armature.circular_dependency:hint": "通常应在 Merge Armature 的「合并目标」字段上指定 Avatar 本身的 Armture。不要指定服装本身!", - "error.merge_armature.physbone_on_humanoid_bone": "[MA-0002] 在 Humanoid 骨骼上有 PhysBones 组件", + "error.merge_armature.circular_dependency:hint": "通常应在 Merge Armature 组件的「合并目标」字段上指定 Avatar 本身的 Armture。不要指定服装本身!", + "error.merge_armature.physbone_on_humanoid_bone": "[MA-0002] 在 Humanoid 骨骼上存在 PhysBones 组件", "error.merge_armature.physbone_on_humanoid_bone:hint": "在要合并的骨架中,某些 Humanoid 骨骼受到 PhysBones 控制,其位置与合并目标中相应的 Humanoid 骨骼不同。你应该在要合并的骨架中,移除这些 Humanoid 骨骼上的 PhysBones。", "error.merge_blend_tree.missing_tree": "[MA-0009] 未指定 Blend Tree", "error.merge_blend_tree.missing_tree:hint": "Merge Blend Tree 需要知道要合并到哪个 Blend Tree。请尝试在「Blend Tree」中设置一个对象。", "error.internal_error": "[MA-9999] 发生内部错误:{0}\nwhen processing:", "error.merge_animator.param_type_mismatch": "[MA-0003] 参数类型不符", "error.merge_animator.param_type_mismatch:description": "参数 {0} 具有多种类型:{1} != {2}", - "error.rename_params.too_many_synced_params": "太多同步参数:Cost {0} > {1}", - "error.rename_params.too_many_synced_params:description": "在你的 Avatar 中有太多的同步参数了。你已使用 {0} bits 的参数,但限制为 {1} bits。", + "error.rename_params.too_many_synced_params": "同步参数超出限制:Cost {0} > {1}", + "error.rename_params.too_many_synced_params:description": "你在 Avatar 中使用了太多的同步参数。你已使用 {0} bits 的参数,但限制为 {1}。", "error.rename_params.type_conflict": "[MA-0006] 参数类型冲突", "error.rename_params.type_conflict:description": "参数 {0} 指定了多种类型:{1} != {2}", "error.rename_params.default_value_conflict": "[MA-0007] 默认值冲突", @@ -159,35 +159,35 @@ "validation.blendshape_sync.no_local_mesh": "[MA-1001] 在此部件的 Renderer 上找不到网格(Mesh)", "validation.blendshape_sync.no_local_mesh:hint": "当前对象上的 Skinned Mesh Renderer 配置可能有问题。请尝试从原预制件或 FBX 重新设置对象。", "validation.blendshape_sync.no_bindings": "[MA-1002] 在此部件上找不到 BlendShape", - "validation.blendshape_sync.no_bindings:hint": "Blendshape Sync 需要知道要同步哪些 blendshape。点击「+」新增。", - "validation.blendshape_sync.missing_local_shape": "[MA-1003] 找不到当前网格的 BlendShape:「{0}」", - "validation.blendshape_sync.missing_local_shape:description": "找不到当前网格的 BlendShape:{0}", + "validation.blendshape_sync.no_bindings:hint": "Blendshape Sync 必须知道要同步哪些 blendshape。点击「+」新增。", + "validation.blendshape_sync.missing_local_shape": "[MA-1003] 找不到目标 BlendShape:「{0}」", + "validation.blendshape_sync.missing_local_shape:description": "找不到目标 BlendShape:{0}", "validation.blendshape_sync.missing_local_shape:hint": "找不到「接收」数值的 BlendShape。请更换被标为红色的 Blendshape。", "validation.blendshape_sync.missing_target_shape": "[MA-1004] 找不到源 BlendShape:「{0}」", "validation.blendshape_sync.missing_target_shape:description": "找不到源 BlendShape:{0}", "validation.blendshape_sync.missing_target_shape:hint": "找不到向当前部件「发送」数值的 BlendShape。请更换被标为红色的 Blendshape。", "validation.blendshape_sync.no_target": "[MA-1005] 未指定目标对象(网格)", - "validation.blendshape_sync.no_target:hint": "Blendshape Sync 需要知道从哪个对象同步 Blendshape。请在「网格」中指定。", + "validation.blendshape_sync.no_target:hint": "Blendshape Sync 必须知道要从哪个对象同步 Blendshape。请尝试在「网格」中指定一个对象。", "validation.blendshape_sync.missing_target_renderer": "[MA-1006] 在目标对象上找不到 Renderer", - "validation.blendshape_sync.missing_target_renderer:hint": "Blendshape Sync 会从目标对象上的 Skinned Mesh Renderer 接收 blendshape 的值。你是否将它附加到正确的对象上?", + "validation.blendshape_sync.missing_target_renderer:hint": "Blendshape Sync 会从目标对象上的 Skinned Mesh Renderer 接收 blendshape 的值。你有没有将它附加到正确的对象上呢?", "validation.blendshape_sync.missing_target_mesh": "[MA-1007] 在目标对象的 Renderer 上找不到网格(Mesh)", "validation.blendshape_sync.missing_target_mesh:hint": "目标对象上的 Skinned Mesh Renderer 配置可能有问题。请尝试从原预制件或 FBX 重新设置对象。", "validation.bone_proxy.no_target": "[MA-1100] 未指定目标对象,或目标对象未找到", - "validation.bone_proxy.no_target:hint": "Bone Proxy 需要知道要将当前对象绑定到哪个对象。请在「目标」中指定。", + "validation.bone_proxy.no_target:hint": "Bone Proxy 必须知道要将当前对象绑定到哪个对象。请在「目标」中指定。", "validation.menu_installer.no_menu": "[MA-1200] 未指定要安装的菜单", - "validation.menu_installer.no_menu:hint": "Menu Installer 需要知道要安装哪个菜单。请在「预制件开发者选项」里的「要安装的菜单」指定,或是新增一个「MA Menu Item」组件。", + "validation.menu_installer.no_menu:hint": "Menu Installer 必须知道要安装哪个菜单。请在「预制件开发者选项」里的「要安装的菜单」指定,或是新增一个「MA Menu Item」组件。", "validation.merge_animator.no_animator": "[MA-1300] 未指定要合并的 Animator", - "validation.merge_animator.no_animator:hint": "Merge Animator 需要知道要合并哪个 Animator。请在「要合并的 Animator」中指定。", + "validation.merge_animator.no_animator:hint": "Merge Animator 必须知道要合并哪个 Animator。请在「要合并的 Animator」中指定一个。", "validation.merge_armature.no_target": "[MA-1400] 未指定合并目标", - "validation.merge_armature.no_target:hint": "Merge Armature 需要知道要合并到哪个骨架里。请在「合并目标」中指定。", + "validation.merge_armature.no_target:hint": "Merge Armature 必须知道相应骨骼要合并到哪个骨架里。请在「合并目标」中指定一个。", "validation.merge_armature.target_is_child": "[MA-1500] 合并目标不能是此对象的子级", "validation.merge_armature.target_is_child:hint": "Merge Armature 不能合并骨架到其自身。请将「合并目标」设置为其他对象。", "submenu_source.Children": "子对象", - "submenu_source.MenuAsset": "Avatar 功能菜单资源 (Expressions Menu)", + "submenu_source.MenuAsset": "菜单资源文件 (Expressions Menu)", "menuitem.showcontents": "显示菜单内容", "menuitem.prop.name": "名称", "menuitem.prop.icon": "图标", - "menuitem.prop.icon.tooltip": "(可选)在 Avatar 功能菜单中显示的图标", + "menuitem.prop.icon.tooltip": "(可选)在菜单中显示的图标", "menuitem.prop.type": "类型", "menuitem.prop.type.tooltip": "此菜单项的类型", "menuitem.prop.value": "参数值", @@ -195,12 +195,12 @@ "menuitem.prop.automatic_value": "自动", "menuitem.prop.automatic_value.tooltip": "自动将此控制项设置为唯一值", "menuitem.prop.parameter": "参数", - "menuitem.prop.label": "名称", + "menuitem.prop.label": "标签", "menuitem.prop.submenu_asset": "子菜单资源", - "menuitem.prop.submenu_asset.tooltip": "用作子菜单的资源文件", + "menuitem.prop.submenu_asset.tooltip": "用作子菜单的资源文件 (Expressions Menu)", "menuitem.prop.submenu_source": "子菜单来源", "menuitem.prop.submenu_source.tooltip": "寻找子菜单内菜单项的方式", - "menuitem.prop.source_override": "源部件", + "menuitem.prop.source_override": "源部件覆盖", "menuitem.prop.source_override.tooltip": "如果指定,这个对象将被用作子菜单内容的来源。\n否则,将使用此菜单项的子级菜单作为来源。", "menuitem.prop.is_default": "默认启用", "menuitem.prop.is_default.tooltip": "如果勾选,初次使用或重置 Avatar 时会启用此菜单项", @@ -211,9 +211,9 @@ "menuitem.param.rotation": "参数: 旋转 (Rotation)", "menuitem.param.rotation.tooltip": "基于此菜单项的旋转设置的参数。", "menuitem.param.horizontal": "参数: 水平 (Horizontal)", - "menuitem.param.horizontal.tooltip": "基于游戏杆的水平位置设置的参数。", + "menuitem.param.horizontal.tooltip": "基于摇杆的水平位置设置的参数。", "menuitem.param.vertical": "参数: 垂直 (Vertical)", - "menuitem.param.vertical.tooltip": "基于游戏杆的垂直位置设置的参数。", + "menuitem.param.vertical.tooltip": "基于摇杆的垂直位置设置的参数。", "menuitem.label.control_labels_and_params": "设置名称和参数", "menuitem.label.control_labels": "设置名称", "menuitem.misc.multiple": "(多重设置)", @@ -235,8 +235,8 @@ "animation_gen.duplicate_binding": "来自不同部件组的部件尝试动画化相同的参数。参数:{0}", "animation_gen.multiple_defaults": "在同一个部件组中找到多个默认的菜单项。", "menuitem.misc.add_item": "添加菜单项", - "replace_object.target_object": "要替换的部件", - "setup_outfit.err.header.notarget": "Setup Outfit 操作失败", + "replace_object.target_object": "要替换的对象", + "setup_outfit.err.header.notarget": "Setup Outfit 失败", "setup_outfit.err.header": "对 {0} 进行 Setup Outfit 操作失败", "setup_outfit.err.unknown": "未知错误", "setup_outfit.err.no_selection": "没有选择对象。", @@ -251,9 +251,9 @@ "scale_adjuster.adjust_children": "调整子级的位置", "world_fixed_object.err.unsupported_platform": "此平台不支持 World Fixed Object 组件。", "world_fixed_object.err.unsupported_platform:description": "此组件未生效。因为在 Android 环境下不支持 World Fixed Object。", - "ma_info.param_usage_ui.header": "Expressions 的参数使用状况", + "ma_info.param_usage_ui.header": "Expressions 参数使用情况", "ma_info.param_usage_ui.other_objects": "此 Avatar 中的其他东西", - "ma_info.param_usage_ui.free_space": "未使用的参数空间 ({0} bits)", + "ma_info.param_usage_ui.free_space": "未使用的参数 ({0} bits)", "ma_info.param_usage_ui.bits_template": "{0} ({1} bits)", "ma_info.param_usage_ui.no_data": "【无信息】", "reactive_object.inverse": "反转条件", @@ -262,7 +262,7 @@ "ro_sim.open_debugger_button": "开启 Reaction 调试工具", "ro_sim.window.title": "MA 响应调试工具", "ro_sim.header.inspecting": "检查部件", - "ro_sim.header.clear_overrides": "清除所有覆写", + "ro_sim.header.clear_overrides": "清除所有覆盖", "ro_sim.header.object_state": "对象状态", "ro_sim.state.active": "启用", "ro_sim.state.inactive": "停用",