Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/olive-moons-tickle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@objectstack/platform-objects': patch
---

Translate the object field-editor panel leaves that shipped their English source in every locale

Fourteen metadata-form keys under `object.fields['fields.*']` — the field editor on the object form (`placeholder`, `valueDomain`, `rows`, `lookupFilters`, `deleteBehavior`, `expression`, the four `summaryOperations` entries, `autonumberFormat`, `visibleWhen`, `readonlyWhen`, `requiredWhen`) — carried both their `label` and their `helpText` byte-identical to the `en` source in `zh-CN`, `ja-JP` and `es-ES`, so an author working in a translated locale read English on the most trafficked authoring panel in Studio while everything around them was translated. All 28 leaves are now translated in each locale; each was judged individually, and the 84 verdicts with their reasons are pinned in `object-field-editor-panel-echo-decisions.test.ts`, which also derives the panel's population so a re-fill or a newly added field is red on the day it lands. No key was added, removed or renamed — the bundles' shape is unchanged.
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,8 @@ export const esESMetadataForms: NonNullable<TranslationData['metadataForms']> =
helpText: "Valor predeterminado para registros nuevos (literal JSON)"
},
"fields.placeholder": {
label: "Placeholder",
helpText: "Hint text shown inside the empty input; disappears once a value is entered"
label: "Marcador de posición",
helpText: "Texto de ayuda que se muestra dentro del campo vacío; desaparece al introducir un valor"
},
"fields.maxLength": {
label: "Longitud máxima",
Expand All @@ -121,12 +121,12 @@ export const esESMetadataForms: NonNullable<TranslationData['metadataForms']> =
helpText: "Mínimo de caracteres"
},
"fields.valueDomain": {
label: "Value Domain",
helpText: "Standard the written value must belong to; a write carrying a non-member is refused"
label: "Dominio de valores",
helpText: "Estándar al que debe pertenecer el valor escrito; se rechaza una escritura con un valor que no pertenezca"
},
"fields.rows": {
label: "Rows",
helpText: "Inline editor height (text rows)"
label: "Filas",
helpText: "Altura del editor en línea (filas de texto)"
},
"fields.min": {
label: "Mínimo",
Expand Down Expand Up @@ -165,44 +165,44 @@ export const esESMetadataForms: NonNullable<TranslationData['metadataForms']> =
helpText: "Nombre del objeto de destino. En un campo tree es opcional y, si se indica, debe ser este mismo objeto (un árbol es una jerarquía dentro de su propio objeto — para enlazar con otro objeto, usa un lookup)"
},
"fields.lookupFilters": {
label: "Lookup Filters",
helpText: "Filter rules applied to the picker ({field, operator, value})"
label: "Filtros de lookup",
helpText: "Reglas de filtro aplicadas al selector ({field, operator, value})"
},
"fields.deleteBehavior": {
label: "Delete Behavior",
helpText: "What happens when the referenced record is deleted"
label: "Comportamiento al eliminar",
helpText: "Qué ocurre cuando se elimina el registro referenciado"
},
"fields.multiple": {
label: "Selección múltiple",
helpText: "Permitir seleccionar varios registros"
},
"fields.expression": {
label: "Expression",
helpText: "CEL formula expression"
label: "Expresión",
helpText: "Expresión de fórmula CEL"
},
"fields.returnType": {
label: "Tipo de retorno",
helpText: "Tipo de resultado para fórmulas"
},
"fields.summaryOperations": {
label: "Summary Operations",
helpText: "Roll-up: which child object, which field, which aggregation"
label: "Operaciones de resumen",
helpText: "Roll-up: qué objeto hijo, qué campo y qué agregación"
},
"fields.summaryOperations.object": {
label: "Object",
helpText: "Source child object name"
label: "Objeto",
helpText: "Nombre del objeto hijo de origen"
},
"fields.summaryOperations.field": {
label: "Field",
helpText: "Field on the child object to aggregate (ignored for count)"
label: "Campo",
helpText: "Campo del objeto hijo que se agrega (se ignora para count)"
},
"fields.summaryOperations.function": {
label: "Function",
helpText: "Aggregation function"
label: "Función",
helpText: "Función de agregación"
},
"fields.autonumberFormat": {
label: "Autonumber Format",
helpText: "e.g. \"INV-{0000}\"; date tokens {YYYY}/{MM}/{DD} and {field_name} interpolation supported"
label: "Formato de autonumeración",
helpText: "p. ej. \"INV-{0000}\"; admite tokens de fecha {YYYY}/{MM}/{DD} e interpolación de {field_name}"
},
"fields.language": {
label: "Idioma",
Expand All @@ -213,16 +213,16 @@ export const esESMetadataForms: NonNullable<TranslationData['metadataForms']> =
helpText: "Resume este campo en la cronología de actividad del registro"
},
"fields.visibleWhen": {
label: "Visible When",
helpText: "CEL predicate — field is shown only when TRUE"
label: "Condición de visibilidad",
helpText: "Predicado CEL: el campo solo se muestra cuando es TRUE"
},
"fields.readonlyWhen": {
label: "Readonly When",
helpText: "CEL predicate — field is read-only when TRUE (enforced server-side)"
label: "Condición de solo lectura",
helpText: "Predicado CEL: el campo es de solo lectura cuando es TRUE (aplicado en el servidor)"
},
"fields.requiredWhen": {
label: "Required When",
helpText: "CEL predicate — field is required when TRUE (enforced server-side)"
label: "Condición de obligatoriedad",
helpText: "Predicado CEL: el campo es obligatorio cuando es TRUE (aplicado en el servidor)"
},
enable: {
label: "Enable",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,34 +102,6 @@ export const esESGeneratedSourceHashes: Readonly<Record<string, string>> = {
"metadataForms.object.fields.enable.label": "fdecf828d4e86eed",
"metadataForms.object.fields.enable.searchable.label": "d8f50099e7217830",
"metadataForms.object.fields.enable.trackHistory.label": "7bc28212817b2c43",
"metadataForms.object.fields.fields.autonumberFormat.helpText": "14efe56f7cf8812e",
"metadataForms.object.fields.fields.autonumberFormat.label": "ced754e3dde1e78f",
"metadataForms.object.fields.fields.deleteBehavior.helpText": "6d94538a80df113e",
"metadataForms.object.fields.fields.deleteBehavior.label": "01c3c66572ce674b",
"metadataForms.object.fields.fields.expression.helpText": "6c559ad697dbaa85",
"metadataForms.object.fields.fields.expression.label": "cd1b52ad1588075e",
"metadataForms.object.fields.fields.lookupFilters.helpText": "ce8004df6ef768f1",
"metadataForms.object.fields.fields.lookupFilters.label": "c2860cdcfe74ad9a",
"metadataForms.object.fields.fields.placeholder.helpText": "497ea6299e075744",
"metadataForms.object.fields.fields.placeholder.label": "44d62b55b63fe718",
"metadataForms.object.fields.fields.readonlyWhen.helpText": "1daba886fd4e7f25",
"metadataForms.object.fields.fields.readonlyWhen.label": "af1c3f486fb2fbf7",
"metadataForms.object.fields.fields.requiredWhen.helpText": "997a0d21e5e32203",
"metadataForms.object.fields.fields.requiredWhen.label": "89b4d31ea46e2e76",
"metadataForms.object.fields.fields.rows.helpText": "3adb8c4c447f36b7",
"metadataForms.object.fields.fields.rows.label": "319af74cc41ea823",
"metadataForms.object.fields.fields.summaryOperations.field.helpText": "ff2f535b8f9cfffe",
"metadataForms.object.fields.fields.summaryOperations.field.label": "e21c314685cd95ca",
"metadataForms.object.fields.fields.summaryOperations.function.helpText": "b1022db50ca584b3",
"metadataForms.object.fields.fields.summaryOperations.function.label": "9ae3f998b780a051",
"metadataForms.object.fields.fields.summaryOperations.helpText": "4657cc4f93ecc549",
"metadataForms.object.fields.fields.summaryOperations.label": "bcf65520573738ee",
"metadataForms.object.fields.fields.summaryOperations.object.helpText": "7e6fc21663360844",
"metadataForms.object.fields.fields.summaryOperations.object.label": "d0c49032d95ebb36",
"metadataForms.object.fields.fields.valueDomain.helpText": "649e2e89dfeb2e8a",
"metadataForms.object.fields.fields.valueDomain.label": "18ebeb7e56e792a1",
"metadataForms.object.fields.fields.visibleWhen.helpText": "46de2d3ff57b6667",
"metadataForms.object.fields.fields.visibleWhen.label": "c852d4249db93285",
"metadataForms.object.fields.lifecycle.archive.after.helpText": "e0e76ef140528e1c",
"metadataForms.object.fields.lifecycle.archive.after.label": "05e119362ddb98d6",
"metadataForms.object.fields.lifecycle.archive.helpText": "e1d3f49d818d0807",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,8 @@ export const jaJPMetadataForms: NonNullable<TranslationData['metadataForms']> =
helpText: "新規レコードの既定値(JSON リテラル)"
},
"fields.placeholder": {
label: "Placeholder",
helpText: "Hint text shown inside the empty input; disappears once a value is entered"
label: "プレースホルダー",
helpText: "空の入力欄の内側に表示されるヒント文言。値を入力すると消えます"
},
"fields.maxLength": {
label: "最大長",
Expand All @@ -121,12 +121,12 @@ export const jaJPMetadataForms: NonNullable<TranslationData['metadataForms']> =
helpText: "最小文字数"
},
"fields.valueDomain": {
label: "Value Domain",
helpText: "Standard the written value must belong to; a write carrying a non-member is refused"
label: "値ドメイン",
helpText: "書き込む値が属していなければならない標準。メンバー以外の値を含む書き込みは拒否されます"
},
"fields.rows": {
label: "Rows",
helpText: "Inline editor height (text rows)"
label: "行数",
helpText: "インライン編集欄の高さ(テキスト行数)"
},
"fields.min": {
label: "最小値",
Expand Down Expand Up @@ -165,44 +165,44 @@ export const jaJPMetadataForms: NonNullable<TranslationData['metadataForms']> =
helpText: "対象オブジェクト名。tree フィールドでは省略可能で、指定する場合はこのオブジェクト自身でなければなりません(ツリーは同一オブジェクト内の階層です — 別のオブジェクトへリンクする場合は lookup を使います)"
},
"fields.lookupFilters": {
label: "Lookup Filters",
helpText: "Filter rules applied to the picker ({field, operator, value})"
label: "Lookup フィルター",
helpText: "ピッカーに適用されるフィルタールール({field, operator, value}"
},
"fields.deleteBehavior": {
label: "Delete Behavior",
helpText: "What happens when the referenced record is deleted"
label: "削除動作",
helpText: "参照先レコード削除時の動作"
},
"fields.multiple": {
label: "複数選択",
helpText: "複数レコードの選択を許可"
},
"fields.expression": {
label: "Expression",
helpText: "CEL formula expression"
label: "",
helpText: "CEL 数式"
},
"fields.returnType": {
label: "戻り値の型",
helpText: "公式の結果型"
},
"fields.summaryOperations": {
label: "Summary Operations",
helpText: "Roll-up: which child object, which field, which aggregation"
label: "集計操作",
helpText: "ロールアップ:どの子オブジェクトの、どのフィールドを、どの集計関数で"
},
"fields.summaryOperations.object": {
label: "Object",
helpText: "Source child object name"
label: "オブジェクト",
helpText: "集計元の子オブジェクト名"
},
"fields.summaryOperations.field": {
label: "Field",
helpText: "Field on the child object to aggregate (ignored for count)"
label: "フィールド",
helpText: "集計対象となる子オブジェクトのフィールド(count では無視)"
},
"fields.summaryOperations.function": {
label: "Function",
helpText: "Aggregation function"
label: "関数",
helpText: "集計関数"
},
"fields.autonumberFormat": {
label: "Autonumber Format",
helpText: "e.g. \"INV-{0000}\"; date tokens {YYYY}/{MM}/{DD} and {field_name} interpolation supported"
label: "自動採番フォーマット",
helpText: "例: \"INV-{0000}\"。日付トークン {YYYY}/{MM}/{DD} {field_name} の補間に対応"
},
"fields.language": {
label: "言語",
Expand All @@ -213,16 +213,16 @@ export const jaJPMetadataForms: NonNullable<TranslationData['metadataForms']> =
helpText: "レコードのアクティビティタイムラインでこのフィールドを要約する"
},
"fields.visibleWhen": {
label: "Visible When",
helpText: "CEL predicatefield is shown only when TRUE"
label: "表示条件",
helpText: "CEL 述語 — TRUE の場合のみフィールドを表示"
},
"fields.readonlyWhen": {
label: "Readonly When",
helpText: "CEL predicatefield is read-only when TRUE (enforced server-side)"
label: "読み取り専用条件",
helpText: "CEL 述語 — TRUE の場合フィールドは読み取り専用(サーバー側で強制)"
},
"fields.requiredWhen": {
label: "Required When",
helpText: "CEL predicatefield is required when TRUE (enforced server-side)"
label: "必須条件",
helpText: "CEL 述語 — TRUE の場合フィールドは必須(サーバー側で強制)"
},
enable: {
label: "Enable",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,34 +102,6 @@ export const jaJPGeneratedSourceHashes: Readonly<Record<string, string>> = {
"metadataForms.object.fields.enable.label": "fdecf828d4e86eed",
"metadataForms.object.fields.enable.searchable.label": "d8f50099e7217830",
"metadataForms.object.fields.enable.trackHistory.label": "7bc28212817b2c43",
"metadataForms.object.fields.fields.autonumberFormat.helpText": "14efe56f7cf8812e",
"metadataForms.object.fields.fields.autonumberFormat.label": "ced754e3dde1e78f",
"metadataForms.object.fields.fields.deleteBehavior.helpText": "6d94538a80df113e",
"metadataForms.object.fields.fields.deleteBehavior.label": "01c3c66572ce674b",
"metadataForms.object.fields.fields.expression.helpText": "6c559ad697dbaa85",
"metadataForms.object.fields.fields.expression.label": "cd1b52ad1588075e",
"metadataForms.object.fields.fields.lookupFilters.helpText": "ce8004df6ef768f1",
"metadataForms.object.fields.fields.lookupFilters.label": "c2860cdcfe74ad9a",
"metadataForms.object.fields.fields.placeholder.helpText": "497ea6299e075744",
"metadataForms.object.fields.fields.placeholder.label": "44d62b55b63fe718",
"metadataForms.object.fields.fields.readonlyWhen.helpText": "1daba886fd4e7f25",
"metadataForms.object.fields.fields.readonlyWhen.label": "af1c3f486fb2fbf7",
"metadataForms.object.fields.fields.requiredWhen.helpText": "997a0d21e5e32203",
"metadataForms.object.fields.fields.requiredWhen.label": "89b4d31ea46e2e76",
"metadataForms.object.fields.fields.rows.helpText": "3adb8c4c447f36b7",
"metadataForms.object.fields.fields.rows.label": "319af74cc41ea823",
"metadataForms.object.fields.fields.summaryOperations.field.helpText": "ff2f535b8f9cfffe",
"metadataForms.object.fields.fields.summaryOperations.field.label": "e21c314685cd95ca",
"metadataForms.object.fields.fields.summaryOperations.function.helpText": "b1022db50ca584b3",
"metadataForms.object.fields.fields.summaryOperations.function.label": "9ae3f998b780a051",
"metadataForms.object.fields.fields.summaryOperations.helpText": "4657cc4f93ecc549",
"metadataForms.object.fields.fields.summaryOperations.label": "bcf65520573738ee",
"metadataForms.object.fields.fields.summaryOperations.object.helpText": "7e6fc21663360844",
"metadataForms.object.fields.fields.summaryOperations.object.label": "d0c49032d95ebb36",
"metadataForms.object.fields.fields.valueDomain.helpText": "649e2e89dfeb2e8a",
"metadataForms.object.fields.fields.valueDomain.label": "18ebeb7e56e792a1",
"metadataForms.object.fields.fields.visibleWhen.helpText": "46de2d3ff57b6667",
"metadataForms.object.fields.fields.visibleWhen.label": "c852d4249db93285",
"metadataForms.object.fields.lifecycle.archive.after.helpText": "e0e76ef140528e1c",
"metadataForms.object.fields.lifecycle.archive.after.label": "05e119362ddb98d6",
"metadataForms.object.fields.lifecycle.archive.helpText": "e1d3f49d818d0807",
Expand Down
Loading
Loading