@volter/blender-engine 0.1.148 → 0.1.149

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/LICENSE +16 -0
  2. package/README.md +4 -11
  3. package/browser/addons/vrm/LICENSE_(OPTION1)_MIT.txt +22 -0
  4. package/browser/addons/vrm/LICENSE_(OPTION2)_GPL-3_0.txt +674 -0
  5. package/browser/addons/vrm/LICENSE_MAIN.txt +1 -0
  6. package/browser/addons/vrm/README.txt +3 -0
  7. package/browser/addons/vrm/__init__.py +41 -0
  8. package/browser/addons/vrm/blender_manifest.toml +16 -0
  9. package/browser/addons/vrm/common/__init__.py +1 -0
  10. package/browser/addons/vrm/common/animation.py +58 -0
  11. package/browser/addons/vrm/common/blender_manifest.py +82 -0
  12. package/browser/addons/vrm/common/char.py +16 -0
  13. package/browser/addons/vrm/common/convert.py +287 -0
  14. package/browser/addons/vrm/common/convert_any.py +48 -0
  15. package/browser/addons/vrm/common/debug.py +40 -0
  16. package/browser/addons/vrm/common/deep.py +162 -0
  17. package/browser/addons/vrm/common/error_dialog.py +274 -0
  18. package/browser/addons/vrm/common/fs.py +71 -0
  19. package/browser/addons/vrm/common/gl.py +20 -0
  20. package/browser/addons/vrm/common/gltf.py +1149 -0
  21. package/browser/addons/vrm/common/human_bone_mapper/__init__.py +1 -0
  22. package/browser/addons/vrm/common/human_bone_mapper/biped_mapping.py +84 -0
  23. package/browser/addons/vrm/common/human_bone_mapper/cats_blender_plugin_fix_model_mapping.py +63 -0
  24. package/browser/addons/vrm/common/human_bone_mapper/human_bone_mapper.py +203 -0
  25. package/browser/addons/vrm/common/human_bone_mapper/microsoft_rocketbox_mapping.py +69 -0
  26. package/browser/addons/vrm/common/human_bone_mapper/mixamo_mapping.py +62 -0
  27. package/browser/addons/vrm/common/human_bone_mapper/mmd_mapping.py +115 -0
  28. package/browser/addons/vrm/common/human_bone_mapper/mpfb_mapping.py +120 -0
  29. package/browser/addons/vrm/common/human_bone_mapper/ready_player_me_mapping.py +65 -0
  30. package/browser/addons/vrm/common/human_bone_mapper/reallusion_mapping.py +94 -0
  31. package/browser/addons/vrm/common/human_bone_mapper/rigify_meta_rig_mapping.py +65 -0
  32. package/browser/addons/vrm/common/human_bone_mapper/structure_based_mapping.py +891 -0
  33. package/browser/addons/vrm/common/human_bone_mapper/unreal_mapping.py +62 -0
  34. package/browser/addons/vrm/common/human_bone_mapper/vrm_addon_mapping.py +112 -0
  35. package/browser/addons/vrm/common/human_bone_mapper/vroid_mapping.py +89 -0
  36. package/browser/addons/vrm/common/legacy_gltf.py +16 -0
  37. package/browser/addons/vrm/common/logger.py +84 -0
  38. package/browser/addons/vrm/common/mtoon0.blend +0 -0
  39. package/browser/addons/vrm/common/mtoon1.blend +0 -0
  40. package/browser/addons/vrm/common/mtoon1_outline.blend +0 -0
  41. package/browser/addons/vrm/common/mtoon_auto_setup.blend +0 -0
  42. package/browser/addons/vrm/common/mtoon_unversioned.py +62 -0
  43. package/browser/addons/vrm/common/ops/__init__.py +10 -0
  44. package/browser/addons/vrm/common/ops/export_scene.py +67 -0
  45. package/browser/addons/vrm/common/ops/icyp.py +53 -0
  46. package/browser/addons/vrm/common/ops/import_scene.py +57 -0
  47. package/browser/addons/vrm/common/ops/vrm.py +2380 -0
  48. package/browser/addons/vrm/common/ops/wm.py +167 -0
  49. package/browser/addons/vrm/common/preferences.py +362 -0
  50. package/browser/addons/vrm/common/progress.py +87 -0
  51. package/browser/addons/vrm/common/rotation.py +89 -0
  52. package/browser/addons/vrm/common/safe_removal.py +46 -0
  53. package/browser/addons/vrm/common/scene_watcher.py +230 -0
  54. package/browser/addons/vrm/common/shader.py +2243 -0
  55. package/browser/addons/vrm/common/shape_key_mapper/__init__.py +1 -0
  56. package/browser/addons/vrm/common/shape_key_mapper/arkit_mapping.py +168 -0
  57. package/browser/addons/vrm/common/shape_key_mapper/mmd_mapping.py +62 -0
  58. package/browser/addons/vrm/common/shape_key_mapper/ready_player_me_mapping.py +52 -0
  59. package/browser/addons/vrm/common/shape_key_mapper/vrchat_mapping.py +17 -0
  60. package/browser/addons/vrm/common/third_party_user_extension.py +214 -0
  61. package/browser/addons/vrm/common/transparent_z_write.blend +0 -0
  62. package/browser/addons/vrm/common/version.py +161 -0
  63. package/browser/addons/vrm/common/vrm0/__init__.py +1 -0
  64. package/browser/addons/vrm/common/vrm0/human_bone.py +662 -0
  65. package/browser/addons/vrm/common/vrm0/material_property.py +346 -0
  66. package/browser/addons/vrm/common/vrm1/__init__.py +1 -0
  67. package/browser/addons/vrm/common/vrm1/expression_preset.py +207 -0
  68. package/browser/addons/vrm/common/vrm1/human_bone.py +822 -0
  69. package/browser/addons/vrm/common/workspace.py +227 -0
  70. package/browser/addons/vrm/common/writable_context.py +77 -0
  71. package/browser/addons/vrm/documentation/en-us/animation/index.md +63 -0
  72. package/browser/addons/vrm/documentation/en-us/create-humanoid-vrm-from-scratch/index.md +131 -0
  73. package/browser/addons/vrm/documentation/en-us/create-simple-vrm-from-scratch/index.md +30 -0
  74. package/browser/addons/vrm/documentation/en-us/development/index.md +136 -0
  75. package/browser/addons/vrm/documentation/en-us/index.md +41 -0
  76. package/browser/addons/vrm/documentation/en-us/installation/index.md +152 -0
  77. package/browser/addons/vrm/documentation/en-us/material-mtoon/index.md +122 -0
  78. package/browser/addons/vrm/documentation/en-us/material-pbr/index.md +94 -0
  79. package/browser/addons/vrm/documentation/en-us/scripting-api/index.md +391 -0
  80. package/browser/addons/vrm/documentation/en-us/ui/export_scene.vrm/index.md +57 -0
  81. package/browser/addons/vrm/documentation/en-us/ui/export_scene.vrma/index.md +17 -0
  82. package/browser/addons/vrm/documentation/en-us/ui/import_scene.vrm/index.md +61 -0
  83. package/browser/addons/vrm/documentation/en-us/ui/import_scene.vrma/index.md +13 -0
  84. package/browser/addons/vrm/documentation/ja-jp/animation/index.md +57 -0
  85. package/browser/addons/vrm/documentation/ja-jp/create-humanoid-vrm-from-scratch/index.md +129 -0
  86. package/browser/addons/vrm/documentation/ja-jp/create-simple-vrm-from-scratch/index.md +29 -0
  87. package/browser/addons/vrm/documentation/ja-jp/development/index.md +137 -0
  88. package/browser/addons/vrm/documentation/ja-jp/index.md +37 -0
  89. package/browser/addons/vrm/documentation/ja-jp/installation/index.md +150 -0
  90. package/browser/addons/vrm/documentation/ja-jp/material-mtoon/index.md +113 -0
  91. package/browser/addons/vrm/documentation/ja-jp/material-pbr/index.md +90 -0
  92. package/browser/addons/vrm/documentation/ja-jp/scripting-api/index.md +389 -0
  93. package/browser/addons/vrm/documentation/ja-jp/ui/export_scene.vrm/index.md +55 -0
  94. package/browser/addons/vrm/documentation/ja-jp/ui/export_scene.vrma/index.md +19 -0
  95. package/browser/addons/vrm/documentation/ja-jp/ui/import_scene.vrm/index.md +56 -0
  96. package/browser/addons/vrm/documentation/ja-jp/ui/import_scene.vrma/index.md +14 -0
  97. package/browser/addons/vrm/editor/__init__.py +1 -0
  98. package/browser/addons/vrm/editor/extension.py +425 -0
  99. package/browser/addons/vrm/editor/extension_accessor.py +75 -0
  100. package/browser/addons/vrm/editor/handler.py +84 -0
  101. package/browser/addons/vrm/editor/khr_character/__init__.py +1 -0
  102. package/browser/addons/vrm/editor/khr_character/panel.py +69 -0
  103. package/browser/addons/vrm/editor/khr_character/property_group.py +27 -0
  104. package/browser/addons/vrm/editor/khr_xmp_json_ld/__init__.py +1 -0
  105. package/browser/addons/vrm/editor/khr_xmp_json_ld/ops.py +464 -0
  106. package/browser/addons/vrm/editor/khr_xmp_json_ld/panel.py +136 -0
  107. package/browser/addons/vrm/editor/khr_xmp_json_ld/property_group.py +83 -0
  108. package/browser/addons/vrm/editor/khr_xmp_json_ld/ui_list.py +198 -0
  109. package/browser/addons/vrm/editor/make_armature.py +709 -0
  110. package/browser/addons/vrm/editor/menu.py +147 -0
  111. package/browser/addons/vrm/editor/migration.py +297 -0
  112. package/browser/addons/vrm/editor/mtoon1/__init__.py +1 -0
  113. package/browser/addons/vrm/editor/mtoon1/handler.py +20 -0
  114. package/browser/addons/vrm/editor/mtoon1/migration.py +536 -0
  115. package/browser/addons/vrm/editor/mtoon1/ops.py +304 -0
  116. package/browser/addons/vrm/editor/mtoon1/panel.py +442 -0
  117. package/browser/addons/vrm/editor/mtoon1/property_group.py +4977 -0
  118. package/browser/addons/vrm/editor/mtoon1/scene_watcher.py +381 -0
  119. package/browser/addons/vrm/editor/node_constraint1/__init__.py +1 -0
  120. package/browser/addons/vrm/editor/node_constraint1/panel.py +317 -0
  121. package/browser/addons/vrm/editor/node_constraint1/property_group.py +25 -0
  122. package/browser/addons/vrm/editor/ops.py +471 -0
  123. package/browser/addons/vrm/editor/panel.py +315 -0
  124. package/browser/addons/vrm/editor/property_group.py +888 -0
  125. package/browser/addons/vrm/editor/search.py +682 -0
  126. package/browser/addons/vrm/editor/spring_bone1/__init__.py +1 -0
  127. package/browser/addons/vrm/editor/spring_bone1/handler.py +994 -0
  128. package/browser/addons/vrm/editor/spring_bone1/menu.py +246 -0
  129. package/browser/addons/vrm/editor/spring_bone1/migration.py +86 -0
  130. package/browser/addons/vrm/editor/spring_bone1/ops.py +1679 -0
  131. package/browser/addons/vrm/editor/spring_bone1/panel.py +605 -0
  132. package/browser/addons/vrm/editor/spring_bone1/property_group.py +1457 -0
  133. package/browser/addons/vrm/editor/spring_bone1/ui_list.py +408 -0
  134. package/browser/addons/vrm/editor/subscription.py +123 -0
  135. package/browser/addons/vrm/editor/t_pose.py +713 -0
  136. package/browser/addons/vrm/editor/validation.py +1271 -0
  137. package/browser/addons/vrm/editor/vrm0/__init__.py +1 -0
  138. package/browser/addons/vrm/editor/vrm0/gizmo_group.py +63 -0
  139. package/browser/addons/vrm/editor/vrm0/handler.py +23 -0
  140. package/browser/addons/vrm/editor/vrm0/menu.py +145 -0
  141. package/browser/addons/vrm/editor/vrm0/migration.py +761 -0
  142. package/browser/addons/vrm/editor/vrm0/ops.py +2145 -0
  143. package/browser/addons/vrm/editor/vrm0/panel.py +1333 -0
  144. package/browser/addons/vrm/editor/vrm0/property_group.py +1818 -0
  145. package/browser/addons/vrm/editor/vrm0/ui_list.py +688 -0
  146. package/browser/addons/vrm/editor/vrm1/__init__.py +1 -0
  147. package/browser/addons/vrm/editor/vrm1/handler.py +28 -0
  148. package/browser/addons/vrm/editor/vrm1/menu.py +76 -0
  149. package/browser/addons/vrm/editor/vrm1/migration.py +321 -0
  150. package/browser/addons/vrm/editor/vrm1/ops.py +2679 -0
  151. package/browser/addons/vrm/editor/vrm1/panel.py +1243 -0
  152. package/browser/addons/vrm/editor/vrm1/property_group.py +2087 -0
  153. package/browser/addons/vrm/editor/vrm1/scene_watcher.py +90 -0
  154. package/browser/addons/vrm/editor/vrm1/ui_list.py +533 -0
  155. package/browser/addons/vrm/exporter/__init__.py +1 -0
  156. package/browser/addons/vrm/exporter/abstract_base_vrm_exporter.py +628 -0
  157. package/browser/addons/vrm/exporter/export_scene.py +930 -0
  158. package/browser/addons/vrm/exporter/gltf2_export_user_extension.py +45 -0
  159. package/browser/addons/vrm/exporter/khr_character_exporter.py +34 -0
  160. package/browser/addons/vrm/exporter/vrm0_exporter.py +4020 -0
  161. package/browser/addons/vrm/exporter/vrm1_exporter.py +3682 -0
  162. package/browser/addons/vrm/exporter/vrm_animation_exporter.py +1035 -0
  163. package/browser/addons/vrm/external/__init__.py +1 -0
  164. package/browser/addons/vrm/external/auto_rig_pro_support.py +3 -0
  165. package/browser/addons/vrm/external/io_scene_gltf2_support.py +418 -0
  166. package/browser/addons/vrm/external/rigify_support.py +1 -0
  167. package/browser/addons/vrm/importer/__init__.py +1 -0
  168. package/browser/addons/vrm/importer/abstract_base_vrm_importer.py +1548 -0
  169. package/browser/addons/vrm/importer/file_handler.py +34 -0
  170. package/browser/addons/vrm/importer/gltf2_import_user_extension.py +268 -0
  171. package/browser/addons/vrm/importer/import_scene.py +646 -0
  172. package/browser/addons/vrm/importer/license_validation.py +198 -0
  173. package/browser/addons/vrm/importer/vrm0_importer.py +1723 -0
  174. package/browser/addons/vrm/importer/vrm1_importer.py +2014 -0
  175. package/browser/addons/vrm/importer/vrm_animation_importer.py +763 -0
  176. package/browser/addons/vrm/importer/vrm_diff.py +316 -0
  177. package/browser/addons/vrm/locale/__init__.py +1 -0
  178. package/browser/addons/vrm/locale/ja_jp.py +826 -0
  179. package/browser/addons/vrm/locale/ruff.toml +8 -0
  180. package/browser/addons/vrm/locale/translation_dictionary.py +10 -0
  181. package/browser/addons/vrm/locale/zh_hans.py +928 -0
  182. package/browser/addons/vrm/registration.py +670 -0
  183. package/browser/addons/vrm.json +18 -0
  184. package/browser/blender-emscripten-engine.mts +60 -128
  185. package/browser/blender-engine.mts +20 -186
  186. package/browser/blender-wali-engine.mts +35 -81
  187. package/browser/describe-thrown.mts +3 -6
  188. package/browser/document-chunks.mts +4 -16
  189. package/browser/gltf_export.py +3161 -0
  190. package/browser/heap-growth.mts +23 -0
  191. package/browser/index.ts +2 -0
  192. package/browser/protocol.ts +119 -35
  193. package/browser/pull-job.mts +2 -10
  194. package/browser/rna.ts +190 -73
  195. package/browser/runtime.ts +197 -82
  196. package/browser/session-addons.mts +33 -0
  197. package/browser/session-frame.mts +5 -24
  198. package/browser/session.py +1338 -1427
  199. package/browser/three/attach-presenter.ts +11 -39
  200. package/browser/three/blender-base64.ts +1 -36
  201. package/browser/three/blender-corner-normals.ts +1 -23
  202. package/browser/three/blender-display-shaders.json +1 -1
  203. package/browser/three/blender-display-shaders.lut +0 -0
  204. package/browser/three/blender-display-transform.ts +2 -1
  205. package/browser/three/blender-frame-columns.ts +5 -13
  206. package/browser/three/blender-graph-material.ts +18 -3
  207. package/browser/three/blender-node-graph.ts +10 -34
  208. package/browser/three/blender-physical-material.ts +2 -31
  209. package/browser/three/blender-runtime-armature.ts +7 -60
  210. package/browser/three/blender-runtime-frame.ts +9 -23
  211. package/browser/three/blender-runtime-geometry.ts +22 -26
  212. package/browser/three/blender-runtime-lighting.ts +48 -178
  213. package/browser/three/blender-runtime-shadows.ts +187 -1
  214. package/browser/three/blender-runtime-skeleton.ts +53 -1
  215. package/browser/three/blender-runtime-view.ts +505 -283
  216. package/browser/three/blender-runtime-weights.ts +9 -72
  217. package/browser/three/blender-sky.ts +13 -33
  218. package/browser/three/blender-triangulate.ts +7 -35
  219. package/browser/three/blender-viewport-sampling.ts +235 -0
  220. package/browser/three/blender-workbench-material.ts +25 -29
  221. package/browser/three/blender-workbench-outline.ts +199 -0
  222. package/browser/three/blender-world-volume.ts +62 -10
  223. package/browser/three/presenter.ts +10 -26
  224. package/browser/three/release.ts +5 -21
  225. package/browser/three/sky-precompute-worker.ts +1 -18
  226. package/browser/three/sky-worker.ts +5 -23
  227. package/browser/three/world-field-sampler.ts +12 -26
  228. package/browser/volter_three.py +9 -105
  229. package/browser/worker.ts +156 -151
  230. package/package.json +5 -2
  231. package/wasm/BUNDLE.json +17 -17
  232. package/wasm/DEPENDENCY-LICENSES.txt +14 -0
  233. package/wasm/blender_browser.data.br +0 -0
  234. package/wasm/blender_browser.js +1 -1
  235. package/wasm/blender_browser.wasm.br +0 -0
  236. package/browser/frame-transfer.mts +0 -19
  237. package/browser/three/agx-base-srgb.lut +0 -0
  238. package/browser/three/agx-look-medium-high-contrast.lut +0 -0
  239. package/browser/three/agx-look-punchy.lut +0 -0
  240. package/browser/three/blender-agx.ts +0 -235
  241. package/browser/three/blender-display-lut.ts +0 -145
  242. package/browser/three/blender-filmic.ts +0 -49
  243. package/browser/three/blender-standard.ts +0 -68
  244. package/browser/three/blender-world-visibility.ts +0 -278
  245. package/browser/three/filmic-srgb.lut +0 -0
@@ -0,0 +1,928 @@
1
+ # SPDX-License-Identifier: MIT OR GPL-3.0-or-later
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Final
5
+
6
+ import bpy
7
+
8
+ # https://projects.blender.org/blender/blender/commit/0ce02355c1d0fb676167b7070870c8b5ef6ce048
9
+ LOCALE_KEY = "zh_CN" if bpy.app.version < (4, 0) else "zh_HANS"
10
+
11
+ TRANSLATION_DICTIONARY: Final[Mapping[tuple[str, str], str]] = {
12
+ (
13
+ "*",
14
+ "The installed VRM add-on is not compatible with Blender {blender_version}."
15
+ + " Please upgrade the add-on.",
16
+ ): "已安装的 VRM 附加组件有"
17
+ + "Blender {blender_version}尚不支持。\n"
18
+ + "更新附加组件。",
19
+ (
20
+ "*",
21
+ "The installed VRM add-\n"
22
+ + "on is not compatible with\n"
23
+ + "Blender {blender_version}. Please update.",
24
+ ): "已安装\n"
25
+ + "VRM 附加组件是 Blender {blender_version}\n"
26
+ + "尚不支持。 插件。\n"
27
+ + "请更新。",
28
+ (
29
+ "*",
30
+ "The installed VRM add-on is not compatible with Blender {blender_version}."
31
+ + " The VRM may not be exported correctly.",
32
+ ): "已安装的 VRM 附加组件与 Blender {blender_version} 不兼容。"
33
+ + "可能无法正确导出 VRM。",
34
+ (
35
+ "*",
36
+ "VRM add-on is not compatible with Blender {blender_version_cycle}.",
37
+ ): "VRM 附加组件尚未与 {blender_version_cycle} 版本的 Blender 兼容。",
38
+ (
39
+ "*",
40
+ "VRM add-on is\n"
41
+ + "not compatible with\n"
42
+ + "Blender {blender_version_cycle}.",
43
+ ): "VRM 附加组件Blender\n" + "尚未支持 {blender_version_cycle} 版本的 。",
44
+ (
45
+ "*",
46
+ "VRM add-on is not compatible with Blender {blender_version_cycle}."
47
+ + " The VRM may not be exported correctly.",
48
+ ): "VRM 附加组件与 {blender_version_cycle} 版本的 Blender 尚不兼容。"
49
+ + "可能无法正确导出 VRM。",
50
+ (
51
+ "*",
52
+ "The VRM add-on has been updated."
53
+ + " Please restart Blender to apply the changes.",
54
+ ): "已更新 VRM 附加组件。" + "重启 Blender 以应用更改。",
55
+ (
56
+ "*",
57
+ "The VRM add-on has been\n"
58
+ + "updated. Please restart Blender\n"
59
+ + "to apply the changes.",
60
+ ): "VRM 附加组件\n已更新。" + "要应用更改\n" + "Blender重新启动。",
61
+ ("*", 'Set shading type to "Material"'): "将 3D 视图设置为材质预览",
62
+ ("*", 'Set view transform to "Standard"'): "将视图转换设置为 “标准”",
63
+ (
64
+ "*",
65
+ 'Set an imported armature display to "Wire"',
66
+ ): "将armature视口显示设置为 “线框”",
67
+ (
68
+ "*",
69
+ 'Set an imported armature display to show "In-Front"',
70
+ ): "armature显示在最前面",
71
+ (
72
+ "*",
73
+ "Set an imported bone shape to default",
74
+ ): "默认显示骨骼形状。",
75
+ (
76
+ "*",
77
+ "Enable MToon Outline Preview",
78
+ ): "允许MToon轮廓线预览",
79
+ ("*", "Export Invisible Objects"): "包括隐藏对象",
80
+ ("*", "Export Only Selections"): "仅选定对象",
81
+ ("*", "Enable Advanced Options"): "启用高级选项",
82
+ ("*", "Don't overwrite existing texture image folder"): "不要覆盖现有纹理文件夹",
83
+ (
84
+ "*",
85
+ "Export All Bone Influences",
86
+ ): "导出所有骨骼重量",
87
+ (
88
+ "*",
89
+ "Don't limit to 4, most viewers truncate to 4, "
90
+ + "so bone movement may cause jagged meshes",
91
+ ): "不限于四个。 大多数观众将自己限制为四人,因为、"
92
+ + "移动骨骼时可能会发生意外的网格变形。",
93
+ ("*", "Export Lights"): "输出灯光",
94
+ (
95
+ "*",
96
+ "No errors found. Ready to export VRM.",
97
+ ): "未发现任何错误。可导出 VRM。",
98
+ (
99
+ "*",
100
+ "No errors found. But there are {warning_count} warning(s)."
101
+ + " The output may not be what you expected.",
102
+ ): "没有错误,但有{warning_count}个警告。" + "输出结果可能与预期不同。",
103
+ ("*", "VRM Export"): "VRM 输出",
104
+ ("*", "Create VRM Model"): "创建 VRM 模型",
105
+ ("*", "Check VRM Model"): "按VRM 模型标准检查",
106
+ ("*", "Extract texture images into the folder"): "将纹理图像解压到文件夹中。",
107
+ (
108
+ "*",
109
+ 'Official add-on "glTF 2.0 format" is required. Please enable it.',
110
+ ): "需要使用 glTF 2.0 格式的官方插件。 请激活它",
111
+ (
112
+ "*",
113
+ "For more information please check following URL.",
114
+ ): "如需了解更多信息,请查看下面的 URL。",
115
+ (
116
+ "*",
117
+ "Multiple armatures were found. Please select one to export as VRM.",
118
+ ): "存在多个armatures。" + "选择要导出为 VRM 的armatures。",
119
+ ("*", "Import Anyway"): "强制导入",
120
+ ("*", "Export Anyway"): "强制导出",
121
+ (
122
+ "*",
123
+ "There is a high-impact warning. VRM may not export as intended.",
124
+ ): "有影响较大的警告。" + "VRM 可能无法按预期输出。",
125
+ ("*", "A light is required"): "需要照明。",
126
+ ("*", "License Confirmation"): "许可确认。",
127
+ (
128
+ "*",
129
+ 'This VRM is licensed by VRoid Hub License "Alterations: No".',
130
+ ): "指定的 VRM 具有 VRoid Hub 的许可「改变: 禁止」。",
131
+ (
132
+ "*",
133
+ 'This VRM is licensed by UV License with "Remarks".',
134
+ ): "指定的 VRM 具有 UV License的许可(Remarks)。",
135
+ (
136
+ "*",
137
+ 'The VRM selects "Other" license but no license url is found.',
138
+ ): "指定的 VRM 具有「Other」许可证规定、" + "未设置 URL。",
139
+ (
140
+ "*",
141
+ '"{url}" is not a valid URL.',
142
+ ): "「{url}」不是有效的 URL。",
143
+ (
144
+ "*",
145
+ "The same name cannot be used"
146
+ + " for a mesh object and a bone."
147
+ + ' Rename either one whose name is "{name}".',
148
+ ): "网格对象和骨骼不能使用相同的名称。" + "名称:「{name}」更改以下名称之一。",
149
+ (
150
+ "*",
151
+ 'The "{name}" mesh has both a non-armature modifier'
152
+ + " and a shape key. However, they cannot coexist"
153
+ + ", so shape keys may not be exported correctly.",
154
+ ): "网格「{name}」中"
155
+ + "non-armature修改器和形态键都已设置,但"
156
+ + "它们不能共存,形态键可能无法正确输出。",
157
+ (
158
+ "*",
159
+ 'Spring "{spring_name1}" and "{spring_name2}" have'
160
+ + ' common bone "{bone_name}".',
161
+ ): "Spring 「{spring_name1}」和「{spring_name2}」" + "「{bone_name}」有共用骨骼。",
162
+ (
163
+ "*",
164
+ '"{export_only_selections}" is enabled' + ", but no mesh is selected.",
165
+ ): "「{export_only_selections}」是有效的,但没有选择任何网格。",
166
+ ("*", "There is no mesh to export."): "无网格可导出。",
167
+ (
168
+ "*",
169
+ "Only one armature is required for VRM export." + " Multiple armatures found.",
170
+ ): "只能为 VRM 输出选择一个armatures。 可多次选择。",
171
+ (
172
+ "*",
173
+ 'Required VRM Human Bone "{humanoid_name}" is'
174
+ + " not assigned. Please confirm hierarchy"
175
+ + " of {humanoid_name} and its children."
176
+ + ' "VRM" Panel → "VRM 0.x Humanoid" → {humanoid_name}'
177
+ + " will be empty or displayed in red"
178
+ + " if hierarchy is wrong.",
179
+ ): "VRM必须的骨骼「{humanoid_name}」是未指定的。"
180
+ + "「VRM」面板「VRM 0.x Humanoid」→「VRM必须的骨骼」将为空或显示为红色"
181
+ + "「{humanoid_name}」如果层次结构有误。",
182
+ (
183
+ "*",
184
+ 'Couldn\'t assign "{bone_name}" bone'
185
+ + ' to VRM Human Bone "{human_bone_name}". ',
186
+ ): "骨骼「{bone_name}」到 VRM 骨「{human_bone}」无法分配。",
187
+ (
188
+ "*",
189
+ 'Couldn\'t assign "{bone}" bone'
190
+ + ' to VRM Human Bone "{human_bone}". '
191
+ + 'Confirm hierarchy of "{bone}" and its children. '
192
+ + '"VRM" Panel → "Humanoid" → "{human_bone}" is empty'
193
+ + " if wrong hierarchy.",
194
+ ): "骨骼「{bone}」到 VRM 骨「{human_bone}」无法分配。"
195
+ + "「VRM」面板「VRM 0.x Humanoid」中"
196
+ + "「{human_bone}」检查骨骼设置。",
197
+ (
198
+ "*",
199
+ 'Required VRM Human Bone "{humanoid_name}" is'
200
+ + " not assigned. Please confirm hierarchy"
201
+ + " of {humanoid_name} and its children. "
202
+ + '"VRM" Panel → "Humanoid" → {humanoid_name}'
203
+ + " will be empty or displayed in red"
204
+ + " if hierarchy is wrong.",
205
+ ): "VRM必须的骨骼「{humanoid_name}」是未指定的。"
206
+ + "「VRM」面板「Humanoid」→「VRM必须的骨骼」将为空或显示为红色"
207
+ + "「{humanoid_name}」如果层次结构有误。",
208
+ (
209
+ "*",
210
+ 'Please assign Required VRM Human Bone "{name}".',
211
+ ): "请分配所需的 VRM 骨 「{name}」。",
212
+ (
213
+ "*",
214
+ 'Please assign "{parent_name}"'
215
+ + ' because "{name}" requires it as its child bone.',
216
+ ): "「{parent_name}」指定。" + "因为「{name}」需要将其作为子骨骼。",
217
+ (
218
+ "*",
219
+ 'Non-triangular faces detected in "{name}". '
220
+ + "They will be triangulated automatically.",
221
+ ): "「{name}」包含三角形以外的多边形。" + "自动划分为三角形。",
222
+ (
223
+ "*",
224
+ 'VRM Human Bone "{child}" needs "{parent}".'
225
+ + " Please confirm"
226
+ + ' "VRM" Panel → "Humanoid"'
227
+ + ' → "Optional VRM Human Bones"'
228
+ + ' → "{parent}".',
229
+ ): "VRM骨骼「{child}」需要「{parent}」。"
230
+ + "「VRM」面板「Humanoid」→「VRM可选的骨骼」中"
231
+ + "「{parent}」骨骼设置。",
232
+ (
233
+ "*",
234
+ 'Object "{name}" contains a negative value for the scale;'
235
+ + " VRM 1.0 does not allow negative values to be specified"
236
+ + " for the scale.",
237
+ ): "对象「{name}」中的缩放为负数。" + "VRM 1.0不允许指定负值。",
238
+ (
239
+ "*",
240
+ 'Node Constraint "{owner_name} / {constraint_name}" has'
241
+ + " a circular dependency",
242
+ ): "节点约束「{owner_name} / {constraint_name}」中" + "存在循环依赖关系。",
243
+ ("*", "No armature exists."): "骨架不存在。",
244
+ (
245
+ "*",
246
+ 'vertex index "{vertex_index}" is no weight'
247
+ + ' in "{mesh_name}".'
248
+ + " Add weight to parent bone automatically.",
249
+ ): "「{mesh_name}」的顶点id「{vertex_index}」未加权。" + "自动为父骨骼分配权重。",
250
+ (
251
+ "*",
252
+ 'vertex index "{vertex_index}" has'
253
+ + ' too many (over 4) weight in "{mesh_name}".'
254
+ + " It will be truncated to 4 descending"
255
+ + " order by its weight.",
256
+ ): "「{mesh_name}」的顶点id「{vertex_index}」有 5 块或更多骨骼影响到。"
257
+ + "最多 4 个,按重度顺序导出。",
258
+ (
259
+ "*",
260
+ '"{material_name}" needs to enable'
261
+ + ' "VRM MToon Material" or connect'
262
+ + " Principled BSDF/MToon_unversioned/TRANSPARENT_ZWRITE"
263
+ + ' to "Surface" directly. Empty material will be exported.',
264
+ ): "「{material_name}」需要启用「VRM MToon Material」或者链接"
265
+ + "「原理化BSDF」「MToon_unversioned」「TRANSPARENT_ZWRITE」"
266
+ + "直接向「表面」指定其中之一。输出空材质。",
267
+ (
268
+ "*",
269
+ '"{image_name}" was not found at file path "{image_filepath}". '
270
+ + "Please load the file in Blender.",
271
+ ): '「{image_name}」指定文件路径中的图像文件。「"{image_filepath}"」'
272
+ + "图像不存在。请重新加载图像。",
273
+ (
274
+ "*",
275
+ "firstPersonBone was not found. "
276
+ + 'VRM HumanBone "head" will be used automatically instead.',
277
+ ): "firstPersonBone未设置。"
278
+ + "将自动使用 VRM HumanBone「head」作为 firstPersonBone。",
279
+ (
280
+ "*",
281
+ 'A mesh named "{mesh_name}" is assigned to a blend'
282
+ + ' shape group named "{blend_shape_group_name}" but'
283
+ + " the mesh will not be exported.",
284
+ ): "Blend Shape Group「{blend_shape_group_name}」有一个网格「{mesh_name}」"
285
+ + "已分配、但网格未导出。",
286
+ (
287
+ "*",
288
+ 'A shape key named "{shape_key_name}" in a mesh'
289
+ + ' named "{mesh_name}" is assigned to a blend shape'
290
+ + ' group named "{blend_shape_group_name}" but the'
291
+ + " shape key doesn't exist.",
292
+ ): "名为 「{shape_key_name}」的形态键在网格"
293
+ + " 「{mesh_name}」 已被分配给混合形状"
294
+ + "但是此形态键不存在。",
295
+ (
296
+ "*",
297
+ 'need "{expect_node_type}" input' + ' in "{shader_val}" of "{material_name}".',
298
+ ): "「{material_name}」的「{shader_val}」需要、"
299
+ + "「{expect_node_type}」直接连接。",
300
+ (
301
+ "*",
302
+ 'Image in material "{material_name}" is not set.' + " Please add an image.",
303
+ ): "材质「{material_name}」"
304
+ + "有一个没有设置纹理的图像节点。"
305
+ + "删除或设置图像。",
306
+ ("*", "Symmetrize VRoid Bone Names on X-Axis"): "VRoid 骨骼名称的 X 轴对称性",
307
+ (
308
+ "*",
309
+ "Make VRoid bone names X-axis mirror editable",
310
+ ): "将 VRoid 骨骼名称转换为 X 轴对称可编辑名称",
311
+ ("*", "Current Pose"): "当前姿势",
312
+ ("*", "Save Bone Mappings"): "保存骨骼对应关系",
313
+ ("*", "Load Bone Mappings"): "加载骨骼对应关系",
314
+ (
315
+ "*",
316
+ "All Required VRM Human Bones have been assigned.",
317
+ ): "所有 VRM 必需骨骼分配都已完成。",
318
+ (
319
+ "*",
320
+ "There are unassigned Required VRM Human Bones. Please assign all.",
321
+ ): "存在未分配的 VRM 必需骨骼。" + "分配所有 VRM 必需骨骼。",
322
+ ("Operator", "Automatic Bone Assignment"): "自动骨骼分配",
323
+ ("Operator", "Export VRM"): "导出 VRM",
324
+ ("Operator", "Import VRM"): "导入 VRM",
325
+ ("Operator", "Preview MToon 0.0"): "MToon 0.0预览",
326
+ ("Operator", "VRM Humanoid"): "VRM人形",
327
+ ("Operator", "VRM License Confirmation"): "查看 VRM 使用条款",
328
+ ("Operator", "Required VRM Human Bones Assignment"): "配置 VRM 必需骨骼",
329
+ (
330
+ "*",
331
+ "Conditions exported as Roll Constraint\n"
332
+ + " - {copy_rotation}\n"
333
+ + " - Enabled\n"
334
+ + " - No Vertex Group\n"
335
+ + " - {axis} is one of X, Y and Z\n"
336
+ + " - No Inverted\n"
337
+ + " - {mix} is {add}\n"
338
+ + " - {target} is {local_space}\n"
339
+ + " - {owner} is {local_space}\n"
340
+ + " - No circular dependencies\n"
341
+ + " - The one at the top of the list of\n"
342
+ + " those that meet all the conditions\n",
343
+ ): "约束导出为转动约束\n"
344
+ + " - 复制旋转\n"
345
+ + " - 启用\n"
346
+ + " - 未指定顶点组\n"
347
+ + " - 指定 XYZ 的一个轴\n"
348
+ + " - 不可逆转\n"
349
+ + " - 混合添加\n"
350
+ + " - 目标是局部空间\n"
351
+ + " - 由局部空间拥有\n"
352
+ + " - 循环依赖关系不存在\n"
353
+ + " - 满足所有条件的\n",
354
+ (
355
+ "*",
356
+ "Conditions exported as Aim Constraint\n"
357
+ + " - {damped_track}\n"
358
+ + " - Enabled\n"
359
+ + " - Target Bone {head_tail} is 0\n"
360
+ + " - No Follow Target Bone B-Bone\n"
361
+ + " - No circular dependencies\n"
362
+ + " - The one at the top of the list of\n"
363
+ + " those that meet all the conditions\n",
364
+ ): "约束导出为动画约束\n"
365
+ + " - 阻尼轨道\n"
366
+ + " - 启用状态\n"
367
+ + " - 目标骨骼的{head_tail}为0\n"
368
+ + " - 不遵循目标骨骼的 B 骨\n"
369
+ + " - 循环依赖关系不存在\n"
370
+ + " - 满足所有条件的\n",
371
+ (
372
+ "*",
373
+ "Conditions exported as Rotation Constraint\n"
374
+ + " - {copy_rotation}\n"
375
+ + " - Enabled\n"
376
+ + " - No Vertex Group\n"
377
+ + " - {axis} is X, Y and Z\n"
378
+ + " - No Inverted\n"
379
+ + " - {mix} is {add}\n"
380
+ + " - {target} is {local_space}\n"
381
+ + " - {owner} is {local_space}\n"
382
+ + " - No circular dependencies\n"
383
+ + " - The one at the top of the list of\n"
384
+ + " those that meet all the conditions\n",
385
+ ): "约束导出为旋转约束\n"
386
+ + " - 复制旋转\n"
387
+ + " - 启用状态\n"
388
+ + " - 未指定顶点组\n"
389
+ + " - 所有轴均以 XYZ 表示。\n"
390
+ + " - 不可逆转\n"
391
+ + " - 混合添加\n"
392
+ + " - 目标是局部空间\n"
393
+ + " - 由局部空间拥有\n"
394
+ + " - 循环依赖关系不存在\n"
395
+ + " - 满足所有条件的\n",
396
+ ("*", "Axis Translation on Export"): "导出时转换轴",
397
+ (
398
+ "*",
399
+ "Offset and Scale are ignored in VRM 0.0.",
400
+ ): "偏移和缩放在 VRM 0.0 中被忽略。",
401
+ (
402
+ "*",
403
+ 'Material "{name}" {texture}\'s Offset and Scale are' + " ignored in VRM 0.0.",
404
+ ): "VRM 0.0材质「{name}」的{texture}的偏移和缩放将被忽略。",
405
+ (
406
+ "*",
407
+ "Offset and Scale are the values of the Lit Color Texture.",
408
+ ): "偏移和缩放的值是 Lit Color Texture 的值。",
409
+ (
410
+ "*",
411
+ 'Material "{name}" {texture}\'s Offset and Scale'
412
+ + " in VRM 0.0 are the values of"
413
+ + " the Lit Color Texture.",
414
+ ): "VRM 0.0材质「{name}」的{texture}的偏移和缩放为" + "Lit Color Texture的值。",
415
+ (
416
+ "*",
417
+ 'It is recommended to set "{colorspace}"'
418
+ + ' to "{input_colorspace}" for "{texture_label}"',
419
+ ): "对于{texture_label}中的{input_colorspace},建议设置“{colorspace}”",
420
+ (
421
+ "*",
422
+ 'It is recommended to set "{colorspace}"'
423
+ + ' to "{input_colorspace}" for "{texture_label}"'
424
+ + ' in Material "{name}".',
425
+ ): "材质{name}的{texture_label}的{input_colorspace}"
426
+ + "建议使用「{colorspace}」的设定。",
427
+ (
428
+ "*",
429
+ "VRM Material",
430
+ ): "VRM材质",
431
+ (
432
+ "*",
433
+ "Enable VRM MToon Material",
434
+ ): "启用VRM MToon材质",
435
+ (
436
+ "*",
437
+ "Export Shape Key Normals",
438
+ ): "导出形态键法线",
439
+ (
440
+ "*",
441
+ 'The "Screen Coordinates" display is not yet implemented.\n'
442
+ + 'It is displayed in the same way as "World Coordinates".',
443
+ ): "「Screen Coordinates」尚未实施\n" + "与「World Coordinates」具有相同的显示",
444
+ (
445
+ "*",
446
+ "How to export this material to VRM.\n"
447
+ + "Meet one of the following conditions.\n"
448
+ + " - VRM MToon Material is enabled\n"
449
+ + ' - Connect the "Surface" to a "Principled BSDF"\n'
450
+ + ' - Connect the "Surface" to a "MToon_unversioned"\n'
451
+ + ' - Connect the "Surface" to a "TRANSPARENT_ZWRITE"\n'
452
+ + " - Others that are compatible with the glTF 2.0 add-on export\n",
453
+ ): "如何将此材料导出到 VRM\n"
454
+ + "必须满足以下条件之一。\n"
455
+ + " - VRM MToon材质启用\n"
456
+ + " - 指定「Surface」到「Principled BSDF」\n"
457
+ + " - 指定「Surface」到「MToon_unversioned」\n"
458
+ + " - 指定「Surface」到「TRANSPARENT_ZWRITE」\n"
459
+ + " - 其他与glTF 2.0附加组件导出兼容的组件\n",
460
+ (
461
+ "*",
462
+ "Enable Animation",
463
+ ): "使动画有效",
464
+ (
465
+ "*",
466
+ "Armature not found",
467
+ ): "未找到骨架",
468
+ (
469
+ "*",
470
+ "Please assign required human bones",
471
+ ): "请分配所需的人形骨骼",
472
+ ("*", "Please set the version of VRM to 1.0"): "将 VRM 版本设置为 1.0",
473
+ (
474
+ "*",
475
+ "VRM Animation export requires a VRM 1.0 armature",
476
+ ): "VRM 动画导出需要 VRM 1.0 骨架",
477
+ (
478
+ "*",
479
+ "VRM Animation import requires a VRM 1.0 armature",
480
+ ): "VRM 动画导入需要 VRM 1.0 骨架",
481
+ ("*", "Armature to be exported"): "要导出的骨架",
482
+ (
483
+ "*",
484
+ (
485
+ "Animations to be exported\n"
486
+ + "- Humanoid bone rotations\n"
487
+ + "- Humanoid hips bone translations\n"
488
+ + "- Expression preview value\n"
489
+ + "- Look At preview target translation\n"
490
+ ),
491
+ ): (
492
+ "将导出的动画\n"
493
+ + "- 人形骨骼旋转值\n"
494
+ + "- Humanoid Hips骨骼运动值\n"
495
+ + "- 表情的预览值\n"
496
+ + "- Look At预览目标移动值\n"
497
+ ),
498
+ ("*", "Armature to be animated"): "动画的骨骼",
499
+ (
500
+ "*",
501
+ "https://vrm-addon-for-blender.info/en-us/animation/",
502
+ ): "https://vrm-addon-for-blender.info/ja-jp/animation/",
503
+ ("Operator", "Open help in a Web Browser"): "在 Web 浏览器中打开“帮助”",
504
+ ("*", "Allow Non-Humanoid Rig"): "允许使用非人形骨骼",
505
+ (
506
+ "*",
507
+ "VRMs exported as Non-Humanoid\n"
508
+ + "Rigs can not have animations applied\n"
509
+ + "for humanoid avatars.",
510
+ ): ("作为 非人形 导出VRM\n" + "无法应用动画\n" + "于人形avatar。"),
511
+ (
512
+ "*",
513
+ "This armature will be exported but not as a humanoid."
514
+ + " It cannot have animations applied"
515
+ + " for humanoid avatars.",
516
+ ): "这个骨架会导出但是不是作为人形。" + "人形avatars的动画不适用。",
517
+ ("*", "Filter by VRM Human Bone Hierarchy"): "按VRM人形骨骼父子关系过滤",
518
+ (
519
+ "Operator",
520
+ "Blender 4.2 Material Upgrade Warning",
521
+ ): "Blender 4.2材质升级警告",
522
+ (
523
+ "*",
524
+ 'Updating to Blender 4.2 may unintentionally change the "{alpha_mode}"'
525
+ + ' of some MToon materials to "{transparent}".\n'
526
+ + 'This was previously implemented using the material\'s "{blend_mode}"'
527
+ + " but since that setting was removed in Blender 4.2.\n"
528
+ + 'In the current VRM add-on, the "{alpha_mode}" function has been'
529
+ + " re-implemented using a different method. However, it"
530
+ + "was not possible"
531
+ + " to implement automatic migration of old settings values because those"
532
+ + " values could no longer be read.\n"
533
+ + 'Please check the "{alpha_mode}" settings for materials that have'
534
+ + " MToon enabled.\n"
535
+ + "Materials that may be affected are as follows:",
536
+ ): "升级到 Blender 4.2可能会无意间改变一些MToon材质的"
537
+ + "「{alpha_mode}」为「{transparent}」\n"
538
+ + "这是以前使用材质的“{blend_mode}”实现的"
539
+ + "但由于该设置在Blender 4.2中被删除\n"
540
+ + "现在的VRM插件,这个「{alpha_mode}」功能使用其他方式实现"
541
+ + "但是无法自动迁移旧的配置 因为这些参数无法读取了\n"
542
+ + "请检查材质「{alpha_mode}」设置中。"
543
+ + "具有MToon启动\n"
544
+ + "可能受影响的材质如下。",
545
+ #####################################################新建VR弹窗翻译
546
+ (
547
+ "*",
548
+ "Add VRM Humanoid",
549
+ ): "添加VRM人形Humanoid",
550
+ (
551
+ "*",
552
+ "wip_with_template_mesh",
553
+ ): "带有模板网格的WIP",
554
+ (
555
+ "*",
556
+ "Bone tall",
557
+ ): "骨骼高度",
558
+ (
559
+ "*",
560
+ "head_ratio",
561
+ ): "头部比例",
562
+ (
563
+ "*",
564
+ "head_width_ratio",
565
+ ): "头部宽度比例",
566
+ (
567
+ "*",
568
+ "aging_ratio",
569
+ ): "老化比例",
570
+ (
571
+ "*",
572
+ "eye_depth",
573
+ ): "眼睛深度",
574
+ (
575
+ "*",
576
+ "shoulder_in_width",
577
+ ): "肩内宽",
578
+ (
579
+ "*",
580
+ "shoulder_width",
581
+ ): "肩宽",
582
+ (
583
+ "*",
584
+ "arm_length_ratio",
585
+ ): "臂长比例",
586
+ (
587
+ "*",
588
+ "hand_ratio",
589
+ ): "手比例",
590
+ (
591
+ "*",
592
+ "finger_1_2_ratio",
593
+ ): "手指第一与二节比例",
594
+ (
595
+ "*",
596
+ "finger_2_3_ratio",
597
+ ): "手指第二与三节比例",
598
+ (
599
+ "*",
600
+ "leg_length_ratio",
601
+ ): "腿长比例",
602
+ (
603
+ "*",
604
+ "leg_width_ratio",
605
+ ): "腿宽比例",
606
+ (
607
+ "*",
608
+ "leg_size",
609
+ ): "腿大小",
610
+ ###############################侧面板
611
+ # Meta
612
+ (
613
+ "*",
614
+ "Thumbnail:",
615
+ ): "缩略图 Thumbnail:",
616
+ (
617
+ "*",
618
+ "Contact Information",
619
+ ): "联系信息",
620
+ (
621
+ "*",
622
+ "Contact Information about the avatar",
623
+ ): "关于此角色的联系信息",
624
+ (
625
+ "*",
626
+ "Allowed User",
627
+ ): "许可用户",
628
+ (
629
+ "*",
630
+ "Only Author",
631
+ ): "仅作者",
632
+ (
633
+ "*",
634
+ "Explicitly Licensed Person",
635
+ ): "明确获得许可的人",
636
+ (
637
+ "*",
638
+ "Everyone",
639
+ ): "所有人",
640
+ (
641
+ "*",
642
+ "Allowed user of the avatar",
643
+ ): "允许使用该角色的用户",
644
+ (
645
+ "*",
646
+ "Allow",
647
+ ): "允许",
648
+ (
649
+ "*",
650
+ "Disallow",
651
+ ): "禁止",
652
+ (
653
+ "*",
654
+ "undefined",
655
+ ): "未定义",
656
+ (
657
+ "*",
658
+ "Violent Usage",
659
+ ): "暴力用途",
660
+ (
661
+ "*",
662
+ "Sexual Usage",
663
+ ): "性用途",
664
+ (
665
+ "*",
666
+ "Commercial Usage",
667
+ ): "商业用途",
668
+ (
669
+ "*",
670
+ "Other Permission URL",
671
+ ): "其他许可链接",
672
+ (
673
+ "*",
674
+ "Redistribution Prohibited",
675
+ ): "禁止再分发",
676
+ # Humanoid
677
+ (
678
+ "*",
679
+ "Required VRM Human Bones",
680
+ ): "VRM必须的骨骼",
681
+ (
682
+ "*",
683
+ "Head:",
684
+ ): "头部 Head:",
685
+ (
686
+ "*",
687
+ "Neck:",
688
+ ): "颈部 Neck:",
689
+ (
690
+ "*",
691
+ "Chest:",
692
+ ): "胸骨 Chest:",
693
+ (
694
+ "*",
695
+ "Spine:",
696
+ ): "腰骨 Spine:",
697
+ (
698
+ "*",
699
+ "Hips:",
700
+ ): "臀部 Hips:",
701
+ (
702
+ "*",
703
+ "Upper Arm:",
704
+ ): "上臂 Upper Arm:",
705
+ (
706
+ "*",
707
+ "Lower Arm:",
708
+ ): "前臂 Lower Arm:",
709
+ (
710
+ "*",
711
+ "Hand:",
712
+ ): "手 Hand:",
713
+ (
714
+ "*",
715
+ "Upper Leg:",
716
+ ): "大腿 Upper Leg:",
717
+ (
718
+ "*",
719
+ "Lower Leg:",
720
+ ): "小腿 Lower Leg:",
721
+ (
722
+ "*",
723
+ "Foot:",
724
+ ): "脚 Foot:",
725
+ (
726
+ "*",
727
+ "Optional VRM Human Bones",
728
+ ): "VRM可选的骨骼",
729
+ (
730
+ "*",
731
+ "Eye:",
732
+ ): "眼睛 Eye:",
733
+ (
734
+ "*",
735
+ "Jaw:",
736
+ ): "下巴 Jaw:",
737
+ (
738
+ "*",
739
+ "Shoulder:",
740
+ ): "肩膀 Shoulder:",
741
+ (
742
+ "*",
743
+ "Upper Chest:",
744
+ ): "上胸部 Upper Chest:",
745
+ (
746
+ "*",
747
+ "Toes:",
748
+ ): "脚趾 Toes:",
749
+ (
750
+ "*",
751
+ "Left Thumb:",
752
+ ): "左拇指 Left Thumb:",
753
+ (
754
+ "*",
755
+ "Left Index:",
756
+ ): "左食指 Left Index:",
757
+ (
758
+ "*",
759
+ "Left Middle:",
760
+ ): "左中指 Left Middle:",
761
+ (
762
+ "*",
763
+ "Left Ring:",
764
+ ): "左无名指 Left Ring:",
765
+ (
766
+ "*",
767
+ "Left Little:",
768
+ ): "左小指 Left Little:",
769
+ (
770
+ "*",
771
+ "Right Thumb:",
772
+ ): "右拇指 Right Thumb:",
773
+ (
774
+ "*",
775
+ "Right Index:",
776
+ ): "右食指 Right Index:",
777
+ (
778
+ "*",
779
+ "Right Middle:",
780
+ ): "右中指 Right Middle:",
781
+ (
782
+ "*",
783
+ "Right Ring:",
784
+ ): "右无名指 Right Ring:",
785
+ (
786
+ "*",
787
+ "Right Little:",
788
+ ): "右小指 Right Little:",
789
+ (
790
+ "*",
791
+ "Arm",
792
+ ): "胳膊 Arm",
793
+ (
794
+ "*",
795
+ "Arm Stretch",
796
+ ): "手臂伸展 Arm Stretch",
797
+ (
798
+ "*",
799
+ "Upper Arm Twist",
800
+ ): "上臂扭转 Upper Arm Twist",
801
+ (
802
+ "*",
803
+ "Lower Arm Twist",
804
+ ): "前臂扭转 Lower Arm Twist",
805
+ (
806
+ "*",
807
+ "Leg",
808
+ ): "腿 Leg",
809
+ (
810
+ "*",
811
+ "Leg Stretch",
812
+ ): "腿部伸展 Leg Stretch",
813
+ (
814
+ "*",
815
+ "Upper Leg Twist",
816
+ ): "大腿扭转 Upper Leg Twist",
817
+ (
818
+ "*",
819
+ "Lower Leg Twist",
820
+ ): "小腿扭转 Lower Leg Twist",
821
+ (
822
+ "*",
823
+ "Feet Spacing",
824
+ ): "脚间距 Feet Spacing",
825
+ # Blender Shape
826
+ (
827
+ "*",
828
+ "Is Binary",
829
+ ): "是二进制的",
830
+ (
831
+ "*",
832
+ "Use binary change in the blendshape group",
833
+ ): "在混合形状组中使用二进制更改",
834
+ (
835
+ "*",
836
+ "Blink",
837
+ ): "眨眼 Blink",
838
+ (
839
+ "*",
840
+ "Joy",
841
+ ): "高兴 Joy",
842
+ (
843
+ "*",
844
+ "Angry",
845
+ ): "生气 Angry",
846
+ (
847
+ "*",
848
+ "Sorrow",
849
+ ): "悲伤 Sorrow",
850
+ (
851
+ "*",
852
+ "Fun",
853
+ ): "有趣 Fun",
854
+ (
855
+ "*",
856
+ "Look Up",
857
+ ): "向上看 Look Up",
858
+ (
859
+ "*",
860
+ "Look Down",
861
+ ): "向下看 Look Down",
862
+ (
863
+ "*",
864
+ "Look Left",
865
+ ): "向左看 Look Left",
866
+ (
867
+ "*",
868
+ "Look Right",
869
+ ): "向右看 Look Right",
870
+ (
871
+ "*",
872
+ "Blink_L",
873
+ ): "左眼眨眼 Blink_L",
874
+ (
875
+ "*",
876
+ "Blink_R",
877
+ ): "右眼眨眼 Blink_R",
878
+ (
879
+ "*",
880
+ "Binds",
881
+ ): "绑定 Binds",
882
+ (
883
+ "*",
884
+ "Material Values",
885
+ ): "材质值 Material Values",
886
+ # First Person
887
+ (
888
+ "*",
889
+ "First Person Bone Offset",
890
+ ): "第一人称骨骼偏移",
891
+ (
892
+ "*",
893
+ "Offset from the first person bone to follow the first person camera.",
894
+ ): "从第一人称骨骼到跟随第一人称摄像头的偏移",
895
+ (
896
+ "*",
897
+ "Look At Type Name",
898
+ ): "注视对象类型名",
899
+ (
900
+ "*",
901
+ "Mesh Annotations",
902
+ ): "网格注释",
903
+ (
904
+ "*",
905
+ "Look At Horizontal Inner",
906
+ ): "注视水平向内",
907
+ (
908
+ "*",
909
+ "Look At Horizontal Outer",
910
+ ): "注视水平向外",
911
+ (
912
+ "*",
913
+ "Look At Vertical Up",
914
+ ): "注视垂直向上",
915
+ (
916
+ "*",
917
+ "Look At Vertical Down",
918
+ ): "注视垂直向下",
919
+ # Spring Bone
920
+ (
921
+ "*",
922
+ "Spring Bone Groups",
923
+ ): "弹簧骨骼组 Spring Bone Groups",
924
+ (
925
+ "*",
926
+ "Collider Groups",
927
+ ): "碰撞器组 Collider Groups",
928
+ }