@things-factory/figure-ui 10.1.245 → 10.1.246

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 (127) hide show
  1. package/client/modeller/align.ts +51 -13
  2. package/client/modeller/clips.ts +51 -1
  3. package/client/modeller/data-interface.ts +16 -0
  4. package/client/modeller/editor-styles.ts +6 -0
  5. package/client/modeller/editor.ts +112 -25
  6. package/client/modeller/fasten-form.ts +8 -1
  7. package/client/modeller/fasten-geometry.ts +24 -2
  8. package/client/modeller/figure-clips.ts +137 -4
  9. package/client/modeller/figure-fasten-dialog.ts +1 -0
  10. package/client/modeller/figure-fasten-drawing.ts +11 -5
  11. package/client/modeller/figure-links.ts +25 -0
  12. package/client/modeller/figure-material-panel.ts +54 -4
  13. package/client/modeller/figure-parts.ts +7 -2
  14. package/client/modeller/figure-pipe-panel.ts +215 -0
  15. package/client/modeller/figure-preview.ts +125 -4
  16. package/client/modeller/figure-section-editor.ts +36 -3
  17. package/client/modeller/links.ts +24 -2
  18. package/client/modeller/material-edit.ts +9 -0
  19. package/client/modeller/maturity.ts +15 -4
  20. package/client/modeller/palette.ts +9 -0
  21. package/client/modeller/pipe-path.ts +21 -0
  22. package/client/modeller/refusals.ts +66 -1
  23. package/client/modeller/section-controls.ts +2 -1
  24. package/client/modeller/section-drawing.ts +20 -1
  25. package/client/modeller/starting-shape.ts +8 -5
  26. package/dist-client/modeller/align.d.ts +28 -7
  27. package/dist-client/modeller/align.js +37 -12
  28. package/dist-client/modeller/align.js.map +1 -1
  29. package/dist-client/modeller/clips.d.ts +24 -0
  30. package/dist-client/modeller/clips.js +53 -1
  31. package/dist-client/modeller/clips.js.map +1 -1
  32. package/dist-client/modeller/data-interface.d.ts +6 -0
  33. package/dist-client/modeller/data-interface.js +17 -0
  34. package/dist-client/modeller/data-interface.js.map +1 -1
  35. package/dist-client/modeller/editor-styles.js +6 -0
  36. package/dist-client/modeller/editor-styles.js.map +1 -1
  37. package/dist-client/modeller/editor.d.ts +10 -1
  38. package/dist-client/modeller/editor.js +117 -26
  39. package/dist-client/modeller/editor.js.map +1 -1
  40. package/dist-client/modeller/fasten-form.d.ts +2 -0
  41. package/dist-client/modeller/fasten-form.js +5 -1
  42. package/dist-client/modeller/fasten-form.js.map +1 -1
  43. package/dist-client/modeller/fasten-geometry.d.ts +8 -1
  44. package/dist-client/modeller/fasten-geometry.js +22 -1
  45. package/dist-client/modeller/fasten-geometry.js.map +1 -1
  46. package/dist-client/modeller/figure-clips.d.ts +9 -0
  47. package/dist-client/modeller/figure-clips.js +137 -4
  48. package/dist-client/modeller/figure-clips.js.map +1 -1
  49. package/dist-client/modeller/figure-fasten-dialog.js +1 -0
  50. package/dist-client/modeller/figure-fasten-dialog.js.map +1 -1
  51. package/dist-client/modeller/figure-fasten-drawing.d.ts +3 -1
  52. package/dist-client/modeller/figure-fasten-drawing.js +13 -5
  53. package/dist-client/modeller/figure-fasten-drawing.js.map +1 -1
  54. package/dist-client/modeller/figure-links.d.ts +5 -0
  55. package/dist-client/modeller/figure-links.js +22 -0
  56. package/dist-client/modeller/figure-links.js.map +1 -1
  57. package/dist-client/modeller/figure-material-panel.d.ts +2 -0
  58. package/dist-client/modeller/figure-material-panel.js +53 -4
  59. package/dist-client/modeller/figure-material-panel.js.map +1 -1
  60. package/dist-client/modeller/figure-parts.d.ts +1 -1
  61. package/dist-client/modeller/figure-parts.js +5 -1
  62. package/dist-client/modeller/figure-parts.js.map +1 -1
  63. package/dist-client/modeller/figure-pipe-panel.d.ts +29 -0
  64. package/dist-client/modeller/figure-pipe-panel.js +221 -0
  65. package/dist-client/modeller/figure-pipe-panel.js.map +1 -0
  66. package/dist-client/modeller/figure-preview.d.ts +8 -0
  67. package/dist-client/modeller/figure-preview.js +128 -4
  68. package/dist-client/modeller/figure-preview.js.map +1 -1
  69. package/dist-client/modeller/figure-section-editor.d.ts +5 -0
  70. package/dist-client/modeller/figure-section-editor.js +33 -3
  71. package/dist-client/modeller/figure-section-editor.js.map +1 -1
  72. package/dist-client/modeller/links.d.ts +6 -0
  73. package/dist-client/modeller/links.js +17 -2
  74. package/dist-client/modeller/links.js.map +1 -1
  75. package/dist-client/modeller/material-edit.d.ts +8 -0
  76. package/dist-client/modeller/material-edit.js +8 -0
  77. package/dist-client/modeller/material-edit.js.map +1 -1
  78. package/dist-client/modeller/maturity.js +16 -5
  79. package/dist-client/modeller/maturity.js.map +1 -1
  80. package/dist-client/modeller/palette.js +9 -0
  81. package/dist-client/modeller/palette.js.map +1 -1
  82. package/dist-client/modeller/pipe-path.d.ts +19 -0
  83. package/dist-client/modeller/pipe-path.js +14 -0
  84. package/dist-client/modeller/pipe-path.js.map +1 -0
  85. package/dist-client/modeller/refusals.d.ts +12 -1
  86. package/dist-client/modeller/refusals.js +67 -0
  87. package/dist-client/modeller/refusals.js.map +1 -1
  88. package/dist-client/modeller/section-controls.js +2 -1
  89. package/dist-client/modeller/section-controls.js.map +1 -1
  90. package/dist-client/modeller/section-drawing.d.ts +5 -0
  91. package/dist-client/modeller/section-drawing.js +19 -1
  92. package/dist-client/modeller/section-drawing.js.map +1 -1
  93. package/dist-client/modeller/starting-shape.d.ts +9 -2
  94. package/dist-client/modeller/starting-shape.js +8 -3
  95. package/dist-client/modeller/starting-shape.js.map +1 -1
  96. package/dist-client/tsconfig.tsbuildinfo +1 -1
  97. package/package.json +8 -8
  98. package/test/align.test.ts +28 -6
  99. package/test/browser/editing-page.js +21 -1
  100. package/test/browser/editing.check.mjs +124 -0
  101. package/test/browser/links.check.mjs +49 -8
  102. package/test/browser/modeller.check.mjs +27 -1
  103. package/test/browser/part-ids.check.mjs +60 -3
  104. package/test/browser/parts.check.mjs +2 -2
  105. package/test/browser/places-mesh.check.mjs +14 -8
  106. package/test/browser/screen.check.mjs +54 -1
  107. package/test/browser/section-page.js +7 -1
  108. package/test/browser/section.check.mjs +81 -0
  109. package/test/browser/side-panel-sweep.check.mjs +13 -0
  110. package/test/clips.test.ts +30 -1
  111. package/test/data-motion.test.ts +14 -1
  112. package/test/fasten-geometry.test.ts +13 -2
  113. package/test/joint-frames.test.ts +12 -2
  114. package/test/links.test.ts +24 -0
  115. package/test/material.test.ts +15 -1
  116. package/test/maturity.test.ts +19 -1
  117. package/test/palette-icons.test.ts +2 -1
  118. package/test/pipe-panel.test.ts +33 -0
  119. package/test/refusals.test.ts +29 -0
  120. package/test/revision.test.ts +1 -1
  121. package/test/section-editor.test.ts +17 -1
  122. package/translations/en.json +86 -3
  123. package/translations/es.json +86 -3
  124. package/translations/ja.json +86 -3
  125. package/translations/ko.json +86 -3
  126. package/translations/ms.json +86 -3
  127. package/translations/zh.json +86 -3
@@ -29,6 +29,7 @@
29
29
  "figure.button.move-part-up": "위로",
30
30
  "figure.button.new-figure": "새 피규어",
31
31
  "figure.button.pose-as-default": "이 자세를 기본으로",
32
+ "figure.button.clear-tried": "기본 자세로 되돌리기",
32
33
  "figure.button.release-figure": "발행하기",
33
34
  "figure.button.remove": "삭제",
34
35
  "figure.button.remove-part": "삭제",
@@ -125,6 +126,7 @@
125
126
  "figure.label.coordinate-ground": "좌표 바탕",
126
127
  "figure.label.detail-L": "상세",
127
128
  "figure.label.detail-XL": "정밀",
129
+ "figure.label.detail-UNLIMITED": "무제한",
128
130
  "figure.label.detail-M": "보통",
129
131
  "figure.label.detail-S": "단순",
130
132
  "figure.label.detail-level": "디테일 등급",
@@ -191,6 +193,7 @@
191
193
  "figure.label.palette-purpose-surface": "표면·바탕 · 넓은 바탕 면",
192
194
  "figure.label.palette-purpose-warning": "주의 신호 · 확인이 필요한 상태를 알리는 표시등",
193
195
  "figure.label.palette-role": "색 역할",
196
+ "figure.label.own-colour": "직접 정한 색",
194
197
  "figure.label.palette-token": "팔레트 토큰",
195
198
  "figure.label.part": "부품",
196
199
  "figure.label.part-material": "재질",
@@ -411,7 +414,7 @@
411
414
  "figure.text.coordinate-ground-explained": "원점과 눈금을 바닥에 표시합니다",
412
415
  "figure.text.delete-figure-confirm": "{name} 을 삭제하시겠습니까?",
413
416
  "figure.text.designate-in-properties": "아직 지정된 부품이 없습니다. 부품을 선택하고 속성 탭에서 「능력에서의 역할」을 지정하세요.",
414
- "figure.text.detail-level-explained": "S 는 표지·기둥, M 은 대부분의 설비, L 은 화면의 중심이 되는 큰 설비, XL 은 다리 달린 로봇처럼 관절이 많은 장치에 사용합니다. 등급에 따라 부품 수 한도가 정해집니다.",
417
+ "figure.text.detail-level-explained": "S 는 표지·기둥, M 은 대부분의 설비, L 은 화면의 중심이 되는 큰 설비, XL 은 다리 달린 로봇처럼 관절이 많은 장치에 사용합니다. 등급에 따라 부품 수 한도가 정해집니다. 무제한은 많이 배치하지 않고 보여 주는 피규어에 쓰며, 부품 수와 따로 움직이는 부품 수를 제한하지 않습니다.",
415
418
  "figure.text.discard-changes-and-start-new": "저장하지 않은 변경이 있습니다. 버리고 새로 시작할까요?",
416
419
  "figure.text.leave-without-saving": "저장하지 않은 변경이 있습니다. 버리고 나갈까요?",
417
420
  "figure.button.leave-without-saving": "버리고 나가기",
@@ -454,7 +457,8 @@
454
457
  "figure.text.joint-value-beyond-limits": "관절의 가동 범위 밖입니다.",
455
458
  "figure.text.limit-comes-from-level": "이 한도는 디테일 등급이 정합니다.",
456
459
  "figure.text.maturity-blocked-no-binding": "상태 표현은 아직 측정하지 않습니다.",
457
- "figure.text.maturity-blocked-no-detail-level": "형식에는 디테일 등급이 없습니다. 위의 한도와 배치 규모로 판단합니다.",
460
+ "figure.text.maturity-blocked-no-detail-level": "디테일 등급을 정하지 않아 측정하지 않습니다.",
461
+ "figure.text.maturity-blocked-unlimited": "무제한 등급이라 부품 수를 재지 않습니다.",
458
462
  "figure.text.maturity-blocked-no-parts": "부품이 없어 측정할 것이 없습니다.",
459
463
  "figure.text.maturity-consistency-because": "텍스처 사용 여부, 권장 분할 수 준수, 재질 종류 수를 확인합니다.",
460
464
  "figure.text.maturity-consistency-clean": "문제 없음",
@@ -465,6 +469,11 @@
465
469
  "figure.text.maturity-scale-because": "한 도면에 피규어 500개를 배치하는 것을 기준으로 합니다.",
466
470
  "figure.text.mirror-explained": "반대편에 대칭 부품을 생성합니다. 다리나 팔처럼 쌍으로 구성된 부품에 사용합니다.",
467
471
  "figure.text.mirror-would-overlap": "부품이 이미 중심에 있어 대칭 복제하면 기존 부품과 겹칩니다.",
472
+ "figure.text.mirror-not-symmetric": "{part} 부품은 대칭면에서 벗어난 부품에 붙어 있어, 반대편에 같은 모양으로 복사할 수 없습니다.",
473
+ "figure.text.mirror-turned-parent": "{part} 부품이 붙은 부품이 X·Y·Z 축에서 비스듬히 돌아가 있어 대칭 복사할 수 없습니다.",
474
+ "figure.text.mirror-surface": "{part} 부품은 곡면에 붙어 있어 대칭 복사할 수 없습니다.",
475
+ "figure.text.mirror-unplaced": "{part} 부품은 위치를 정하는 값이 없어 대칭 복사할 수 없습니다.",
476
+ "figure.text.unknown-input": "이 피규어에는 {input} 값이 없습니다.",
468
477
  "figure.text.mode-edit-explained": "기준 크기에서 부품을 배치하고 편집합니다.",
469
478
  "figure.text.mode-preview-explained": "도면에 놓았을 때의 모습입니다. 기준 크기와 늘린 것을 나란히 놓습니다.",
470
479
  "figure.text.more-segment-options": "고급 분할 수",
@@ -472,6 +481,7 @@
472
481
  "figure.text.must-fix-to-release": "고쳐야 하는 것",
473
482
  "figure.text.n-of-limit": "{used} / {limit}",
474
483
  "figure.text.n-parts-at-most": "부품 {limit}개까지",
484
+ "figure.text.no-part-limit": "부품 수 한도 없음",
475
485
  "figure.text.n-triangles": "삼각형 {count}개",
476
486
  "figure.text.no-figure-yet": "아직 만든 피규어가 없습니다",
477
487
  "figure.text.no-findings": "확인할 점이 없습니다.",
@@ -485,6 +495,7 @@
485
495
  "figure.text.pick-a-shape-above-to-start": "위에서 하나를 골라 첫 부품을 놓으세요.",
486
496
  "figure.text.placement-explained": "3D 씬에서 객체의 기준면을 정합니다 (바닥: AGV/컨베이어, 천장: OHT/호이스트, 중심: 센서/드론).",
487
497
  "figure.text.pose-as-default-explained": "현재 자세를 파라미터의 기본값으로 저장합니다. 값이 지정되지 않으면 피규어에 이 자세가 적용됩니다.",
498
+ "figure.text.clear-tried-explained": "미리 보기에서 바꾼 조작값을 지웁니다. 저장된 기본 자세는 바뀌지 않고, 클립이 다시 움직입니다.",
488
499
  "figure.text.preview-blocked-by-errors": "형식 오류로 미리보기를 표시할 수 없습니다. 검사 탭에서 사유를 확인하세요.",
489
500
  "figure.text.put-on-floor": "지금 위치만 바닥(Y=0)에 맞춥니다. 크기가 바뀌면 따라가지 않습니다. 계속 붙어 있게 하려면 ‘바닥에 붙여 크기 따라가기’를 쓰세요.",
490
501
  "figure.text.range-needs-room": "최대가 최소보다 커야 합니다.",
@@ -715,6 +726,7 @@
715
726
  "figure.label.motion-own-control": "제 조작값으로",
716
727
  "figure.label.motion-multiplier": "배율",
717
728
  "figure.label.motion-offset": "더하기",
729
+ "figure.label.motion-through": "축이 지나는 점",
718
730
  "figure.label.motion-follows": "따라 움직임: {joint} × {multiplier} + {offset}",
719
731
  "figure.label.face-opening-left": "개구부 왼쪽",
720
732
  "figure.label.face-opening-right": "개구부 오른쪽",
@@ -1305,5 +1317,76 @@
1305
1317
  "figure.button.save-as-copy": "사본으로 저장",
1306
1318
  "figure.button.open-latest": "최신본을 새 탭에서 열기",
1307
1319
  "figure.button.overwrite-latest": "내 편집으로 덮어쓰기",
1308
- "figure.text.overwrite-latest-warning": "최신본에서 바뀐 내용은 내 편집으로 바뀌고 남지 않습니다. 덮어쓸까요?"
1320
+ "figure.text.overwrite-latest-warning": "최신본에서 바뀐 내용은 내 편집으로 바뀌고 남지 않습니다. 덮어쓸까요?",
1321
+ "figure.text.own-colour-explained": "팔레트 역할 대신 색 값을 직접 정합니다. 이 색은 보드의 테마를 따라 바뀌지 않습니다.",
1322
+ "figure.text.motion-through-explained": "관절 위치에서 회전축이 지나는 점까지의 거리입니다. 부품은 그대로 두고 축만 옮깁니다.",
1323
+ "figure.text.motion-through-follows": "길이를 따르는 거리라 여기서 고치지 않습니다.",
1324
+ "figure.text.default-moved-to-end": "기본 자세 {control} {from} → {to}(새 범위 끝)으로 옮겼습니다.",
1325
+ "figure.label.mirror-with-hanging": "아래 붙은 부품 {count}개와 함께",
1326
+ "figure.label.mirror-names": "이름 앞머리",
1327
+ "figure.label.mirror-names-from": "바꿀 앞머리",
1328
+ "figure.label.mirror-names-to": "새 앞머리",
1329
+ "figure.label.mirror-keep-motion": "움직임 방향 유지",
1330
+ "figure.text.mirror-keep-motion-explained": "켜면 복사본의 관절이 원본과 같은 쪽으로 돕니다(뒷다리 무릎이 앞다리처럼 꺾임). 끄면 거울처럼 반대로 돕니다.",
1331
+ "figure.text.mirror-keep-needs-zero": "{part}: 움직임 방향을 유지하면 모든 조작값 0에서 대칭을 확인하는데, 0에 닿지 못하는 조작값이 있습니다.",
1332
+ "figure.label.key-seconds": "키 시각",
1333
+ "figure.label.key-value": "키 값",
1334
+ "figure.text.key-starts-the-clip": "클립은 0초에서 시작하므로 첫 키의 시각은 바꾸지 않습니다.",
1335
+ "figure.text.align-to-floor-hanging": "이 부품과 아래 붙은 부품 전체에서 가장 낮은 점이 바닥(Y=0)에 닿도록 지금 자세 그대로 옮깁니다.",
1336
+ "figure.text.align-to-ceiling-hanging": "이 부품과 아래 붙은 부품 전체에서 가장 높은 점이 천장(Y=0)에 닿도록 지금 자세 그대로 옮깁니다.",
1337
+ "figure.text.align-to-wall-hanging": "이 부품과 아래 붙은 부품 전체에서 가장 뒤쪽 점이 벽(Z=0)에 닿도록 지금 자세 그대로 옮깁니다.",
1338
+ "figure.text.align-to-center-hanging": "이 부품과 아래 붙은 부품 전체의 가운데를 기준점 높이(Y=0)에 맞춥니다.",
1339
+ "figure.text.align-refused-gap-rule": "{part} 부품의 붙임 간격은 크기를 따르는 식이라 숫자로 옮길 수 없습니다. 붙임 설정에서 간격을 바꿔 주세요.",
1340
+ "figure.label.preview-view-perspective": "원근",
1341
+ "figure.label.preview-view-front": "앞",
1342
+ "figure.label.preview-view-right": "옆",
1343
+ "figure.label.preview-view-top": "위",
1344
+ "figure.button.controls-fold": "조작 접기",
1345
+ "figure.button.controls-unfold": "조작 펼치기",
1346
+ "figure.label.data-value-from-sample": "견본 데이터",
1347
+ "figure.text.data-value-from-sample": "데이터 탭의 견본 데이터가 이 값을 정합니다. 데이터 탭에서 「미리보기에 적용」을 끄면 여기서 바꿀 수 있습니다.",
1348
+ "figure.button.copy-clip": "클립 복사",
1349
+ "figure.text.copy-clip-explained": "모든 트랙을 새 이름의 클립으로 복사하고 같은 동작 묶음에 넣습니다. 길이와 키는 복사한 뒤 따로 바꿉니다.",
1350
+ "figure.button.copy-track": "트랙 복사·밀기",
1351
+ "figure.label.copy-track-onto": "대상 조작값",
1352
+ "figure.label.copy-track-itself": "이 트랙 그대로",
1353
+ "figure.label.copy-track-later": "늦추기",
1354
+ "figure.text.copy-track-no-loop": "반복하는 트랙만 시간을 밀 수 있습니다.",
1355
+ "figure.button.shift-track": "시간 밀기",
1356
+ "figure.button.copy-track-apply": "복사",
1357
+ "figure.text.copy-clip-needs-group": "복사본은 같은 조작값을 움직이므로 동작 묶음에 넣은 클립만 복사할 수 있습니다.",
1358
+ "figure.label.primitive-pipe": "관",
1359
+ "figure.label.primitive-duct": "덕트",
1360
+ "figure.label.primitive-tapered-box": "가늘어지는 상자",
1361
+ "figure.label.section-editor-top": "윗면 크기 바꾸기",
1362
+ "figure.label.section-editor-top-across": "윗면 {axis}",
1363
+ "figure.label.section-editor-top-corner": "윗면 모서리 반지름",
1364
+ "figure.text.section-editor-top-no-inside": "속 공간이 있는 상자는 윗면 크기를 바꿀 수 없습니다.",
1365
+ "figure.text.section-issue-top": "윗면의 크기와 모서리가 맞지 않습니다. 모서리 반지름은 짧은 변의 절반까지입니다.",
1366
+ "figure.label.group-pipe": "관",
1367
+ "figure.label.pipe-section": "단면",
1368
+ "figure.label.pipe-section-round": "원",
1369
+ "figure.label.pipe-section-square": "사각",
1370
+ "figure.label.pipe-diameter": "지름",
1371
+ "figure.label.pipe-width": "너비(X)",
1372
+ "figure.label.pipe-depth": "깊이(Z)",
1373
+ "figure.label.pipe-round": "모서리 반지름",
1374
+ "figure.label.pipe-wall": "벽 두께",
1375
+ "figure.text.pipe-wall-zero": "0이면 속이 찬 막대입니다.",
1376
+ "figure.label.pipe-path": "경로",
1377
+ "figure.label.pipe-line-length": "직선 길이",
1378
+ "figure.label.pipe-bend-radius": "굽힘 반지름",
1379
+ "figure.label.pipe-bend-angle": "굽힘 각도(°)",
1380
+ "figure.label.pipe-bend-toward": "굽는 방향",
1381
+ "figure.button.pipe-remove-piece": "구간 빼기",
1382
+ "figure.button.pipe-add-line": "직선 더하기",
1383
+ "figure.button.pipe-add-bend": "굽힘 더하기",
1384
+ "figure.text.pipe-bend-tight": "{piece}번 굽힘이 관보다 좁습니다. 굽힘 반지름을 {least} mm보다 크게 해 주세요.",
1385
+ "figure.text.pipe-wall-too-thick": "벽이 두꺼워 속이 남지 않습니다. 벽 두께를 반지름보다 얇게 해 주세요.",
1386
+ "figure.text.pipe-self-crossing": "경로가 관 자신을 지나갑니다. 굽힘 각도나 직선 길이를 바꿔 주세요.",
1387
+ "figure.label.pipe-end-diameter": "끝 지름",
1388
+ "figure.label.pipe-end-width": "끝 너비(X)",
1389
+ "figure.label.pipe-end-depth": "끝 깊이(Z)",
1390
+ "figure.text.pipe-end-same": "시작과 같은 크기입니다. 바꾸면 끝으로 갈수록 그 크기가 됩니다.",
1391
+ "figure.button.pipe-end-same": "한 굵기로"
1309
1392
  }
@@ -29,6 +29,7 @@
29
29
  "figure.button.move-part-up": "move up",
30
30
  "figure.button.new-figure": "new figure",
31
31
  "figure.button.pose-as-default": "jadikan postur ini lalai",
32
+ "figure.button.clear-tried": "kembali ke pose lalai",
32
33
  "figure.button.release-figure": "terbitkan",
33
34
  "figure.button.remove": "buang",
34
35
  "figure.button.remove-part": "delete",
@@ -125,6 +126,7 @@
125
126
  "figure.label.coordinate-ground": "coordinate ground",
126
127
  "figure.label.detail-L": "detailed",
127
128
  "figure.label.detail-XL": "fine",
129
+ "figure.label.detail-UNLIMITED": "tanpa had",
128
130
  "figure.label.detail-M": "normal",
129
131
  "figure.label.detail-S": "simple",
130
132
  "figure.label.detail-level": "detail level",
@@ -191,6 +193,7 @@
191
193
  "figure.label.palette-purpose-surface": "surface and background · broad background faces",
192
194
  "figure.label.palette-purpose-warning": "warning signal · an attention-needed indicator",
193
195
  "figure.label.palette-role": "color role",
196
+ "figure.label.own-colour": "warna sendiri",
194
197
  "figure.label.palette-token": "palette token",
195
198
  "figure.label.part": "part",
196
199
  "figure.label.part-material": "material",
@@ -411,7 +414,7 @@
411
414
  "figure.text.coordinate-ground-explained": "melukis asalan dan grid pada lantai",
412
415
  "figure.text.delete-figure-confirm": "padam {name}?",
413
416
  "figure.text.designate-in-properties": "belum ada yang ditetapkan. pilih bahagian dan tetapkan peranannya dalam tab sifat.",
414
- "figure.text.detail-level-explained": "S untuk papan tanda dan tiang, M untuk kebanyakan peralatan, L untuk peralatan besar yang menjadi tumpuan, XL untuk mekanisme banyak sendi seperti robot berkaki. tahap menentukan had bahagian.",
417
+ "figure.text.detail-level-explained": "S untuk papan tanda atau tiang, M untuk kebanyakan peralatan, L untuk peralatan besar yang menjadi tumpuan skrin, XL untuk mekanisme banyak sendi seperti robot berkaki. Tahap menetapkan had bahagian. Tanpa had untuk figura yang dibuat untuk ditunjukkan, bukan diletakkan beratus-ratus: bahagian dan bahagian bergeraknya tidak dihadkan.",
415
418
  "figure.text.discard-changes-and-start-new": "ada perubahan belum disimpan. buang dan mulakan yang baharu?",
416
419
  "figure.text.leave-without-saving": "ada perubahan yang belum disimpan. buang dan keluar?",
417
420
  "figure.button.leave-without-saving": "buang dan keluar",
@@ -454,7 +457,8 @@
454
457
  "figure.text.joint-value-beyond-limits": "di luar had sendi.",
455
458
  "figure.text.limit-comes-from-level": "the detail level sets this limit.",
456
459
  "figure.text.maturity-blocked-no-binding": "paparan keadaan belum diukur.",
457
- "figure.text.maturity-blocked-no-detail-level": "format tiada tahap perincian. had dan skala penempatan di atas menggantikannya.",
460
+ "figure.text.maturity-blocked-no-detail-level": "tiada tahap perincian ditetapkan, jadi ini tidak diukur.",
461
+ "figure.text.maturity-blocked-unlimited": "tahap tanpa had tidak mengira bahagian terhadap had.",
458
462
  "figure.text.maturity-blocked-no-parts": "nothing to measure — there are no parts.",
459
463
  "figure.text.maturity-consistency-because": "menyemak penggunaan tekstur, bilangan segmen yang disyorkan dan bilangan bahan.",
460
464
  "figure.text.maturity-consistency-clean": "no issues",
@@ -465,6 +469,11 @@
465
469
  "figure.text.maturity-scale-because": "measured against a drawing holding 500 assets.",
466
470
  "figure.text.mirror-explained": "adds a mirrored copy on the other side — for parts that come in pairs, like legs or arms.",
467
471
  "figure.text.mirror-would-overlap": "already centred — a mirror would land in the same place and overlap.",
472
+ "figure.text.mirror-not-symmetric": "{part} dilekatkan pada bahagian di luar satah tengah, jadi salinan cermin tidak boleh berdiri di sebelah lain.",
473
+ "figure.text.mirror-turned-parent": "bahagian tempat {part} dilekatkan berpusing di luar paksi X, Y dan Z, jadi ia tidak boleh dicerminkan.",
474
+ "figure.text.mirror-surface": "{part} diletakkan pada permukaan melengkung dan tidak boleh dicerminkan.",
475
+ "figure.text.mirror-unplaced": "{part} tiada kedudukan untuk dicerminkan.",
476
+ "figure.text.unknown-input": "figura ini tiada nilai {input}.",
468
477
  "figure.text.mode-edit-explained": "place and edit parts. always at the base size.",
469
478
  "figure.text.mode-preview-explained": "how it looks placed on a drawing. base size next to the enlarged ones.",
470
479
  "figure.text.more-segment-options": "advanced segment counts",
@@ -472,6 +481,7 @@
472
481
  "figure.text.must-fix-to-release": "perbaiki dahulu",
473
482
  "figure.text.n-of-limit": "{used} / {limit}",
474
483
  "figure.text.n-parts-at-most": "up to {limit} parts",
484
+ "figure.text.no-part-limit": "tiada had bahagian",
475
485
  "figure.text.n-triangles": "{count} triangles",
476
486
  "figure.text.no-figure-yet": "no figures yet",
477
487
  "figure.text.no-findings": "nothing to report.",
@@ -485,6 +495,7 @@
485
495
  "figure.text.pick-a-shape-above-to-start": "pick a shape above to add the first part.",
486
496
  "figure.text.placement-explained": "menetapkan satah rujukan dalam adegan 3D (lantai: AGV/penghantar, siling: OHT/hois, pusat: sensor/dron).",
487
497
  "figure.text.pose-as-default-explained": "Menulis postur semasa sebagai nilai lalai parameter, supaya figura berdiri begini apabila tiada nilai diberi.",
498
+ "figure.text.clear-tried-explained": "mengosongkan nilai kawalan yang dicuba di sini. pose lalai yang disimpan tidak berubah, dan klip menggerakkannya semula.",
488
499
  "figure.text.preview-blocked-by-errors": "pratonton tidak dapat dipaparkan kerana ralat format. lihat tab kematangan untuk sebabnya.",
489
500
  "figure.text.put-on-floor": "Mengalihkan bahagian sekali supaya bahagian bawahnya di lantai (Y=0). Ia tidak kekal di situ apabila saiz berubah; untuk itu, gunakan “Ikut saiz, dilekatkan pada lantai”.",
490
501
  "figure.text.range-needs-room": "maksimum mesti melebihi minimum.",
@@ -715,6 +726,7 @@
715
726
  "figure.label.motion-own-control": "kawalan sendiri",
716
727
  "figure.label.motion-multiplier": "pendarab",
717
728
  "figure.label.motion-offset": "ofset",
729
+ "figure.label.motion-through": "paksi melalui",
718
730
  "figure.label.motion-follows": "bergerak bersama {joint} × {multiplier} + {offset}",
719
731
  "figure.label.face-opening-left": "bukaan kiri",
720
732
  "figure.label.face-opening-right": "bukaan kanan",
@@ -1305,5 +1317,76 @@
1305
1317
  "figure.button.save-as-copy": "simpan sebagai salinan",
1306
1318
  "figure.button.open-latest": "buka versi terkini dalam tab baharu",
1307
1319
  "figure.button.overwrite-latest": "tulis ganti dengan suntingan saya",
1308
- "figure.text.overwrite-latest-warning": "Perubahan dalam versi terkini akan diganti oleh suntingan anda dan tidak disimpan. Tulis ganti?"
1320
+ "figure.text.overwrite-latest-warning": "Perubahan dalam versi terkini akan diganti oleh suntingan anda dan tidak disimpan. Tulis ganti?",
1321
+ "figure.text.own-colour-explained": "menetapkan warna mengikut nilainya, bukan peranan palet. warna ini tidak berubah mengikut tema papan.",
1322
+ "figure.text.motion-through-explained": "jarak dari sendi ke titik yang dilalui paksi putaran. paksi dipindahkan ke situ; bahagian kekal di tempatnya.",
1323
+ "figure.text.motion-through-follows": "jarak yang mengikut panjang; tidak diubah di sini.",
1324
+ "figure.text.default-moved-to-end": "pose lalai {control} dipindahkan {from} → {to}, hujung julat baharu.",
1325
+ "figure.label.mirror-with-hanging": "bersama {count} bahagian yang tergantung padanya",
1326
+ "figure.label.mirror-names": "awalan nama",
1327
+ "figure.label.mirror-names-from": "awalan untuk ditukar",
1328
+ "figure.label.mirror-names-to": "awalan baharu",
1329
+ "figure.label.mirror-keep-motion": "kekalkan arah gerakan",
1330
+ "figure.text.mirror-keep-motion-explained": "hidup, sendi salinan berpusing seperti asal (lutut belakang membengkok seperti depan); mati, berpusing seperti cermin.",
1331
+ "figure.text.mirror-keep-needs-zero": "{part}: dengan arah gerakan dikekalkan cermin disemak pada semua kawalan 0, dan satu kawalan tidak boleh mencapai 0.",
1332
+ "figure.label.key-seconds": "masa kunci",
1333
+ "figure.label.key-value": "nilai kunci",
1334
+ "figure.text.key-starts-the-clip": "klip bermula pada 0 s, jadi masa kunci pertama kekal.",
1335
+ "figure.text.align-to-floor-hanging": "Mengalihkannya, dalam postur semasa, supaya titik terendah bahagian ini dan semua yang dipasang di bawahnya berada di lantai (Y=0).",
1336
+ "figure.text.align-to-ceiling-hanging": "Mengalihkannya, dalam postur semasa, supaya titik tertinggi bahagian ini dan semua yang dipasang di bawahnya menyentuh siling (Y=0).",
1337
+ "figure.text.align-to-wall-hanging": "Mengalihkannya, dalam postur semasa, supaya titik paling belakang bahagian ini dan semua yang dipasang di bawahnya menyentuh dinding (Z=0).",
1338
+ "figure.text.align-to-center-hanging": "Memusatkan bahagian ini dan semua yang dipasang di bawahnya pada ketinggian asalan (Y=0).",
1339
+ "figure.text.align-refused-gap-rule": "Jarak {part} ke satah mengikut saiznya, jadi tiada nombor untuk dialihkan. Tukar jarak dalam pemasangannya.",
1340
+ "figure.label.preview-view-perspective": "perspektif",
1341
+ "figure.label.preview-view-front": "depan",
1342
+ "figure.label.preview-view-right": "sisi",
1343
+ "figure.label.preview-view-top": "atas",
1344
+ "figure.button.controls-fold": "sembunyi kawalan",
1345
+ "figure.button.controls-unfold": "tunjuk kawalan",
1346
+ "figure.label.data-value-from-sample": "data sampel",
1347
+ "figure.text.data-value-from-sample": "Sampel dalam tab data memberi nilai ini. Matikan 「guna pada pratonton」 dalam tab data untuk menetapkannya di sini.",
1348
+ "figure.button.copy-clip": "salin klip",
1349
+ "figure.text.copy-clip-explained": "Menyalin semua trek ke klip bernama baharu, dalam kumpulan gerakan yang sama. Tukar panjang dan kuncinya kemudian.",
1350
+ "figure.button.copy-track": "salin atau anjak trek",
1351
+ "figure.label.copy-track-onto": "kawalan sasaran",
1352
+ "figure.label.copy-track-itself": "trek ini",
1353
+ "figure.label.copy-track-later": "lewatkan",
1354
+ "figure.text.copy-track-no-loop": "Hanya trek berulang boleh dianjak masa.",
1355
+ "figure.button.shift-track": "anjak",
1356
+ "figure.button.copy-track-apply": "salin",
1357
+ "figure.text.copy-clip-needs-group": "Salinan menggerakkan kawalan yang sama, jadi hanya klip dalam kumpulan gerakan boleh disalin.",
1358
+ "figure.label.primitive-pipe": "paip",
1359
+ "figure.label.primitive-duct": "salur",
1360
+ "figure.label.primitive-tapered-box": "kotak tirus",
1361
+ "figure.label.section-editor-top": "ubah saiz bahagian atas",
1362
+ "figure.label.section-editor-top-across": "atas {axis}",
1363
+ "figure.label.section-editor-top-corner": "jejari bucu atas",
1364
+ "figure.text.section-editor-top-no-inside": "Kotak yang ada ruang dalam tidak boleh mengubah saiz bahagian atasnya.",
1365
+ "figure.text.section-issue-top": "Saiz dan bucu atas tidak sepadan: jejari bucu paling banyak separuh sisi yang lebih pendek.",
1366
+ "figure.label.group-pipe": "paip",
1367
+ "figure.label.pipe-section": "keratan",
1368
+ "figure.label.pipe-section-round": "bulat",
1369
+ "figure.label.pipe-section-square": "segi empat",
1370
+ "figure.label.pipe-diameter": "diameter",
1371
+ "figure.label.pipe-width": "lebar (X)",
1372
+ "figure.label.pipe-depth": "dalam (Z)",
1373
+ "figure.label.pipe-round": "jejari bucu",
1374
+ "figure.label.pipe-wall": "dinding",
1375
+ "figure.text.pipe-wall-zero": "0 menjadikannya batang padat.",
1376
+ "figure.label.pipe-path": "laluan",
1377
+ "figure.label.pipe-line-length": "panjang lurus",
1378
+ "figure.label.pipe-bend-radius": "jejari lengkok",
1379
+ "figure.label.pipe-bend-angle": "sudut lengkok (°)",
1380
+ "figure.label.pipe-bend-toward": "lengkok ke arah",
1381
+ "figure.button.pipe-remove-piece": "buang bahagian ini",
1382
+ "figure.button.pipe-add-line": "tambah bahagian lurus",
1383
+ "figure.button.pipe-add-bend": "tambah lengkok",
1384
+ "figure.text.pipe-bend-tight": "Lengkok {piece} lebih sempit daripada paip. Jadikan jejarinya lebih daripada {least} mm.",
1385
+ "figure.text.pipe-wall-too-thick": "Dinding tidak meninggalkan ruang dalam. Jadikannya lebih nipis daripada jejari.",
1386
+ "figure.text.pipe-self-crossing": "Laluan melalui paip itu sendiri. Ubah sudut lengkok atau panjang bahagian lurus.",
1387
+ "figure.label.pipe-end-diameter": "diameter hujung",
1388
+ "figure.label.pipe-end-width": "lebar hujung (X)",
1389
+ "figure.label.pipe-end-depth": "dalam hujung (Z)",
1390
+ "figure.text.pipe-end-same": "Sama seperti permulaan. Jika diubah, ia mencapai saiz itu di hujung, sekata sepanjangnya.",
1391
+ "figure.button.pipe-end-same": "satu saiz sepanjangnya"
1309
1392
  }
@@ -29,6 +29,7 @@
29
29
  "figure.button.move-part-up": "move up",
30
30
  "figure.button.new-figure": "new figure",
31
31
  "figure.button.pose-as-default": "将此姿态设为默认",
32
+ "figure.button.clear-tried": "回到默认姿态",
32
33
  "figure.button.release-figure": "发布",
33
34
  "figure.button.remove": "删除",
34
35
  "figure.button.remove-part": "delete",
@@ -125,6 +126,7 @@
125
126
  "figure.label.coordinate-ground": "coordinate ground",
126
127
  "figure.label.detail-L": "detailed",
127
128
  "figure.label.detail-XL": "fine",
129
+ "figure.label.detail-UNLIMITED": "无限制",
128
130
  "figure.label.detail-M": "normal",
129
131
  "figure.label.detail-S": "simple",
130
132
  "figure.label.detail-level": "detail level",
@@ -191,6 +193,7 @@
191
193
  "figure.label.palette-purpose-surface": "surface and background · broad background faces",
192
194
  "figure.label.palette-purpose-warning": "warning signal · an attention-needed indicator",
193
195
  "figure.label.palette-role": "color role",
196
+ "figure.label.own-colour": "自定颜色",
194
197
  "figure.label.palette-token": "palette token",
195
198
  "figure.label.part": "part",
196
199
  "figure.label.part-material": "material",
@@ -411,7 +414,7 @@
411
414
  "figure.text.coordinate-ground-explained": "在地面显示原点和网格",
412
415
  "figure.text.delete-figure-confirm": "删除 {name}?",
413
416
  "figure.text.designate-in-properties": "还没有指定部件。请选择部件,在属性标签页中设置「在能力中的角色」。",
414
- "figure.text.detail-level-explained": "S 用于标志和立柱,M 用于大多数设备,L 用于作为画面中心的大型设备,XL 用于腿式机器人等关节众多的装置。等级决定部件数量上限。",
417
+ "figure.text.detail-level-explained": "S 用于标志·立柱,M 用于大多数设备,L 用于画面中心的大型设备,XL 用于像带腿机器人这样关节多的装置。等级决定部件数量上限。无限制用于展示而非大量布置的图形,不限制部件数和独立运动的部件数。",
415
418
  "figure.text.discard-changes-and-start-new": "有未保存的更改。放弃并新建吗?",
416
419
  "figure.text.leave-without-saving": "有未保存的更改。放弃并离开吗?",
417
420
  "figure.button.leave-without-saving": "放弃并离开",
@@ -454,7 +457,8 @@
454
457
  "figure.text.joint-value-beyond-limits": "超出关节的活动范围。",
455
458
  "figure.text.limit-comes-from-level": "the detail level sets this limit.",
456
459
  "figure.text.maturity-blocked-no-binding": "状态表现尚未测量。",
457
- "figure.text.maturity-blocked-no-detail-level": "格式没有细节等级。以上方的限额和布置规模进行判断。",
460
+ "figure.text.maturity-blocked-no-detail-level": "未设定细节等级,因此不测量。",
461
+ "figure.text.maturity-blocked-unlimited": "无限制等级不按上限计算部件数。",
458
462
  "figure.text.maturity-blocked-no-parts": "nothing to measure — there are no parts.",
459
463
  "figure.text.maturity-consistency-because": "检查纹理使用、推荐分段数以及材质种类数量。",
460
464
  "figure.text.maturity-consistency-clean": "no issues",
@@ -465,6 +469,11 @@
465
469
  "figure.text.maturity-scale-because": "measured against a drawing holding 500 assets.",
466
470
  "figure.text.mirror-explained": "adds a mirrored copy on the other side — for parts that come in pairs, like legs or arms.",
467
471
  "figure.text.mirror-would-overlap": "already centred — a mirror would land in the same place and overlap.",
472
+ "figure.text.mirror-not-symmetric": "{part} 附着在偏离中心面的部件上,无法在另一侧对称复制。",
473
+ "figure.text.mirror-turned-parent": "{part} 所附着的部件偏离 X、Y、Z 轴旋转,无法对称复制。",
474
+ "figure.text.mirror-surface": "{part} 附着在曲面上,无法对称复制。",
475
+ "figure.text.mirror-unplaced": "{part} 没有决定位置的值,无法对称复制。",
476
+ "figure.text.unknown-input": "此图形没有值 {input}。",
468
477
  "figure.text.mode-edit-explained": "place and edit parts. always at the base size.",
469
478
  "figure.text.mode-preview-explained": "how it looks placed on a drawing. base size next to the enlarged ones.",
470
479
  "figure.text.more-segment-options": "advanced segment counts",
@@ -472,6 +481,7 @@
472
481
  "figure.text.must-fix-to-release": "需要修改的项",
473
482
  "figure.text.n-of-limit": "{used} / {limit}",
474
483
  "figure.text.n-parts-at-most": "up to {limit} parts",
484
+ "figure.text.no-part-limit": "无部件数量上限",
475
485
  "figure.text.n-triangles": "{count} triangles",
476
486
  "figure.text.no-figure-yet": "no figures yet",
477
487
  "figure.text.no-findings": "nothing to report.",
@@ -485,6 +495,7 @@
485
495
  "figure.text.pick-a-shape-above-to-start": "pick a shape above to add the first part.",
486
496
  "figure.text.placement-explained": "设置 3D 场景中的基准面 (地面: AGV/输送机,天花板: OHT/吊车,中心: 传感器/无人机)。",
487
497
  "figure.text.pose-as-default-explained": "把当前姿态写为参数默认值。没有给值时,图形以此姿态站立。",
498
+ "figure.text.clear-tried-explained": "清除在预览中修改的控制值。已保存的默认姿态不变,剪辑会再次驱动它。",
488
499
  "figure.text.preview-blocked-by-errors": "由于格式错误无法显示预览。请在成熟度标签页查看原因。",
489
500
  "figure.text.put-on-floor": "只把当前位置的底面对齐到地面(Y=0)。尺寸变化时不会跟随。若要保持附着,请使用“附着地面并跟随尺寸”。",
490
501
  "figure.text.range-needs-room": "最大值必须大于最小值。",
@@ -715,6 +726,7 @@
715
726
  "figure.label.motion-own-control": "自身控制值",
716
727
  "figure.label.motion-multiplier": "倍率",
717
728
  "figure.label.motion-offset": "偏移",
729
+ "figure.label.motion-through": "轴经过的点",
718
730
  "figure.label.motion-follows": "跟随 {joint} × {multiplier} + {offset}",
719
731
  "figure.label.face-opening-left": "开口 左侧",
720
732
  "figure.label.face-opening-right": "开口 右侧",
@@ -1305,5 +1317,76 @@
1305
1317
  "figure.button.save-as-copy": "另存为副本",
1306
1318
  "figure.button.open-latest": "在新标签页中打开最新版本",
1307
1319
  "figure.button.overwrite-latest": "用我的编辑覆盖",
1308
- "figure.text.overwrite-latest-warning": "最新版本中的更改将被你的编辑替换且不会保留。要覆盖吗?"
1320
+ "figure.text.overwrite-latest-warning": "最新版本中的更改将被你的编辑替换且不会保留。要覆盖吗?",
1321
+ "figure.text.own-colour-explained": "直接指定颜色值,而不是调色板角色。此颜色不随看板主题变化。",
1322
+ "figure.text.motion-through-explained": "从关节位置到旋转轴经过之点的距离。部件不动,只移动轴。",
1323
+ "figure.text.motion-through-follows": "这是随长度变化的距离,不在此修改。",
1324
+ "figure.text.default-moved-to-end": "默认姿态 {control} 已从 {from} 移到 {to}(新范围的端点)。",
1325
+ "figure.label.mirror-with-hanging": "连同其下 {count} 个部件",
1326
+ "figure.label.mirror-names": "名称前缀",
1327
+ "figure.label.mirror-names-from": "要替换的前缀",
1328
+ "figure.label.mirror-names-to": "新前缀",
1329
+ "figure.label.mirror-keep-motion": "保持运动方向",
1330
+ "figure.text.mirror-keep-motion-explained": "开启时副本关节与原件同向转动(后腿膝盖像前腿一样弯曲);关闭时像镜像一样反向转动。",
1331
+ "figure.text.mirror-keep-needs-zero": "{part}:保持运动方向时在所有控制值为 0 时检查对称,但有控制值无法到达 0。",
1332
+ "figure.label.key-seconds": "关键帧时间",
1333
+ "figure.label.key-value": "关键帧值",
1334
+ "figure.text.key-starts-the-clip": "剪辑从 0 秒开始,第一个关键帧的时间不变。",
1335
+ "figure.text.align-to-floor-hanging": "保持当前姿态移动,使该部件及其下方所有部件的最低点落在地面(Y=0)上。",
1336
+ "figure.text.align-to-ceiling-hanging": "保持当前姿态移动,使该部件及其下方所有部件的最高点贴到天花板(Y=0)。",
1337
+ "figure.text.align-to-wall-hanging": "保持当前姿态移动,使该部件及其下方所有部件的最后方点贴到墙面(Z=0)。",
1338
+ "figure.text.align-to-center-hanging": "将该部件及其下方所有部件的中心对齐到原点高度(Y=0)。",
1339
+ "figure.text.align-refused-gap-rule": "{part} 与平面的间距随尺寸计算,没有可移动的数值。请在连接设置中修改间距。",
1340
+ "figure.label.preview-view-perspective": "透视",
1341
+ "figure.label.preview-view-front": "前",
1342
+ "figure.label.preview-view-right": "侧",
1343
+ "figure.label.preview-view-top": "顶",
1344
+ "figure.button.controls-fold": "收起控制",
1345
+ "figure.button.controls-unfold": "展开控制",
1346
+ "figure.label.data-value-from-sample": "示例数据",
1347
+ "figure.text.data-value-from-sample": "此值由数据页的示例数据决定。在数据页关闭「应用到预览」后可在此修改。",
1348
+ "figure.button.copy-clip": "复制片段",
1349
+ "figure.text.copy-clip-explained": "将所有轨道复制到新名称的片段中,并放入同一动作组。之后再修改时长和关键帧。",
1350
+ "figure.button.copy-track": "复制或平移轨道",
1351
+ "figure.label.copy-track-onto": "目标控制值",
1352
+ "figure.label.copy-track-itself": "本轨道",
1353
+ "figure.label.copy-track-later": "延后",
1354
+ "figure.text.copy-track-no-loop": "只有循环的轨道可以平移时间。",
1355
+ "figure.button.shift-track": "平移",
1356
+ "figure.button.copy-track-apply": "复制",
1357
+ "figure.text.copy-clip-needs-group": "副本驱动相同的控制值,因此只能复制已放入动作组的片段。",
1358
+ "figure.label.primitive-pipe": "管",
1359
+ "figure.label.primitive-duct": "风管",
1360
+ "figure.label.primitive-tapered-box": "渐变箱",
1361
+ "figure.label.section-editor-top": "改变顶面大小",
1362
+ "figure.label.section-editor-top-across": "顶面 {axis}",
1363
+ "figure.label.section-editor-top-corner": "顶面圆角半径",
1364
+ "figure.text.section-editor-top-no-inside": "有内部空间的箱体不能改变顶面大小。",
1365
+ "figure.text.section-issue-top": "顶面的尺寸与圆角不匹配:圆角半径最多为短边的一半。",
1366
+ "figure.label.group-pipe": "管",
1367
+ "figure.label.pipe-section": "截面",
1368
+ "figure.label.pipe-section-round": "圆",
1369
+ "figure.label.pipe-section-square": "方",
1370
+ "figure.label.pipe-diameter": "直径",
1371
+ "figure.label.pipe-width": "宽度(X)",
1372
+ "figure.label.pipe-depth": "深度(Z)",
1373
+ "figure.label.pipe-round": "圆角半径",
1374
+ "figure.label.pipe-wall": "壁厚",
1375
+ "figure.text.pipe-wall-zero": "为 0 时是实心杆。",
1376
+ "figure.label.pipe-path": "路径",
1377
+ "figure.label.pipe-line-length": "直段长度",
1378
+ "figure.label.pipe-bend-radius": "弯曲半径",
1379
+ "figure.label.pipe-bend-angle": "弯曲角度(°)",
1380
+ "figure.label.pipe-bend-toward": "弯曲方向",
1381
+ "figure.button.pipe-remove-piece": "移除此段",
1382
+ "figure.button.pipe-add-line": "添加直段",
1383
+ "figure.button.pipe-add-bend": "添加弯曲",
1384
+ "figure.text.pipe-bend-tight": "第 {piece} 个弯曲比管更窄。请将弯曲半径设为大于 {least} mm。",
1385
+ "figure.text.pipe-wall-too-thick": "壁太厚,没有内部空间。请让壁厚小于半径。",
1386
+ "figure.text.pipe-self-crossing": "路径穿过了管自身。请修改弯曲角度或直段长度。",
1387
+ "figure.label.pipe-end-diameter": "末端直径",
1388
+ "figure.label.pipe-end-width": "末端宽度(X)",
1389
+ "figure.label.pipe-end-depth": "末端深度(Z)",
1390
+ "figure.text.pipe-end-same": "与起点相同。修改后沿长度均匀变化到末端的大小。",
1391
+ "figure.button.pipe-end-same": "整段同一粗细"
1309
1392
  }