@things-factory/figure-ui 10.1.25 → 10.1.27

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 (50) hide show
  1. package/client/graphql/index.ts +4 -1
  2. package/client/modeller/figure-animations.ts +229 -29
  3. package/client/modeller/figure-history-panel.ts +2 -2
  4. package/client/modeller/figure-inspector.ts +151 -5
  5. package/client/modeller/figure-preview.ts +5 -5
  6. package/client/modeller/figure-source.ts +33 -45
  7. package/client/modeller/figure-view.ts +20 -0
  8. package/client/modeller/joint-edits.ts +201 -0
  9. package/client/modeller/proposal-session.ts +8 -2
  10. package/client/pages/figure-modeller-page.ts +50 -15
  11. package/dist-client/graphql/index.js +4 -1
  12. package/dist-client/graphql/index.js.map +1 -1
  13. package/dist-client/modeller/figure-animations.d.ts +19 -0
  14. package/dist-client/modeller/figure-animations.js +206 -22
  15. package/dist-client/modeller/figure-animations.js.map +1 -1
  16. package/dist-client/modeller/figure-history-panel.js +2 -2
  17. package/dist-client/modeller/figure-history-panel.js.map +1 -1
  18. package/dist-client/modeller/figure-inspector.d.ts +11 -0
  19. package/dist-client/modeller/figure-inspector.js +124 -4
  20. package/dist-client/modeller/figure-inspector.js.map +1 -1
  21. package/dist-client/modeller/figure-preview.js +5 -5
  22. package/dist-client/modeller/figure-preview.js.map +1 -1
  23. package/dist-client/modeller/figure-source.d.ts +12 -1
  24. package/dist-client/modeller/figure-source.js +13 -40
  25. package/dist-client/modeller/figure-source.js.map +1 -1
  26. package/dist-client/modeller/figure-view.d.ts +16 -0
  27. package/dist-client/modeller/figure-view.js +15 -0
  28. package/dist-client/modeller/figure-view.js.map +1 -1
  29. package/dist-client/modeller/joint-edits.d.ts +29 -0
  30. package/dist-client/modeller/joint-edits.js +175 -0
  31. package/dist-client/modeller/joint-edits.js.map +1 -0
  32. package/dist-client/modeller/proposal-session.d.ts +5 -0
  33. package/dist-client/modeller/proposal-session.js +3 -2
  34. package/dist-client/modeller/proposal-session.js.map +1 -1
  35. package/dist-client/pages/figure-modeller-page.d.ts +2 -22
  36. package/dist-client/pages/figure-modeller-page.js +46 -15
  37. package/dist-client/pages/figure-modeller-page.js.map +1 -1
  38. package/dist-client/tsconfig.tsbuildinfo +1 -0
  39. package/dist-server/tsconfig.tsbuildinfo +1 -0
  40. package/package.json +3 -3
  41. package/test/ai-proposal-contract.test.ts +3 -2
  42. package/test/figure-source.test.ts +43 -57
  43. package/test/i18n-prefix-guard.test.ts +2 -3
  44. package/test/joint-edits.test.ts +130 -0
  45. package/test/preview-board-depth.test.ts +27 -0
  46. package/translations/en.json +119 -80
  47. package/translations/ja.json +208 -58
  48. package/translations/ko.json +139 -100
  49. package/translations/ms.json +206 -56
  50. package/translations/zh.json +207 -57
@@ -1,5 +1,11 @@
1
1
  {
2
+ "figure.button.add-channel": "チャンネルを追加",
3
+ "figure.button.add-clip": "clip を追加",
4
+ "figure.button.add-key": "キーを追加",
5
+ "figure.button.add-parameter": "パラメーターを追加",
6
+ "figure.button.apply-fix": "修正を適用 · {part} {axis} 固定面: {from} → {to}",
2
7
  "figure.button.ask": "ask",
8
+ "figure.button.cancel": "キャンセル",
3
9
  "figure.button.center-x": "centre X",
4
10
  "figure.button.center-z": "centre Z",
5
11
  "figure.button.close": "close",
@@ -11,8 +17,12 @@
11
17
  "figure.button.move-part-down": "move down",
12
18
  "figure.button.move-part-up": "move up",
13
19
  "figure.button.new-figure": "new figure",
20
+ "figure.button.pivot-clear": "部品の中心",
21
+ "figure.button.pivot-set": "設定",
22
+ "figure.button.preview-fix": "修正案をプレビュー · {part} {axis} 固定面: {from} → {to}",
14
23
  "figure.button.redo": "やり直す",
15
24
  "figure.button.release-figure": "公開する",
25
+ "figure.button.remove": "削除",
16
26
  "figure.button.remove-part": "delete",
17
27
  "figure.button.reset-view": "reset",
18
28
  "figure.button.revert": "戻す",
@@ -22,11 +32,12 @@
22
32
  "figure.button.take-n-changes": "apply {n}",
23
33
  "figure.button.to-floor": "to floor",
24
34
  "figure.button.undo": "元に戻す",
25
- "figure.label.anchor": "つかむ面",
35
+ "figure.label.accepts": "受け入れるもの",
36
+ "figure.label.anchor": "固定する面",
26
37
  "figure.label.anchor-advanced": "advanced proportional sizing",
27
- "figure.label.anchor-aspect-x": "x 軸が大きくなる分だけ大きくなる (比率維持)",
28
- "figure.label.anchor-aspect-y": "y 軸が大きくなる分だけ大きくなる (比率維持)",
29
- "figure.label.anchor-aspect-z": "z 軸が大きくなる分だけ大きくなる (比率維持)",
38
+ "figure.label.anchor-aspect-x": "x 軸が伸びた分だけ伸びます (比率維持)",
39
+ "figure.label.anchor-aspect-y": "y 軸が伸びた分だけ伸びます (比率維持)",
40
+ "figure.label.anchor-aspect-z": "z 軸が伸びた分だけ伸びます (比率維持)",
30
41
  "figure.label.anchor-auto": "自動 ({rule})",
31
42
  "figure.label.anchor-center": "中央に残り大きさはそのまま",
32
43
  "figure.label.anchor-choice-aspect-x": "keep X ratio",
@@ -42,16 +53,18 @@
42
53
  "figure.label.anchor-choice-min-z": "back face",
43
54
  "figure.label.anchor-choice-scale": "grow together",
44
55
  "figure.label.anchor-choice-span": "fill both faces",
45
- "figure.label.anchor-max": "大きい側の面にくっついている",
46
- "figure.label.anchor-max-x": "右の面にくっついている",
47
- "figure.label.anchor-max-y": "上の面にくっついている",
48
- "figure.label.anchor-max-z": "前の面にくっついている",
49
- "figure.label.anchor-min": "小さい側の面にくっついている",
50
- "figure.label.anchor-min-x": "左の面にくっついている",
51
- "figure.label.anchor-min-y": "下の面にくっついている",
52
- "figure.label.anchor-min-z": "奥の面にくっついている",
53
- "figure.label.anchor-scale": "箱と一緒に大きくなる",
54
- "figure.label.anchor-span": "両方の面に触れて間を埋める",
56
+ "figure.label.anchor-max": "大きい側の面に付いています",
57
+ "figure.label.anchor-max-x": "右の面に付いています",
58
+ "figure.label.anchor-max-y": "上の面に付いています",
59
+ "figure.label.anchor-max-z": "前の面に付いています",
60
+ "figure.label.anchor-min": "小さい側の面に付いています",
61
+ "figure.label.anchor-min-x": "左の面に付いています",
62
+ "figure.label.anchor-min-y": "下の面に付いています",
63
+ "figure.label.anchor-min-z": "後ろの面に付いています",
64
+ "figure.label.anchor-scale": "ボックスと一緒に伸びます",
65
+ "figure.label.anchor-span": "両側の面に接して間を埋めます",
66
+ "figure.label.animation": "アニメーション",
67
+ "figure.label.assumed-drawing": "置く図面",
55
68
  "figure.label.axis-consistency": "visual consistency",
56
69
  "figure.label.axis-consistency-short": "consistency",
57
70
  "figure.label.axis-depth": "depth",
@@ -59,6 +72,7 @@
59
72
  "figure.label.axis-detail-short": "fidelity",
60
73
  "figure.label.axis-height": "height",
61
74
  "figure.label.axis-labels": "axis labels",
75
+ "figure.label.axis-name": "{axis} 軸",
62
76
  "figure.label.axis-reactive": "state display",
63
77
  "figure.label.axis-reactive-short": "state",
64
78
  "figure.label.axis-readable": "recognisability",
@@ -74,9 +88,19 @@
74
88
  "figure.label.budget-surface": "surfaces outside the palette",
75
89
  "figure.label.budget-transparent": "transparent materials",
76
90
  "figure.label.budgets": "budgets",
77
- "figure.label.by-axis": "maturity by axis",
91
+ "figure.label.by-axis": "項目別の成熟度",
78
92
  "figure.label.candidate-review": "candidate review",
79
93
  "figure.label.cast-shadow": "cast shadow",
94
+ "figure.label.category": "分類",
95
+ "figure.label.ceiling-height": "天井高さ (mm)",
96
+ "figure.label.channel-path": "動かすもの",
97
+ "figure.label.channel-pivot": "回転中心",
98
+ "figure.label.channel-target": "部品",
99
+ "figure.label.channel-target-joints": "関節",
100
+ "figure.label.channel-target-parts": "部品",
101
+ "figure.label.channels": "チャンネル",
102
+ "figure.label.clip-name": "clip 名",
103
+ "figure.label.clips": "アニメーション (時間に沿って再生)",
80
104
  "figure.label.coordinate-ground": "coordinate ground",
81
105
  "figure.label.corner-round": "corner round",
82
106
  "figure.label.detail-L": "detailed",
@@ -99,7 +123,8 @@
99
123
  "figure.label.environment-studio": "studio",
100
124
  "figure.label.environment-sunny": "sunny",
101
125
  "figure.label.environment-warehouse": "warehouse",
102
- "figure.label.figure": "フィギュア",
126
+ "figure.label.figure": "Figure",
127
+ "figure.label.figure-placement": "配置基準",
103
128
  "figure.label.figure-released": "公開済み",
104
129
  "figure.label.figure-type": "タイプ",
105
130
  "figure.label.findings": "findings",
@@ -112,11 +137,31 @@
112
137
  "figure.label.hollow-floor": "floor thickness",
113
138
  "figure.label.hollow-wall": "wall thickness",
114
139
  "figure.label.intensity": "intensity",
140
+ "figure.label.interpolation-linear": "なめらか",
141
+ "figure.label.interpolation-step": "段階",
142
+ "figure.label.joint": "関節",
143
+ "figure.label.joint-axis": "軸",
144
+ "figure.label.joint-limit-max": "最大",
145
+ "figure.label.joint-limit-min": "最小",
146
+ "figure.label.joint-limits-deg": "可動範囲 (度)",
147
+ "figure.label.joint-limits-mm": "可動範囲 (mm)",
148
+ "figure.label.joint-origin": "基準点",
149
+ "figure.label.joint-parent": "取り付け先",
150
+ "figure.label.joint-parent-none": "なし (Figure の枠)",
151
+ "figure.label.joint-type": "動き",
152
+ "figure.label.joint-type-continuous": "連続回転",
153
+ "figure.label.joint-type-none": "固定",
154
+ "figure.label.joint-type-prismatic": "直線移動",
155
+ "figure.label.joint-type-revolute": "回転 (範囲内)",
156
+ "figure.label.joint-value": "関節値",
115
157
  "figure.label.keep-round": "section",
158
+ "figure.label.key-at": "時刻 (秒)",
159
+ "figure.label.key-at-value": "値の位置 (0〜1)",
116
160
  "figure.label.key-light": "key light",
117
161
  "figure.label.maturity": "maturity",
118
162
  "figure.label.mode-edit": "edit",
119
163
  "figure.label.mode-preview": "preview",
164
+ "figure.label.motion-intent": "何を動かしますか?",
120
165
  "figure.label.name": "name",
121
166
  "figure.label.no-color-chosen": "no color set",
122
167
  "figure.label.none": "none",
@@ -135,13 +180,25 @@
135
180
  "figure.label.palette-purpose-warning": "warning signal · an attention-needed indicator",
136
181
  "figure.label.palette-role": "color role",
137
182
  "figure.label.palette-token": "palette token",
183
+ "figure.label.parameter-default": "既定値",
184
+ "figure.label.parameter-duration": "全区間の時間 (秒)",
185
+ "figure.label.parameter-name": "パラメーター名",
186
+ "figure.label.parameter-range": "範囲",
187
+ "figure.label.parameters": "パラメーター (値で姿勢が決まる)",
138
188
  "figure.label.part": "part",
139
189
  "figure.label.part-material": "material",
140
190
  "figure.label.part-position": "position (centre)",
141
191
  "figure.label.part-size": "size",
142
192
  "figure.label.parts": "parts",
193
+ "figure.label.path-rotation": "回転",
194
+ "figure.label.path-scale": "倍率",
195
+ "figure.label.path-translation": "移動",
143
196
  "figure.label.placement": "position and size",
197
+ "figure.label.placement-ceiling": "天井基準 (ceiling)",
198
+ "figure.label.placement-center": "中心基準 (center)",
199
+ "figure.label.placement-floor": "床基準 (floor)",
144
200
  "figure.label.placement-limit": "配置上限",
201
+ "figure.label.playback-speed": "再生速度",
145
202
  "figure.label.preset": "preset",
146
203
  "figure.label.preset-ceramic": "ceramic",
147
204
  "figure.label.preset-default": "default",
@@ -150,6 +207,7 @@
150
207
  "figure.label.preset-plastic": "plastic",
151
208
  "figure.label.preset-rubber": "rubber",
152
209
  "figure.label.preset-wood": "wood",
210
+ "figure.label.preview-base": "基準",
153
211
  "figure.label.primitive-cube": "box",
154
212
  "figure.label.primitive-cylinder": "cylinder",
155
213
  "figure.label.primitive-polygon": "polygon",
@@ -158,14 +216,30 @@
158
216
  "figure.label.primitive-wall": "wall",
159
217
  "figure.label.properties": "properties",
160
218
  "figure.label.proposed": "proposed",
219
+ "figure.label.recipe-conveyor": "コンベヤのローラーが回り続ける",
220
+ "figure.label.recipe-gate": "扉やゲートが開く",
221
+ "figure.label.recipe-lift": "リフトの高さが変わる",
222
+ "figure.label.recipe-pusher": "プッシャーが位置に移動する",
161
223
  "figure.label.release": "公開",
162
- "figure.label.released-versions": "公開された版",
224
+ "figure.label.released-versions": "発行済みバージョン",
163
225
  "figure.label.repeat-axis": "axis it repeats along",
226
+ "figure.label.repeat-count": "個数",
164
227
  "figure.label.repeat-pitch": "pitch",
165
228
  "figure.label.reuse-trend": "reuse trend",
229
+ "figure.label.role-in-capability": "能力での役割",
230
+ "figure.label.role-port-in": "入力ポート",
231
+ "figure.label.role-port-out": "出力ポート",
232
+ "figure.label.role-slot": "スロット",
166
233
  "figure.label.rotation-degrees": "rotation (degrees)",
234
+ "figure.label.rung-flow": "流れる",
235
+ "figure.label.rung-hold": "載せる",
236
+ "figure.label.rung-none": "描くだけ",
167
237
  "figure.label.same-as-off": "same as unlit",
168
238
  "figure.label.scene-floor": "floor",
239
+ "figure.label.scene-reference": "シーン座標の基準",
240
+ "figure.label.scene-reference-floor": "床基準 (floor)",
241
+ "figure.label.scene-reference-inverted": "天井基準 (inverted)",
242
+ "figure.label.scene-reference-space": "中心基準 (space)",
169
243
  "figure.label.segments": "segments",
170
244
  "figure.label.shape": "shape",
171
245
  "figure.label.shape-detail": "shape detail",
@@ -176,26 +250,44 @@
176
250
  "figure.label.sizing-scale": "scales proportionally",
177
251
  "figure.label.sizing-stretch": "stretches on one axis",
178
252
  "figure.label.sky-color": "sky color",
253
+ "figure.label.slot-capacity": "収容数",
254
+ "figure.label.slots-and-ports": "スロットとポート",
179
255
  "figure.label.state": "状態",
180
256
  "figure.label.status-colors": "lit colors (lamps · indicators)",
257
+ "figure.label.tab-capability": "能力",
181
258
  "figure.label.tab-environment": "環境",
259
+ "figure.label.tags": "タグ",
182
260
  "figure.label.tools": "align",
183
261
  "figure.label.transparent": "transparent",
184
262
  "figure.label.triangles": "triangles",
185
263
  "figure.label.triangles-at-100": "triangles for 100",
186
264
  "figure.label.triangles-at-10k": "triangles at 10k instances",
187
265
  "figure.label.weight": "weight",
266
+ "figure.label.what-this-does": "この Figure の役割",
267
+ "figure.text.accepts-anything": "空欄なら何でも可",
268
+ "figure.text.accepts-explained": "このスロットに置けるタイプです。カンマで区切り、空欄なら制限はありません。",
188
269
  "figure.text.add-a-shape": "click to add a part",
189
- "figure.text.all-lights-off": "both lights are off. only self-lit surfaces show; everything else goes black — this is how you check whether a lamp is lit.",
270
+ "figure.text.all-lights-off": "照明がすべて消え、自発光の面だけが見えます。",
190
271
  "figure.text.already-released-edit-to-release-again": "すでに公開済みです。修正して保存すると下書きに戻り、そこで再び公開できます。",
191
- "figure.text.anchor-explained": "箱が大きくなるとき、この部品がどこにくっついているかです。接している部品と違う面にくっついていると、大きくなるにつれて離れます。",
192
- "figure.text.assistant-proposed-a-figure": "here is a proposal — the result is on the right.",
193
- "figure.text.axes-not-measurable-yet": "axes that cannot be measured yet are left off the chart — {axes}. the reason is listed below.",
194
- "figure.text.bound-by-drawCalls": "draw calls reach the limit first — {per} per instance, against {budget} for a drawing.",
195
- "figure.text.bound-by-triangles": "triangles reach the limit first {per} per instance, against {budget} for a drawing.",
272
+ "figure.text.anchor-explained": "ボックスが伸びるときにこの部品が付いている面です。接する部品と違う面に付くと、伸びたときに間が空きます。",
273
+ "figure.text.anchors-are-not-drawn": "スロットとポートは図面には描かれず、編集画面にだけ表示されます。",
274
+ "figure.text.animated-parts-cost": "動く部品ごとに draw call 1 増えます。",
275
+ "figure.text.animated-parts-over": "上限を超えました。1 つの図面に多く置くと画面が遅くなります。",
276
+ "figure.text.animation-empty-examples": "回るローラー · スライドする扉 · 上下するリフト · 点滅する表示灯。",
277
+ "figure.text.animation-empty-what-it-is": "まだ動きがありません。clip を追加して部品を動かしてください。",
278
+ "figure.text.animation-needs-a-named-part": "先に部品を追加してください。",
279
+ "figure.text.assistant-proposed-a-figure": "提案を右側に表示しました。",
280
+ "figure.text.axes-not-measurable-yet": "測定できない項目はチャートから外しました: {axes}。理由は下にあります。",
281
+ "figure.text.bound-by-drawCalls": "draw call が先に上限に達します (1 個あたり {per}、図面あたり {budget})。",
282
+ "figure.text.bound-by-triangles": "三角形が先に上限に達します (1 個あたり {per}、図面あたり {budget})。",
196
283
  "figure.text.budget-not-measured-yet": "this target has not been measured yet.",
197
284
  "figure.text.cannot-release-now": "今は公開できません",
198
- "figure.text.canvas-appears-once-a-part-exists": "the canvas appears once the figure has a part.",
285
+ "figure.text.canvas-appears-once-a-part-exists": "左の「図形」から 1 つ選んで最初の部品を追加してください。",
286
+ "figure.text.capability-hand-written": "手動で指定した能力のため、上の段階のどれにも当てはまりません。下の名前で保存されます。",
287
+ "figure.text.capacity-from-repeat": "収容数は繰り返し設定とインスタンスのサイズで決まります",
288
+ "figure.text.category-explained": "パレットでまとめて表示する基準です。Figure ごとに 1 つだけ決めます。",
289
+ "figure.text.category-placeholder": "例: コンベヤ",
290
+ "figure.text.ceiling-height-explained": "天井基準の Figure をプレビューで吊り下げる高さです。",
199
291
  "figure.text.center-on-x": "move to the centre of the base box on X.",
200
292
  "figure.text.center-on-z": "move to the centre of the base box on Z.",
201
293
  "figure.text.change-added": "a new part",
@@ -207,50 +299,71 @@
207
299
  "figure.text.change-placement": "配置基準",
208
300
  "figure.text.change-removed": "a part being removed",
209
301
  "figure.text.change-styleKit": "the style kit",
302
+ "figure.text.channel-target-is-gone": "その部品はありません。部品の名前を変えた場合は、ここでもう一度選んでください。",
303
+ "figure.text.clip-is-time-running": "時間に沿って再生されます。インスタンスが渡す値は再生速度です。",
304
+ "figure.text.clip-name-is-how-it-is-driven": "インスタンスはこの名前で再生速度を渡します。",
305
+ "figure.text.clip-name-taken": "同じ名前の clip がすでにあります。別の名前を入力してください。",
306
+ "figure.text.clip-needs-a-channel": "チャンネルを 1 つ以上追加してください。",
307
+ "figure.text.clip-needs-a-name": "名前を入力してください。",
210
308
  "figure.text.collapse-parts-pane": "collapse the part list",
211
309
  "figure.text.collapse-properties-pane": "collapse the property pane",
212
- "figure.text.coordinate-ground-explained": "draws the origin and a grid on the floor",
310
+ "figure.text.coordinate-ground-explained": "原点と目盛りを床に表示します",
213
311
  "figure.text.delete-figure-confirm": "delete {name}? drawings already using this type will no longer find it.",
214
- "figure.text.detail-level-explained": "declares how detailed this figure is meant to be. S simple suits signs and posts, M normal suits most equipment, L detailed suits the large equipment a view is built around. the level sets the part limit, and maturity checks whether the figure lives up to it.",
312
+ "figure.text.designate-in-properties": "まだ指定された部品がありません。部品を選び、プロパティタブで「能力での役割」を指定してください。",
313
+ "figure.text.detail-level-explained": "S は標識・柱、M はほとんどの設備、L は画面の中心となる大きな設備に使います。等級で部品数の上限が決まります。",
215
314
  "figure.text.discard-changes-and-start-new": "保存していない変更があります。破棄して新しく始めますか?",
216
315
  "figure.text.does-not-block": "止めないもの",
217
- "figure.text.emissive-explained": "the surface lights itself. 0 means it is not a lamp. it does not spill onto its surroundings.",
218
- "figure.text.environment-explained": "sets what metal surfaces reflect. it does not change the shape.",
316
+ "figure.text.emissive-explained": "面そのものの明るさです。0 なら光らず、周囲は照らしません。",
317
+ "figure.text.enter-a-type-name": "タイプ名を入力してください。",
318
+ "figure.text.environment-explained": "金属の材質に映る環境を決めます。形状は変わりません。",
219
319
  "figure.text.expand-parts-pane": "expand the part list",
220
320
  "figure.text.expand-properties-pane": "expand the property pane",
221
321
  "figure.text.figure-display-name": "display name",
322
+ "figure.text.figure-name-example": "例: オーバーヘッドホイストトランスポート",
323
+ "figure.text.figure-type-example": "例: OHT, AGV_LIFTER",
324
+ "figure.text.figure-type-placeholder": "Figure 識別タイプ (例: OHT)",
222
325
  "figure.text.find-by-this-tag": "find by this tag",
223
326
  "figure.text.fits-n-instances": "up to {n}",
224
- "figure.text.floor-explained": "overlaps the coordinate ground, so usually off",
225
- "figure.text.follow-camera-explained": "turn off to fix the shadow direction",
327
+ "figure.text.floor-explained": "座標の下地と重なるため、通常はオフにします",
328
+ "figure.text.follow-camera-explained": "オフにすると影の向きが固定されます",
226
329
  "figure.text.grade-decided-by": "what decided the grade",
227
- "figure.text.grade-explained": "the grade comes from how much of a declared limit is used, taking the one closest to its cap. averaging would hide a full limit behind the loose ones.",
330
+ "figure.text.grade-explained": "等級は、上限に最も近い 1 項目の使用率で決まります。",
228
331
  "figure.text.grade-scale-lead": "grade scale (limit used)",
229
332
  "figure.text.headroom-percent": "{percent}% headroom",
230
- "figure.text.hemisphere-light-explained": "even light from sky and ground. it lifts the shaded faces.",
333
+ "figure.text.hemisphere-light-explained": "空と床から均一に照らす光です。陰になった面を明るくします。",
231
334
  "figure.text.hide-all-parts": "hide all",
232
335
  "figure.text.hide-this-part": "hide this part while you work. not saved",
233
- "figure.text.how-many-fit": "how many one drawing holds before the overhead shows",
336
+ "figure.text.how-many-fit": "1 つの図面に画面が遅くならずに置ける数",
234
337
  "figure.text.instances-unit": "instances",
338
+ "figure.text.interpolation-explained": "キーの間をどうつなぐか。",
339
+ "figure.text.joint-channel-value-deg": "キーの値は関節の角度 (度) です。",
340
+ "figure.text.joint-channel-value-mm": "キーの値は関節の移動距離 (mm) です。",
341
+ "figure.text.joint-driven-by": "パラメーター「{name}」がこの関節を動かします。プレビューで確認します。",
342
+ "figure.text.joint-explained": "取り付け先の部品が動くと、この部品も一緒に動きます。関節を設定すると、取り付け先に対してこの部品が回転する軸または移動する方向と、可動範囲を決めます。関節の値は一緒に作られるパラメーターで与えます。",
343
+ "figure.text.joint-limits-must-include-zero": "可動範囲に 0 を含めてください。いま描いている姿勢が 0 です。",
344
+ "figure.text.joint-not-driven": "この関節を動かすパラメーターがありません。アニメーションタブでパラメーターを追加します。",
345
+ "figure.text.joint-value-beyond-limits": "関節の可動範囲外です。",
235
346
  "figure.text.keep-round-cost": "1 draw call",
236
347
  "figure.text.keep-round-merged": "merged into a group",
237
348
  "figure.text.keep-round-off": "off",
238
349
  "figure.text.keep-round-on": "keep round",
350
+ "figure.text.keys-must-rise": "時刻は前のキーより大きくする必要があります。",
239
351
  "figure.text.limit-comes-from-level": "the detail level sets this limit.",
240
- "figure.text.maturity-blocked-no-binding": "the format has no way to connect a state value to a part yet, and the renderer does not read it.",
352
+ "figure.text.maturity-blocked-no-binding": "状態表現はまだ測定していません。",
241
353
  "figure.text.maturity-blocked-no-parts": "nothing to measure — there are no parts.",
242
- "figure.text.maturity-consistency-because": "checks textures, segment presets and material count — what it takes to sit well with other assets and stay crisp when zoomed.",
354
+ "figure.text.maturity-consistency-because": "テクスチャの使用、推奨分割数の遵守、材質の種類数を確認します。",
243
355
  "figure.text.maturity-consistency-clean": "no issues",
244
356
  "figure.text.maturity-consistency-faults": "has issues",
245
- "figure.text.maturity-detail-because": "how much of the declared level you actually used.",
246
- "figure.text.maturity-readable-because": "how many distinct colour regions are visible from directly above, and how evenly. Viewpoint entropy (Vazquez et al.) computed over colour regions rather than faces — counting faces would reward raising the segment count alone.",
247
- "figure.text.maturity-reuse-because": "shapes saved because several parts share one. a low number is not a fault.",
357
+ "figure.text.maturity-detail-because": "宣言した等級で許される部品数のうち、実際に使った割合です。",
358
+ "figure.text.maturity-readable-because": "上から見たときに色の異なる領域がいくつあり、どれだけ均等に見えるかです。",
359
+ "figure.text.maturity-reuse-because": "複数の部品が同じ形状を共有して節約した形状の数です。",
248
360
  "figure.text.maturity-scale-because": "measured against a drawing holding 500 assets.",
249
361
  "figure.text.mirror-explained": "adds a mirrored copy on the other side — for parts that come in pairs, like legs or arms.",
250
362
  "figure.text.mirror-would-overlap": "already centred — a mirror would land in the same place and overlap.",
251
363
  "figure.text.mode-edit-explained": "place and edit parts. always at the base size.",
252
364
  "figure.text.mode-preview-explained": "how it looks placed on a drawing. base size next to the enlarged ones.",
253
365
  "figure.text.more-segment-options": "advanced segment counts",
366
+ "figure.text.motion-intent-help": "動かす部品を選んでから目的を選んでください。作られた動きは下の詳細編集で調整できます。",
254
367
  "figure.text.must-fix-to-release": "直すべきもの",
255
368
  "figure.text.n-of-limit": "{used} / {limit}",
256
369
  "figure.text.n-parts-at-most": "up to {limit} parts",
@@ -259,49 +372,86 @@
259
372
  "figure.text.no-findings": "nothing to report.",
260
373
  "figure.text.not-measurable-yet": "not measurable",
261
374
  "figure.text.not-measured-yet": "not measured",
262
- "figure.text.nothing-released-yet": "まだ公開した版がありません。公開すると、その時点のフィギュアが版として残ります。",
263
- "figure.text.on-by-default-explained": "the starting state when placed on a drawing. an instance switching it wins.",
375
+ "figure.text.nothing-released-yet": "まだ発行したバージョンがありません。",
376
+ "figure.text.on-by-default-explained": "図面に置いたときの最初の状態です。インスタンスで切り替えた値が優先されます。",
264
377
  "figure.text.other-segment-count": "enter a value",
265
- "figure.text.palette-purpose-explained": "Choose the visual role this part plays, not an implementation color name.",
378
+ "figure.text.palette-purpose-explained": "この部品が画面で担う色の役割を選びます。",
379
+ "figure.text.parameter-curve-is-the-value-axis": "キーは値の位置 (0 = 最小、1 = 最大) に置きます。全区間の時間は別に入力します。",
380
+ "figure.text.parameter-duration-empty-is-instant": "最小から最大まで動くのにかかる秒数です。空欄にすると値が変わった瞬間に反映されます。",
381
+ "figure.text.parameter-is-a-value-not-a-timeline": "インスタンスが渡した値のぶんの姿勢を表示します (例: ホイスト 1200mm 下降)。",
382
+ "figure.text.parameter-key-within-span": "キーは 0 (最小) と 1 (最大) の間の値で入力してください。",
383
+ "figure.text.parameter-name-is-how-a-value-arrives": "インスタンスはこの名前で値を渡します。",
384
+ "figure.text.parameter-needs-a-name": "名前を入力してください。",
266
385
  "figure.text.part-limit-reached": "the detail level allows no more parts — raise the level or remove a part.",
267
386
  "figure.text.part-limit-reached-short": "level {level} allows {limit} parts. Raise the level or remove a part.",
387
+ "figure.text.part-name-cannot-be-empty": "部品に名前を付けてください。",
388
+ "figure.text.path-rotation-unit": "オイラー角 (度) です。部品の回転と同じ基準です。",
389
+ "figure.text.path-scale-unit": "倍率です。1 が元の大きさで、0 にすると部品が見えなくなります。",
390
+ "figure.text.path-translation-unit": "部品の位置からの移動量です。0 なら元の位置のままです。",
268
391
  "figure.text.pick-a-shape-above-to-start": "pick a shape above to add the first part.",
269
392
  "figure.text.picked-changes-do-not-validate": "the selected changes do not make a valid figure",
270
- "figure.text.preview-blocked-by-errors": "cannot build — the figure breaks the format. the maturity tab has the reason.",
271
- "figure.text.preview-needs-a-part": "add a part and the drawing view appears here.",
272
- "figure.text.proposal-feedback-note": "Optional note for the next suggestion (this session only)",
393
+ "figure.text.pivot-defaults-to-the-part-centre": "未設定なら部品の中心で回転します。座標は部品基準です。",
394
+ "figure.text.placement-explained": "3D シーンでの基準面を決めます (床: AGV/コンベヤ、天井: OHT/ホイスト、中心: センサー/ドローン)。",
395
+ "figure.text.preview-blocked-by-errors": "形式エラーのためプレビューを表示できません。成熟度タブで理由を確認してください。",
396
+ "figure.text.preview-needs-a-part": "部品を追加すると、図面に置いたときの姿が表示されます。",
397
+ "figure.text.proposal-feedback-note": "次の提案に反映するメモ (このセッションのみ)",
273
398
  "figure.text.proposal-feedback-placeholder": "e.g. keep the silhouette, but make the port easier to read",
274
399
  "figure.text.put-on-floor": "drop it to the floor (Z=0).",
275
- "figure.text.release-needs-a-save-first": "保存していない変更があります。公開は保存されたものを出すので、先に保存してください。",
400
+ "figure.text.range-needs-room": "最大は最小より大きくする必要があります。",
401
+ "figure.text.recipe-conveyor": "アニメーション · インスタンスが再生速度を渡します",
402
+ "figure.text.recipe-gate": "パラメーター · インスタンスが開き具合を 0〜100 % で渡します",
403
+ "figure.text.recipe-lift": "パラメーター · インスタンスが高さを 0〜100 mm で渡します",
404
+ "figure.text.recipe-pusher": "パラメーター · インスタンスが移動距離を 0〜100 mm で渡します",
405
+ "figure.text.release-check-fix": "発行検査の修正案 · {part} {axis} 固定面: {from} → {to}",
406
+ "figure.text.release-needs-a-save-first": "保存していない変更があります。先に保存してください。",
276
407
  "figure.text.releasing": "公開しています…",
277
- "figure.text.renaming-a-part-breaks-bindings": "the name is a stored identifier — changing it breaks bindings on instances already placed.",
278
- "figure.text.repeat-edits-the-unit": "you author one unit even though several appear. the gizmo moves the whole run, while size and rotation apply to that one unit — the pitch is declared separately so the layout stays. a single copy cannot be edited on its own.",
279
- "figure.text.repeat-pitch-explained": "centre to centre distance. it does not depend on the part size, so widening or turning the part leaves the layout alone.",
408
+ "figure.text.renaming-a-part-breaks-bindings": "名前を変えると、すでに配置したインスタンスのバインディングが切れます。",
409
+ "figure.text.repeat-count-capped": "最大 {limit} 個です。コピーごとに draw call 1 増えます。",
410
+ "figure.text.repeat-count-now": "作成時のサイズで {count} ",
411
+ "figure.text.repeat-edits-the-unit": "繰り返したコピーはまとめて編集されます。1 つだけ変えるには部品を別に追加してください。",
412
+ "figure.text.repeat-grows-with-instance": "インスタンスがこの軸に伸びると個数が増えます。間隔はそのままです。",
413
+ "figure.text.repeat-keeps-count": "インスタンスが伸びても個数はそのままで、コピーが大きくなります。",
414
+ "figure.text.repeat-pitch-explained": "中心から次の中心までの距離です。部品のサイズを変えても保たれます。",
280
415
  "figure.text.report-appears-when-you-add-a-part": "weight and score appear once the figure has a part.",
281
416
  "figure.text.reuse-score-explained": "how much headroom is left in the declared limits. the one closest to its cap sets the score.",
282
- "figure.text.revert-to-version-confirm": "{version}版に戻します。作業中の内容がその版のものに変わります。続けますか?",
283
- "figure.text.save-the-figure-before-releasing": "まだ保存されていません。保存すると公開できます。",
417
+ "figure.text.revert-to-version-confirm": "バージョン {version} に戻します。編集中の内容がそのバージョンに置き換わります。続けますか?",
418
+ "figure.text.role-none-means-drawn": "何も選ばなければ描くだけの部品です",
419
+ "figure.text.rung-flow-note": "物を載せ、ポートで受け取って送り出します。コンベヤ · シュート · ソーター",
420
+ "figure.text.rung-hold-note": "物を置くスロットがあります。ラック · パレット · 作業台",
421
+ "figure.text.rung-none-note": "物を受け取りません。ほとんどの Figure がここに当てはまります。",
422
+ "figure.text.save-new-figure-desc": "この Figure を識別する固有のタイプコードと表示名を決めます。",
423
+ "figure.text.save-the-figure-before-releasing": "まだ保存されていない Figure です。保存すると発行できます。",
284
424
  "figure.text.saving-figure": "saving",
425
+ "figure.text.scene-reference-explained": "プレビューで Figure を置く図面の基準です。Figure 自体の配置基準は変わりません。",
285
426
  "figure.text.search-figure": "search by name, type, description, category or tag",
286
427
  "figure.text.select-a-part-to-edit": "select a part to edit it here.",
428
+ "figure.text.server-returned-no-data": "サーバーの応答にデータがありません。もう一度お試しください。",
287
429
  "figure.text.show-all-parts": "show all",
288
430
  "figure.text.show-this-part": "show this part again",
289
- "figure.text.sizing-costs-one-draw-call": "a part that does not scale proportionally cannot be merged with the others, so it costs one more draw call. that shows up in the group count under maturity.",
431
+ "figure.text.sizing-costs-one-draw-call": "比例拡大でない部品は draw call 1 増えます。",
290
432
  "figure.text.sizing-fixed-explained": "the size stays, only the position follows — like a motor or a gauge.",
291
- "figure.text.sizing-repeat-explained": "the count grows instead of the size. the shape is shared so vertices do not grow, but each copy costs one draw call.",
433
+ "figure.text.sizing-repeat-explained": "サイズの代わりに個数が増えます。コピーごとに draw call 1 増えます。",
292
434
  "figure.text.sizing-scale-explained": "this part grows with the instance.",
293
435
  "figure.text.sizing-stretch-explained": "only one axis stretches — like a frame, a belt or a rail.",
436
+ "figure.text.slots-need-capability": "スロットを指定するには、先に「載せる」以上を選んでください。",
294
437
  "figure.text.snap-explained": "rounds position and size to the grid — the same spacing you see on the canvas.",
438
+ "figure.text.source-changed-ask-again": "元データが変更されました。候補を取り消し、AI アシストでもう一度依頼してください。",
439
+ "figure.text.tags-explained": "検索に使うタグです。カンマで区切って複数入力できます。",
440
+ "figure.text.tags-placeholder": "例: 搬出, 自動, 2 階",
295
441
  "figure.text.thumbnail-not-made-yet": "no thumbnail yet",
296
- "figure.text.tools-explained": "Use alignment after setting position, size, and rotation. From left: centre X, centre Z, put on floor, mirror X, mirror Z, and snap to grid. Hover an icon to confirm its action.",
442
+ "figure.text.tools-explained": "左から X 中央、Z 中央、床に付ける、X 対称、Z 対称、目盛りに合わせるです。",
297
443
  "figure.text.triangle-count": "{count} triangles",
444
+ "figure.text.two-keys-at-least": "キーを 2 つ以上追加してください。",
298
445
  "figure.text.type-name-already-taken": "the type name {type} is already in use. pick another one — it cannot be changed later.",
299
- "figure.text.type-name-cannot-change": "the type name is a stored identifier and cannot be changed after creation.",
446
+ "figure.text.type-name-cannot-change": "タイプ名は作成後に変更できません。",
447
+ "figure.text.type-name-will-not-release": "この名前では発行できません。英大文字・数字・アンダースコア (連続不可) で 3〜32 文字を入力してください (例: AGV_LIFTER)。",
448
+ "figure.text.unit-is-a-word-not-a-rule": "表示用の単位です (例: mm · deg · %)。値の計算には使いません。",
300
449
  "figure.text.unsaved-changes": "unsaved",
301
- "figure.text.version-number": "{version}",
302
- "figure.text.view-settings-are-not-saved": "these settings are not saved. they make the view comfortable to work in and do not travel with the asset.",
450
+ "figure.text.version-number": "バージョン {version}",
451
+ "figure.text.view-settings-are-not-saved": "この設定は保存されません。",
303
452
  "figure.text.what-a-figure-is": "a Figure is a 3D component you author. Compose it from simple shapes and it becomes a component you can place on a drawing, sharing shape and material across every instance.",
304
- "figure.text.what-changed-in-this-release": "この版で何が変わったか",
453
+ "figure.text.what-changed-in-this-release": "このバージョンで変わったこと",
305
454
  "figure.title.figures": "figures",
306
- "figure.title.new-figure": "new figure"
455
+ "figure.title.new-figure": "new figure",
456
+ "figure.title.save-new-figure": "Figure の下書きを保存"
307
457
  }