@things-factory/figure-service 10.1.161 → 10.1.163
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.
- package/dist-server/service/figure/figure-format.js +14 -14
- package/dist-server/service/figure/figure-format.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/server/service/figure/figure-format.test.ts +8 -0
- package/server/service/figure/figure-format.ts +14 -14
- package/translations/en.json +14 -14
- package/translations/es.json +15 -15
- package/translations/ja.json +14 -14
- package/translations/ko.json +14 -14
- package/translations/ms.json +14 -14
- package/translations/zh.json +14 -14
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/figure-service",
|
|
3
|
-
"version": "10.1.
|
|
3
|
+
"version": "10.1.163",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"@things-factory:registry": "https://registry.npmjs.org"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"test:templates": "node --test scripts/templates.test.mts"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@hatiolab/figure-model": "^0.6.
|
|
28
|
+
"@hatiolab/figure-model": "^0.6.6",
|
|
29
29
|
"@operato/typeorm-history": "^10.0.0",
|
|
30
30
|
"@things-factory/ai-client-base": "^10.1.159",
|
|
31
31
|
"@things-factory/attachment-base": "^10.1.159",
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
"jszip": "^3.10.1",
|
|
39
39
|
"koa-router": "^7.4.0"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "fe2a9c39294d64cd50e52b283105390bb0fa6cee"
|
|
42
42
|
}
|
|
@@ -353,6 +353,14 @@ describe('figure-format — 판을 알아보는 문', () => {
|
|
|
353
353
|
for (const code of ['occupancy-changed', 'contact-face-changed', 'public-input-gone', 'public-input-range-narrowed', 'public-input-added', 'state-input-joints-changed', 'joint-axis-changed', 'joint-motion-unit-changed', 'joint-child-changed', 'joint-list-unread', 'carrier-gone', 'carrier-type-changed', 'carrier-dimensions-changed', 'carrier-added'])
|
|
354
354
|
for (const dict of [KO, EN]) for (const field of ['message', 'why']) expect(dict[`figure.gate.contract.${code}.${field}`]).toBeTruthy()
|
|
355
355
|
})
|
|
356
|
+
it('the data changes have their sentences under figure-model 0.6.6\'s codes, in all six languages', () => {
|
|
357
|
+
/* 0.6.6 named them for data fields and bindings (data interface 2); a sentence under the old code is never found. */
|
|
358
|
+
const codes = ['data-field-gone', 'data-field-kind-changed', 'data-field-narrowed', 'data-field-added', 'data-field-label-changed', 'data-field-default-changed', 'data-bindings-changed']
|
|
359
|
+
for (const lang of ['ko', 'en', 'ja', 'zh', 'es', 'ms']) {
|
|
360
|
+
const dict = require(`../../../translations/${lang}.json`) as Record<string, string>
|
|
361
|
+
for (const code of codes) for (const field of ['message', 'why']) expect([lang, code, field, !!dict[`figure.gate.contract.${code}.${field}`]]).toEqual([lang, code, field, true])
|
|
362
|
+
}
|
|
363
|
+
})
|
|
356
364
|
})
|
|
357
365
|
|
|
358
366
|
/* ADR-0104 decision 4: off the middle of its room is said at release, never refused. */
|
|
@@ -502,42 +502,42 @@ function figureContractWording(change: FigureContractChange, say: Say): Pick<Gat
|
|
|
502
502
|
why: say(key('why'), {}, 'Live data with this code finds this figure once the type map takes this release.')
|
|
503
503
|
}
|
|
504
504
|
/* What a consumer's data mapping and a board's motion selection lean on (ADR-0051 §2.2, §3.2). */
|
|
505
|
-
case 'data-
|
|
505
|
+
case 'data-field-gone':
|
|
506
506
|
return {
|
|
507
|
-
message: say(key('message'), v, `The data
|
|
507
|
+
message: say(key('message'), v, `The data field '${v.id}' is gone.`),
|
|
508
508
|
why: say(key('why'), {}, 'Boards map their data onto this id. After this release that data moves nothing.'),
|
|
509
509
|
...gone
|
|
510
510
|
}
|
|
511
|
-
case 'data-
|
|
511
|
+
case 'data-field-kind-changed':
|
|
512
512
|
return {
|
|
513
|
-
message: say(key('message'), v, `The data
|
|
513
|
+
message: say(key('message'), v, `The data field '${v.id}' changed from ${v.before} to ${v.after}.`),
|
|
514
514
|
why: say(key('why'), {}, 'Mapped data was written for the old kind or unit. After this release the same data is refused or means something else.'),
|
|
515
515
|
...gone
|
|
516
516
|
}
|
|
517
|
-
case 'data-
|
|
517
|
+
case 'data-field-narrowed':
|
|
518
518
|
return {
|
|
519
|
-
message: say(key('message'), v, `The data
|
|
519
|
+
message: say(key('message'), v, `The data field '${v.id}' takes less: ${v.before} → ${v.after}.`),
|
|
520
520
|
why: say(key('why'), {}, 'Data with a value it no longer takes is refused whole, and the figure keeps what it showed.'),
|
|
521
521
|
...gone
|
|
522
522
|
}
|
|
523
|
-
case 'data-
|
|
523
|
+
case 'data-field-added':
|
|
524
524
|
return {
|
|
525
|
-
message: say(key('message'), v, `The data
|
|
525
|
+
message: say(key('message'), v, `The data field '${v.id}' is new.`),
|
|
526
526
|
why: say(key('why'), {}, 'Until a board maps data onto it, it stands at its default.')
|
|
527
527
|
}
|
|
528
|
-
case 'data-
|
|
528
|
+
case 'data-field-label-changed':
|
|
529
529
|
return {
|
|
530
|
-
message: say(key('message'), v, `The data
|
|
530
|
+
message: say(key('message'), v, `The data field '${v.id}' is now called '${v.after}'.`),
|
|
531
531
|
why: say(key('why'), {}, 'Mappings name the id, so they keep working.')
|
|
532
532
|
}
|
|
533
|
-
case 'data-
|
|
533
|
+
case 'data-field-default-changed':
|
|
534
534
|
return {
|
|
535
|
-
message: say(key('message'), v, `The default of the data
|
|
535
|
+
message: say(key('message'), v, `The default of the data field '${v.id}' changed from ${v.before} to ${v.after}.`),
|
|
536
536
|
why: say(key('why'), {}, 'A placed figure with no data or saved value for it stands differently after this release.')
|
|
537
537
|
}
|
|
538
|
-
case 'data-
|
|
538
|
+
case 'data-bindings-changed':
|
|
539
539
|
return {
|
|
540
|
-
message: say(key('message'), v, 'What the data
|
|
540
|
+
message: say(key('message'), v, 'What the data moves (its bindings) changed.'),
|
|
541
541
|
why: say(key('why'), {}, 'The same data gives another pose, colour or clip after this release.')
|
|
542
542
|
}
|
|
543
543
|
case 'motion-group-gone':
|
package/translations/en.json
CHANGED
|
@@ -117,20 +117,20 @@
|
|
|
117
117
|
"error.figure-mesh-too-large": "the file is larger than {max} MB, the most a board downloads for one part. make it smaller and upload it again.",
|
|
118
118
|
"error.figure-mesh-missing": "this figure uses a mesh file this domain does not hold ({hash}). upload the file again.",
|
|
119
119
|
"error.figure-package-mesh-missing": "{ref} uses a mesh file this server does not hold ({hash}); it cannot be packaged.",
|
|
120
|
-
"figure.gate.contract.data-
|
|
121
|
-
"figure.gate.contract.data-
|
|
122
|
-
"figure.gate.contract.data-
|
|
123
|
-
"figure.gate.contract.data-
|
|
124
|
-
"figure.gate.contract.data-
|
|
125
|
-
"figure.gate.contract.data-
|
|
126
|
-
"figure.gate.contract.data-
|
|
127
|
-
"figure.gate.contract.data-
|
|
128
|
-
"figure.gate.contract.data-
|
|
129
|
-
"figure.gate.contract.data-
|
|
130
|
-
"figure.gate.contract.data-
|
|
131
|
-
"figure.gate.contract.data-
|
|
132
|
-
"figure.gate.contract.data-
|
|
133
|
-
"figure.gate.contract.data-
|
|
120
|
+
"figure.gate.contract.data-field-gone.message": "The data field '{id}' is gone.",
|
|
121
|
+
"figure.gate.contract.data-field-gone.why": "Boards map their data onto this id. After this release that data moves nothing.",
|
|
122
|
+
"figure.gate.contract.data-field-kind-changed.message": "The data field '{id}' changed from {before} to {after}.",
|
|
123
|
+
"figure.gate.contract.data-field-kind-changed.why": "Mapped data was written for the old kind or unit. After this release the same data is refused or means something else.",
|
|
124
|
+
"figure.gate.contract.data-field-narrowed.message": "The data field '{id}' takes less: {before} → {after}.",
|
|
125
|
+
"figure.gate.contract.data-field-narrowed.why": "Data with a value it no longer takes is refused whole, and the figure keeps what it showed.",
|
|
126
|
+
"figure.gate.contract.data-field-added.message": "The data field '{id}' is new.",
|
|
127
|
+
"figure.gate.contract.data-field-added.why": "Until a board maps data onto it, it stands at its default.",
|
|
128
|
+
"figure.gate.contract.data-field-label-changed.message": "The data field '{id}' is now called '{after}'.",
|
|
129
|
+
"figure.gate.contract.data-field-label-changed.why": "Mappings name the id, so they keep working.",
|
|
130
|
+
"figure.gate.contract.data-field-default-changed.message": "The default of the data field '{id}' changed from {before} to {after}.",
|
|
131
|
+
"figure.gate.contract.data-field-default-changed.why": "A placed figure with no data or saved value for it stands differently after this release.",
|
|
132
|
+
"figure.gate.contract.data-bindings-changed.message": "What the data moves (its bindings) changed.",
|
|
133
|
+
"figure.gate.contract.data-bindings-changed.why": "The same data gives another pose, colour or clip after this release.",
|
|
134
134
|
"figure.gate.contract.motion-group-gone.message": "The motion group '{group}' is gone.",
|
|
135
135
|
"figure.gate.contract.motion-group-gone.why": "Boards and data choose its clip by this id. After this release that choice does nothing.",
|
|
136
136
|
"figure.gate.contract.motion-group-clip-removed.message": "The motion group '{group}' no longer holds '{clip}'.",
|
package/translations/es.json
CHANGED
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"figure.gate.contract.binding-added.why": "Las instancias colocadas aún no lo conocen y se quedan como están.",
|
|
64
64
|
"figure.gate.contract.capability-gone.message": "La capacidad '{name}' ya no existe.",
|
|
65
65
|
"figure.gate.contract.capability-gone.why": "Las escenas asocian comportamientos mediante este nombre. Las instancias colocadas pierden lo que hacía.",
|
|
66
|
-
"figure.gate.contract.capability-added.message": "La capacidad '{name}' es
|
|
66
|
+
"figure.gate.contract.capability-added.message": "La capacidad '{name}' es nuevo.",
|
|
67
67
|
"figure.gate.contract.capability-added.why": "Amplía lo que puede hacer la figura. Las instancias colocadas se quedan como están.",
|
|
68
68
|
"figure.gate.contract.occupancy-changed.message": "Cambió el espacio que ocupa la figura: {before} → {after}.",
|
|
69
69
|
"figure.gate.contract.occupancy-changed.why": "Quien usa la figura la coloca según este espacio. Quien pase a esta publicación verá que ocupa el nuevo espacio.",
|
|
@@ -117,20 +117,20 @@
|
|
|
117
117
|
"error.figure-mesh-too-large": "el archivo supera los {max} MB, lo máximo que un tablero descarga para una pieza. redúzcalo y vuelva a subirlo.",
|
|
118
118
|
"error.figure-mesh-missing": "esta figura usa un archivo de malla que este dominio no tiene ({hash}). vuelva a subir el archivo.",
|
|
119
119
|
"error.figure-package-mesh-missing": "{ref} usa un archivo de malla que este servidor no tiene ({hash}); no se puede empaquetar.",
|
|
120
|
-
"figure.gate.contract.data-
|
|
121
|
-
"figure.gate.contract.data-
|
|
122
|
-
"figure.gate.contract.data-
|
|
123
|
-
"figure.gate.contract.data-
|
|
124
|
-
"figure.gate.contract.data-
|
|
125
|
-
"figure.gate.contract.data-
|
|
126
|
-
"figure.gate.contract.data-
|
|
127
|
-
"figure.gate.contract.data-
|
|
128
|
-
"figure.gate.contract.data-
|
|
129
|
-
"figure.gate.contract.data-
|
|
130
|
-
"figure.gate.contract.data-
|
|
131
|
-
"figure.gate.contract.data-
|
|
132
|
-
"figure.gate.contract.data-
|
|
133
|
-
"figure.gate.contract.data-
|
|
120
|
+
"figure.gate.contract.data-field-gone.message": "El campo de datos '{id}' ya no existe.",
|
|
121
|
+
"figure.gate.contract.data-field-gone.why": "Los tableros asignan sus datos a este id. Tras esta publicación esos datos no mueven nada.",
|
|
122
|
+
"figure.gate.contract.data-field-kind-changed.message": "El campo de datos '{id}' cambió de {before} a {after}.",
|
|
123
|
+
"figure.gate.contract.data-field-kind-changed.why": "Los datos asignados se escribieron para el tipo o la unidad anterior. Tras esta publicación se rechazan o significan otra cosa.",
|
|
124
|
+
"figure.gate.contract.data-field-narrowed.message": "El campo de datos '{id}' admite menos: {before} → {after}.",
|
|
125
|
+
"figure.gate.contract.data-field-narrowed.why": "Los datos con un valor que ya no admite se rechazan enteros y la figura conserva lo que mostraba.",
|
|
126
|
+
"figure.gate.contract.data-field-added.message": "El campo de datos '{id}' es nuevo.",
|
|
127
|
+
"figure.gate.contract.data-field-added.why": "Hasta que un tablero le asigne datos, queda en su valor predeterminado.",
|
|
128
|
+
"figure.gate.contract.data-field-label-changed.message": "El campo de datos '{id}' se llama ahora '{after}'.",
|
|
129
|
+
"figure.gate.contract.data-field-label-changed.why": "Las asignaciones usan el id, así que siguen funcionando.",
|
|
130
|
+
"figure.gate.contract.data-field-default-changed.message": "El valor predeterminado del campo de datos '{id}' cambió de {before} a {after}.",
|
|
131
|
+
"figure.gate.contract.data-field-default-changed.why": "Una figura colocada sin datos ni valor guardado se verá distinta tras esta publicación.",
|
|
132
|
+
"figure.gate.contract.data-bindings-changed.message": "Cambió lo que mueven los datos (sus enlaces).",
|
|
133
|
+
"figure.gate.contract.data-bindings-changed.why": "Los mismos datos dan otra postura, color o clip tras esta publicación.",
|
|
134
134
|
"figure.gate.contract.motion-group-gone.message": "El grupo de movimiento '{group}' ya no existe.",
|
|
135
135
|
"figure.gate.contract.motion-group-gone.why": "Tableros y datos eligen su clip por este id. Tras esta publicación esa elección no hace nada.",
|
|
136
136
|
"figure.gate.contract.motion-group-clip-removed.message": "El grupo '{group}' ya no contiene '{clip}'.",
|
package/translations/ja.json
CHANGED
|
@@ -117,20 +117,20 @@
|
|
|
117
117
|
"error.figure-mesh-too-large": "ファイルが {max} MB を超えています。ボードが部品 1 つにダウンロードする上限です。小さくして再度アップロードしてください。",
|
|
118
118
|
"error.figure-mesh-missing": "この図形が使うメッシュファイル({hash})がこのドメインにありません。ファイルを再度アップロードしてください。",
|
|
119
119
|
"error.figure-package-mesh-missing": "{ref} が使うメッシュファイル({hash})がこのサーバーにないため、パッケージにできません。",
|
|
120
|
-
"figure.gate.contract.data-
|
|
121
|
-
"figure.gate.contract.data-
|
|
122
|
-
"figure.gate.contract.data-
|
|
123
|
-
"figure.gate.contract.data-
|
|
124
|
-
"figure.gate.contract.data-
|
|
125
|
-
"figure.gate.contract.data-
|
|
126
|
-
"figure.gate.contract.data-
|
|
127
|
-
"figure.gate.contract.data-
|
|
128
|
-
"figure.gate.contract.data-
|
|
129
|
-
"figure.gate.contract.data-
|
|
130
|
-
"figure.gate.contract.data-
|
|
131
|
-
"figure.gate.contract.data-
|
|
132
|
-
"figure.gate.contract.data-
|
|
133
|
-
"figure.gate.contract.data-
|
|
120
|
+
"figure.gate.contract.data-field-gone.message": "データフィールド '{id}' がなくなりました。",
|
|
121
|
+
"figure.gate.contract.data-field-gone.why": "ボードはデータをこのIDに対応させます。このリリース以降、そのデータは何も動かしません。",
|
|
122
|
+
"figure.gate.contract.data-field-kind-changed.message": "データフィールド '{id}' が {before} から {after} に変わりました。",
|
|
123
|
+
"figure.gate.contract.data-field-kind-changed.why": "対応したデータは以前の種類や単位で書かれています。このリリース以降、同じデータは拒否されるか別の意味になります。",
|
|
124
|
+
"figure.gate.contract.data-field-narrowed.message": "データフィールド '{id}' が受け取る値が減りました: {before} → {after}。",
|
|
125
|
+
"figure.gate.contract.data-field-narrowed.why": "受け取らなくなった値を含むデータは全体が拒否され、Figureは直前の姿を保ちます。",
|
|
126
|
+
"figure.gate.contract.data-field-added.message": "データフィールド '{id}' が新しく追加されました。",
|
|
127
|
+
"figure.gate.contract.data-field-added.why": "ボードがデータを対応させるまで既定値のままです。",
|
|
128
|
+
"figure.gate.contract.data-field-label-changed.message": "データフィールド '{id}' の名前が '{after}' になりました。",
|
|
129
|
+
"figure.gate.contract.data-field-label-changed.why": "対応はIDで行うので、そのまま動作します。",
|
|
130
|
+
"figure.gate.contract.data-field-default-changed.message": "データフィールド '{id}' の既定値が {before} から {after} に変わりました。",
|
|
131
|
+
"figure.gate.contract.data-field-default-changed.why": "データや保存値がないFigureは、このリリース以降は違う姿になります。",
|
|
132
|
+
"figure.gate.contract.data-bindings-changed.message": "データが動かす対象(バインディング)が変わりました。",
|
|
133
|
+
"figure.gate.contract.data-bindings-changed.why": "このリリース以降、同じデータが別の姿勢・色・クリップになります。",
|
|
134
134
|
"figure.gate.contract.motion-group-gone.message": "モーショングループ '{group}' がなくなりました。",
|
|
135
135
|
"figure.gate.contract.motion-group-gone.why": "ボードとデータはこのIDでクリップを選びます。このリリース以降、その選択は何もしません。",
|
|
136
136
|
"figure.gate.contract.motion-group-clip-removed.message": "モーショングループ '{group}' から '{clip}' が外れました。",
|
package/translations/ko.json
CHANGED
|
@@ -117,20 +117,20 @@
|
|
|
117
117
|
"error.figure-mesh-too-large": "파일이 {max} MB 보다 큽니다. 보드가 부품 하나에 내려받는 최대 크기입니다. 줄여서 다시 올려 주세요.",
|
|
118
118
|
"error.figure-mesh-missing": "이 도형이 쓰는 메시 파일({hash})이 이 도메인에 없습니다. 파일을 다시 올려 주세요.",
|
|
119
119
|
"error.figure-package-mesh-missing": "{ref} 가 쓰는 메시 파일({hash})이 이 서버에 없어 묶을 수 없습니다.",
|
|
120
|
-
"figure.gate.contract.data-
|
|
121
|
-
"figure.gate.contract.data-
|
|
122
|
-
"figure.gate.contract.data-
|
|
123
|
-
"figure.gate.contract.data-
|
|
124
|
-
"figure.gate.contract.data-
|
|
125
|
-
"figure.gate.contract.data-
|
|
126
|
-
"figure.gate.contract.data-
|
|
127
|
-
"figure.gate.contract.data-
|
|
128
|
-
"figure.gate.contract.data-
|
|
129
|
-
"figure.gate.contract.data-
|
|
130
|
-
"figure.gate.contract.data-
|
|
131
|
-
"figure.gate.contract.data-
|
|
132
|
-
"figure.gate.contract.data-
|
|
133
|
-
"figure.gate.contract.data-
|
|
120
|
+
"figure.gate.contract.data-field-gone.message": "'{id}' 데이터 필드가 없어졌습니다.",
|
|
121
|
+
"figure.gate.contract.data-field-gone.why": "보드는 데이터를 이 ID에 대응합니다. 이 발행 뒤에는 그 데이터가 아무것도 움직이지 않습니다.",
|
|
122
|
+
"figure.gate.contract.data-field-kind-changed.message": "'{id}' 데이터 필드가 {before} 에서 {after} 로 바뀌었습니다.",
|
|
123
|
+
"figure.gate.contract.data-field-kind-changed.why": "대응한 데이터는 이전 종류나 단위로 쓰였습니다. 이 발행 뒤에는 같은 데이터가 거절되거나 다른 뜻이 됩니다.",
|
|
124
|
+
"figure.gate.contract.data-field-narrowed.message": "'{id}' 데이터 필드가 받는 값이 줄었습니다: {before} → {after}.",
|
|
125
|
+
"figure.gate.contract.data-field-narrowed.why": "더 받지 않는 값이 든 데이터는 통째로 거절되고, Figure는 직전 모습을 유지합니다.",
|
|
126
|
+
"figure.gate.contract.data-field-added.message": "'{id}' 데이터 필드가 새로 생겼습니다.",
|
|
127
|
+
"figure.gate.contract.data-field-added.why": "보드가 데이터를 대응하기 전까지 기본값으로 섭니다.",
|
|
128
|
+
"figure.gate.contract.data-field-label-changed.message": "'{id}' 데이터 필드의 이름이 '{after}' 이름으로 바뀌었습니다.",
|
|
129
|
+
"figure.gate.contract.data-field-label-changed.why": "대응은 ID로 하므로 그대로 동작합니다.",
|
|
130
|
+
"figure.gate.contract.data-field-default-changed.message": "'{id}' 데이터 필드의 기본값이 {before} 에서 {after} 로 바뀌었습니다.",
|
|
131
|
+
"figure.gate.contract.data-field-default-changed.why": "데이터나 저장값이 없는 Figure는 이 발행 뒤에 다르게 섭니다.",
|
|
132
|
+
"figure.gate.contract.data-bindings-changed.message": "데이터가 움직이는 대상(바인딩)이 바뀌었습니다.",
|
|
133
|
+
"figure.gate.contract.data-bindings-changed.why": "이 발행 뒤에는 같은 데이터가 다른 자세, 색, 클립을 만듭니다.",
|
|
134
134
|
"figure.gate.contract.motion-group-gone.message": "'{group}' 동작 그룹이 없어졌습니다.",
|
|
135
135
|
"figure.gate.contract.motion-group-gone.why": "보드와 데이터는 이 ID로 클립을 고릅니다. 이 발행 뒤에는 그 선택이 아무것도 하지 않습니다.",
|
|
136
136
|
"figure.gate.contract.motion-group-clip-removed.message": "'{group}' 동작 그룹에서 '{clip}' 클립이 빠졌습니다.",
|
package/translations/ms.json
CHANGED
|
@@ -117,20 +117,20 @@
|
|
|
117
117
|
"error.figure-mesh-too-large": "fail ini melebihi {max} MB, had muat turun papan untuk satu bahagian. kecilkan dan muat naik semula.",
|
|
118
118
|
"error.figure-mesh-missing": "figura ini menggunakan fail jejaring yang tiada dalam domain ini ({hash}). muat naik fail itu semula.",
|
|
119
119
|
"error.figure-package-mesh-missing": "{ref} menggunakan fail jejaring yang tiada pada pelayan ini ({hash}); ia tidak dapat dipakej.",
|
|
120
|
-
"figure.gate.contract.data-
|
|
121
|
-
"figure.gate.contract.data-
|
|
122
|
-
"figure.gate.contract.data-
|
|
123
|
-
"figure.gate.contract.data-
|
|
124
|
-
"figure.gate.contract.data-
|
|
125
|
-
"figure.gate.contract.data-
|
|
126
|
-
"figure.gate.contract.data-
|
|
127
|
-
"figure.gate.contract.data-
|
|
128
|
-
"figure.gate.contract.data-
|
|
129
|
-
"figure.gate.contract.data-
|
|
130
|
-
"figure.gate.contract.data-
|
|
131
|
-
"figure.gate.contract.data-
|
|
132
|
-
"figure.gate.contract.data-
|
|
133
|
-
"figure.gate.contract.data-
|
|
120
|
+
"figure.gate.contract.data-field-gone.message": "Medan data '{id}' telah tiada.",
|
|
121
|
+
"figure.gate.contract.data-field-gone.why": "Papan memetakan data kepada id ini. Selepas keluaran ini data itu tidak menggerakkan apa-apa.",
|
|
122
|
+
"figure.gate.contract.data-field-kind-changed.message": "Medan data '{id}' berubah daripada {before} kepada {after}.",
|
|
123
|
+
"figure.gate.contract.data-field-kind-changed.why": "Data yang dipetakan ditulis untuk jenis atau unit lama. Selepas keluaran ini data yang sama ditolak atau bermaksud lain.",
|
|
124
|
+
"figure.gate.contract.data-field-narrowed.message": "Medan data '{id}' menerima kurang: {before} → {after}.",
|
|
125
|
+
"figure.gate.contract.data-field-narrowed.why": "Data dengan nilai yang tidak lagi diterima ditolak sepenuhnya, dan figure kekal seperti sebelumnya.",
|
|
126
|
+
"figure.gate.contract.data-field-added.message": "Medan data '{id}' adalah baharu.",
|
|
127
|
+
"figure.gate.contract.data-field-added.why": "Sehingga papan memetakan data kepadanya, ia kekal pada nilai lalai.",
|
|
128
|
+
"figure.gate.contract.data-field-label-changed.message": "Medan data '{id}' kini dinamakan '{after}'.",
|
|
129
|
+
"figure.gate.contract.data-field-label-changed.why": "Pemetaan menggunakan id, jadi ia terus berfungsi.",
|
|
130
|
+
"figure.gate.contract.data-field-default-changed.message": "Nilai lalai medan data '{id}' berubah daripada {before} kepada {after}.",
|
|
131
|
+
"figure.gate.contract.data-field-default-changed.why": "Figure tanpa data atau nilai tersimpan kelihatan berbeza selepas keluaran ini.",
|
|
132
|
+
"figure.gate.contract.data-bindings-changed.message": "Apa yang digerakkan oleh data (pengikatannya) telah berubah.",
|
|
133
|
+
"figure.gate.contract.data-bindings-changed.why": "Data yang sama memberi postur, warna atau klip lain selepas keluaran ini.",
|
|
134
134
|
"figure.gate.contract.motion-group-gone.message": "Kumpulan gerakan '{group}' telah tiada.",
|
|
135
135
|
"figure.gate.contract.motion-group-gone.why": "Papan dan data memilih klipnya melalui id ini. Selepas keluaran ini pilihan itu tidak berkesan.",
|
|
136
136
|
"figure.gate.contract.motion-group-clip-removed.message": "Kumpulan gerakan '{group}' tidak lagi mengandungi '{clip}'.",
|
package/translations/zh.json
CHANGED
|
@@ -117,20 +117,20 @@
|
|
|
117
117
|
"error.figure-mesh-too-large": "文件大于 {max} MB,这是看板为一个部件下载的上限。请缩小后重新上传。",
|
|
118
118
|
"error.figure-mesh-missing": "此图形使用的网格文件({hash})不在此域中。请重新上传该文件。",
|
|
119
119
|
"error.figure-package-mesh-missing": "{ref} 使用的网格文件({hash})不在此服务器上,无法打包。",
|
|
120
|
-
"figure.gate.contract.data-
|
|
121
|
-
"figure.gate.contract.data-
|
|
122
|
-
"figure.gate.contract.data-
|
|
123
|
-
"figure.gate.contract.data-
|
|
124
|
-
"figure.gate.contract.data-
|
|
125
|
-
"figure.gate.contract.data-
|
|
126
|
-
"figure.gate.contract.data-
|
|
127
|
-
"figure.gate.contract.data-
|
|
128
|
-
"figure.gate.contract.data-
|
|
129
|
-
"figure.gate.contract.data-
|
|
130
|
-
"figure.gate.contract.data-
|
|
131
|
-
"figure.gate.contract.data-
|
|
132
|
-
"figure.gate.contract.data-
|
|
133
|
-
"figure.gate.contract.data-
|
|
120
|
+
"figure.gate.contract.data-field-gone.message": "数据字段 '{id}' 已删除。",
|
|
121
|
+
"figure.gate.contract.data-field-gone.why": "看板将数据对应到此 ID。本次发布后,这些数据不再驱动任何东西。",
|
|
122
|
+
"figure.gate.contract.data-field-kind-changed.message": "数据字段 '{id}' 从 {before} 改为 {after}。",
|
|
123
|
+
"figure.gate.contract.data-field-kind-changed.why": "已对应的数据按旧类型或单位写入。本次发布后,同样的数据会被拒绝或含义改变。",
|
|
124
|
+
"figure.gate.contract.data-field-narrowed.message": "数据字段 '{id}' 接受的值变少:{before} → {after}。",
|
|
125
|
+
"figure.gate.contract.data-field-narrowed.why": "含有不再接受之值的数据会被整体拒绝,Figure 保持之前的状态。",
|
|
126
|
+
"figure.gate.contract.data-field-added.message": "新增数据字段 '{id}'。",
|
|
127
|
+
"figure.gate.contract.data-field-added.why": "在看板对应数据之前,保持默认值。",
|
|
128
|
+
"figure.gate.contract.data-field-label-changed.message": "数据字段 '{id}' 的名称改为 '{after}'。",
|
|
129
|
+
"figure.gate.contract.data-field-label-changed.why": "对应使用 ID,因此照常工作。",
|
|
130
|
+
"figure.gate.contract.data-field-default-changed.message": "数据字段 '{id}' 的默认值从 {before} 改为 {after}。",
|
|
131
|
+
"figure.gate.contract.data-field-default-changed.why": "没有数据或保存值的 Figure 在本次发布后呈现不同。",
|
|
132
|
+
"figure.gate.contract.data-bindings-changed.message": "数据驱动的对象(绑定)已改变。",
|
|
133
|
+
"figure.gate.contract.data-bindings-changed.why": "本次发布后,同样的数据会产生不同的姿态、颜色或片段。",
|
|
134
134
|
"figure.gate.contract.motion-group-gone.message": "动作组 '{group}' 已删除。",
|
|
135
135
|
"figure.gate.contract.motion-group-gone.why": "看板和数据通过此 ID 选择片段。本次发布后该选择不起作用。",
|
|
136
136
|
"figure.gate.contract.motion-group-clip-removed.message": "动作组 '{group}' 不再包含 '{clip}'。",
|