@object-ui/i18n 11.4.0 → 11.5.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @object-ui/i18n
2
2
 
3
+ ## 11.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 544d8eb: Add the app → Studio reverse bridge (ADR-0080): workspace admins see a "Design in Studio" entry in the app top bar that deep-links to the running app's owning package on the Studio design surface (`/studio/:packageId/data`). Hidden for non-admins and for apps with no owning package; package writability stays server-side (read-only packages open as browse-only).
8
+ - 1072701: Import wizard: use registered server-side import mappings (framework #2611). When an object has `mapping` metadata artifacts targeting it, the wizard shows a "Saved mapping" selector; picking one hands rename + transforms + write semantics to the server (the artifact is authoritative), replaces the manual column table with a read-only summary of the mapping, and submits `mappingName` over source-header rows (mutually exclusive with the inline column rename). `ImportRequestOptions` gains `mappingName`; the objectstack adapter gains `listImportMappings(objectName)` (feature-detected — the selector simply doesn't appear when unsupported). New `grid.import.*` strings added across all locales.
9
+
3
10
  ## 11.4.0
4
11
 
5
12
  ### Patch Changes
@@ -191,6 +191,12 @@ declare const ar: {
191
191
  templateName: string;
192
192
  save: string;
193
193
  deleteTemplate: string;
194
+ savedMapping: string;
195
+ chooseSavedMapping: string;
196
+ manualMapping: string;
197
+ transform: string;
198
+ savedMappingHint: string;
199
+ savedMappingPreviewNote: string;
194
200
  csvColumn: string;
195
201
  mapsTo: string;
196
202
  typeMismatch: string;
@@ -1263,6 +1269,7 @@ declare const ar: {
1263
1269
  };
1264
1270
  topbar: {
1265
1271
  aiAssistant: string;
1272
+ designInStudio: string;
1266
1273
  };
1267
1274
  home: {
1268
1275
  title: string;
@@ -1988,6 +1995,12 @@ declare const ar: {
1988
1995
  empty: string;
1989
1996
  kindNew: string;
1990
1997
  kindUpdate: string;
1998
+ detailLoading: string;
1999
+ detailLoadFailed: string;
2000
+ detailNone: string;
2001
+ detailChangedKeys: string;
2002
+ confirmNote: string;
2003
+ publishConfirm: string;
1991
2004
  };
1992
2005
  };
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ const ar = {
191
191
  templateName: "اسم القالب",
192
192
  save: "حفظ",
193
193
  deleteTemplate: "حذف القالب",
194
+ savedMapping: 'Saved mapping:',
195
+ chooseSavedMapping: 'Choose a saved mapping…',
196
+ manualMapping: '— Map columns manually —',
197
+ transform: 'Transform',
198
+ savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
199
+ savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
194
200
  csvColumn: "العمود",
195
201
  mapsTo: "يُعيَّن إلى",
196
202
  typeMismatch: "يبدو أنه {{type}}",
@@ -1263,6 +1269,7 @@ const ar = {
1263
1269
  },
1264
1270
  topbar: {
1265
1271
  aiAssistant: "مساعد الذكاء الاصطناعي",
1272
+ designInStudio: "التصميم في Studio",
1266
1273
  },
1267
1274
  home: {
1268
1275
  title: "الرئيسية",
@@ -1988,6 +1995,12 @@ const ar = {
1988
1995
  empty: 'لا شيء معلّق — نُشرت كل المسودات.',
1989
1996
  kindNew: 'جديد',
1990
1997
  kindUpdate: 'تحديث',
1998
+ detailLoading: 'جارٍ تحميل التفاصيل…',
1999
+ detailLoadFailed: 'تعذر تحميل تفاصيل التغيير:',
2000
+ detailNone: 'لم يتم اكتشاف اختلافات — المسودة مطابقة للنسخة المنشورة.',
2001
+ detailChangedKeys: 'تغييرات أخرى:',
2002
+ confirmNote: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
2003
+ publishConfirm: 'نشر الكل',
1991
2004
  },
1992
2005
  },
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ declare const de: {
191
191
  templateName: string;
192
192
  save: string;
193
193
  deleteTemplate: string;
194
+ savedMapping: string;
195
+ chooseSavedMapping: string;
196
+ manualMapping: string;
197
+ transform: string;
198
+ savedMappingHint: string;
199
+ savedMappingPreviewNote: string;
194
200
  csvColumn: string;
195
201
  mapsTo: string;
196
202
  typeMismatch: string;
@@ -1263,6 +1269,7 @@ declare const de: {
1263
1269
  };
1264
1270
  topbar: {
1265
1271
  aiAssistant: string;
1272
+ designInStudio: string;
1266
1273
  };
1267
1274
  home: {
1268
1275
  title: string;
@@ -1988,6 +1995,12 @@ declare const de: {
1988
1995
  empty: string;
1989
1996
  kindNew: string;
1990
1997
  kindUpdate: string;
1998
+ detailLoading: string;
1999
+ detailLoadFailed: string;
2000
+ detailNone: string;
2001
+ detailChangedKeys: string;
2002
+ confirmNote: string;
2003
+ publishConfirm: string;
1991
2004
  };
1992
2005
  };
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ const de = {
191
191
  templateName: "Vorlagenname",
192
192
  save: "Speichern",
193
193
  deleteTemplate: "Vorlage löschen",
194
+ savedMapping: 'Saved mapping:',
195
+ chooseSavedMapping: 'Choose a saved mapping…',
196
+ manualMapping: '— Map columns manually —',
197
+ transform: 'Transform',
198
+ savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
199
+ savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
194
200
  csvColumn: "Spalte",
195
201
  mapsTo: "Zugeordnet zu",
196
202
  typeMismatch: "Sieht aus wie {{type}}",
@@ -1263,6 +1269,7 @@ const de = {
1263
1269
  },
1264
1270
  topbar: {
1265
1271
  aiAssistant: "KI-Assistent",
1272
+ designInStudio: "Im Studio gestalten",
1266
1273
  },
1267
1274
  home: {
1268
1275
  title: "Startseite",
@@ -1988,6 +1995,12 @@ const de = {
1988
1995
  empty: 'Nichts ausstehend — alle Entwürfe wurden veröffentlicht.',
1989
1996
  kindNew: 'Neu',
1990
1997
  kindUpdate: 'Aktualisierung',
1998
+ detailLoading: 'Details werden geladen…',
1999
+ detailLoadFailed: 'Änderungsdetails konnten nicht geladen werden:',
2000
+ detailNone: 'Keine Unterschiede erkannt — der Entwurf entspricht der veröffentlichten Version.',
2001
+ detailChangedKeys: 'Ebenfalls geändert:',
2002
+ confirmNote: 'Beim Veröffentlichen werden alle {{count}} ausstehenden Entwürfe dieses Pakets atomar freigegeben.',
2003
+ publishConfirm: 'Alle veröffentlichen',
1991
2004
  },
1992
2005
  },
1993
2006
  filterBuilder: {
@@ -204,6 +204,12 @@ declare const en: {
204
204
  readonly templateName: "Template name";
205
205
  readonly save: "Save";
206
206
  readonly deleteTemplate: "Delete template";
207
+ readonly savedMapping: "Saved mapping:";
208
+ readonly chooseSavedMapping: "Choose a saved mapping…";
209
+ readonly manualMapping: "— Map columns manually —";
210
+ readonly transform: "Transform";
211
+ readonly savedMappingHint: "Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.";
212
+ readonly savedMappingPreviewNote: "The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.";
207
213
  readonly csvColumn: "Column";
208
214
  readonly mapsTo: "Maps To";
209
215
  readonly typeMismatch: "Looks like {{type}}";
@@ -1242,6 +1248,15 @@ declare const en: {
1242
1248
  readonly dark: "Dark";
1243
1249
  readonly system: "System";
1244
1250
  };
1251
+ readonly objectData: {
1252
+ readonly badge: "Data";
1253
+ readonly description: "URL-defined data slice — not bound to any saved view.";
1254
+ readonly filteredBy: "Filtered by";
1255
+ readonly removeFilter: "Remove filter {{field}}";
1256
+ readonly saveAsView: "Save as view";
1257
+ readonly noAccessTitle: "Access denied";
1258
+ readonly noAccess: "You do not have permission to view this data.";
1259
+ };
1245
1260
  readonly objectView: {
1246
1261
  readonly objectNotFound: "Object Not Found";
1247
1262
  readonly objectNotFoundDescription: "The object \"{{objectName}}\" does not exist in the current configuration.";
@@ -1646,6 +1661,7 @@ declare const en: {
1646
1661
  };
1647
1662
  readonly topbar: {
1648
1663
  readonly aiAssistant: "AI Assistant";
1664
+ readonly designInStudio: "Design in Studio";
1649
1665
  readonly openAssistant: "Open {{name}} assistant";
1650
1666
  readonly offline: "Offline";
1651
1667
  readonly usersOnline: "Users currently online";
@@ -1747,6 +1763,7 @@ declare const en: {
1747
1763
  readonly appsAvailable: "{{count}} apps available";
1748
1764
  readonly addApp: "Add App";
1749
1765
  readonly editApp: "Edit App";
1766
+ readonly editNavigation: "Edit Navigation";
1750
1767
  readonly manageAllApps: "Manage All Apps";
1751
1768
  readonly systemConsole: "System Console";
1752
1769
  readonly noAppsConfigured: "No apps configured";
@@ -1850,6 +1867,12 @@ declare const en: {
1850
1867
  readonly empty: "Nothing pending — every draft has been published.";
1851
1868
  readonly kindNew: "New";
1852
1869
  readonly kindUpdate: "Update";
1870
+ readonly detailLoading: "Loading detail…";
1871
+ readonly detailLoadFailed: "Could not load change detail:";
1872
+ readonly detailNone: "No differences detected — the draft matches the published version.";
1873
+ readonly detailChangedKeys: "Also changed:";
1874
+ readonly confirmNote: "Publishing releases all {{count}} pending drafts of this package atomically.";
1875
+ readonly publishConfirm: "Publish all";
1853
1876
  };
1854
1877
  };
1855
1878
  readonly renderer: {
@@ -204,6 +204,12 @@ const en = {
204
204
  templateName: 'Template name',
205
205
  save: 'Save',
206
206
  deleteTemplate: 'Delete template',
207
+ savedMapping: 'Saved mapping:',
208
+ chooseSavedMapping: 'Choose a saved mapping…',
209
+ manualMapping: '— Map columns manually —',
210
+ transform: 'Transform',
211
+ savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
212
+ savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
207
213
  csvColumn: 'Column',
208
214
  mapsTo: 'Maps To',
209
215
  typeMismatch: 'Looks like {{type}}',
@@ -1258,6 +1264,15 @@ const en = {
1258
1264
  dark: 'Dark',
1259
1265
  system: 'System',
1260
1266
  },
1267
+ objectData: {
1268
+ badge: 'Data',
1269
+ description: 'URL-defined data slice — not bound to any saved view.',
1270
+ filteredBy: 'Filtered by',
1271
+ removeFilter: 'Remove filter {{field}}',
1272
+ saveAsView: 'Save as view',
1273
+ noAccessTitle: 'Access denied',
1274
+ noAccess: 'You do not have permission to view this data.',
1275
+ },
1261
1276
  objectView: {
1262
1277
  objectNotFound: 'Object Not Found',
1263
1278
  objectNotFoundDescription: 'The object "{{objectName}}" does not exist in the current configuration.',
@@ -1662,6 +1677,7 @@ const en = {
1662
1677
  },
1663
1678
  topbar: {
1664
1679
  aiAssistant: 'AI Assistant',
1680
+ designInStudio: 'Design in Studio',
1665
1681
  openAssistant: 'Open {{name}} assistant',
1666
1682
  offline: 'Offline',
1667
1683
  usersOnline: 'Users currently online',
@@ -1763,6 +1779,7 @@ const en = {
1763
1779
  appsAvailable: '{{count}} apps available',
1764
1780
  addApp: 'Add App',
1765
1781
  editApp: 'Edit App',
1782
+ editNavigation: 'Edit Navigation',
1766
1783
  manageAllApps: 'Manage All Apps',
1767
1784
  systemConsole: 'System Console',
1768
1785
  noAppsConfigured: 'No apps configured',
@@ -1869,6 +1886,12 @@ const en = {
1869
1886
  empty: 'Nothing pending — every draft has been published.',
1870
1887
  kindNew: 'New',
1871
1888
  kindUpdate: 'Update',
1889
+ detailLoading: 'Loading detail…',
1890
+ detailLoadFailed: 'Could not load change detail:',
1891
+ detailNone: 'No differences detected — the draft matches the published version.',
1892
+ detailChangedKeys: 'Also changed:',
1893
+ confirmNote: 'Publishing releases all {{count}} pending drafts of this package atomically.',
1894
+ publishConfirm: 'Publish all',
1872
1895
  },
1873
1896
  },
1874
1897
  renderer: {
@@ -191,6 +191,12 @@ declare const es: {
191
191
  templateName: string;
192
192
  save: string;
193
193
  deleteTemplate: string;
194
+ savedMapping: string;
195
+ chooseSavedMapping: string;
196
+ manualMapping: string;
197
+ transform: string;
198
+ savedMappingHint: string;
199
+ savedMappingPreviewNote: string;
194
200
  csvColumn: string;
195
201
  mapsTo: string;
196
202
  typeMismatch: string;
@@ -1263,6 +1269,7 @@ declare const es: {
1263
1269
  };
1264
1270
  topbar: {
1265
1271
  aiAssistant: string;
1272
+ designInStudio: string;
1266
1273
  };
1267
1274
  home: {
1268
1275
  title: string;
@@ -1988,6 +1995,12 @@ declare const es: {
1988
1995
  empty: string;
1989
1996
  kindNew: string;
1990
1997
  kindUpdate: string;
1998
+ detailLoading: string;
1999
+ detailLoadFailed: string;
2000
+ detailNone: string;
2001
+ detailChangedKeys: string;
2002
+ confirmNote: string;
2003
+ publishConfirm: string;
1991
2004
  };
1992
2005
  };
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ const es = {
191
191
  templateName: "Nombre de la plantilla",
192
192
  save: "Guardar",
193
193
  deleteTemplate: "Eliminar plantilla",
194
+ savedMapping: 'Saved mapping:',
195
+ chooseSavedMapping: 'Choose a saved mapping…',
196
+ manualMapping: '— Map columns manually —',
197
+ transform: 'Transform',
198
+ savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
199
+ savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
194
200
  csvColumn: "Columna",
195
201
  mapsTo: "Se asigna a",
196
202
  typeMismatch: "Parece {{type}}",
@@ -1263,6 +1269,7 @@ const es = {
1263
1269
  },
1264
1270
  topbar: {
1265
1271
  aiAssistant: "Asistente de IA",
1272
+ designInStudio: "Diseñar en Studio",
1266
1273
  },
1267
1274
  home: {
1268
1275
  title: "Inicio",
@@ -1988,6 +1995,12 @@ const es = {
1988
1995
  empty: 'Nada pendiente — todos los borradores se han publicado.',
1989
1996
  kindNew: 'Nuevo',
1990
1997
  kindUpdate: 'Actualización',
1998
+ detailLoading: 'Cargando detalles…',
1999
+ detailLoadFailed: 'No se pudieron cargar los detalles del cambio:',
2000
+ detailNone: 'No se detectaron diferencias — el borrador coincide con la versión publicada.',
2001
+ detailChangedKeys: 'También cambió:',
2002
+ confirmNote: 'Publicar libera atómicamente los {{count}} borradores pendientes de este paquete.',
2003
+ publishConfirm: 'Publicar todo',
1991
2004
  },
1992
2005
  },
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ declare const fr: {
191
191
  templateName: string;
192
192
  save: string;
193
193
  deleteTemplate: string;
194
+ savedMapping: string;
195
+ chooseSavedMapping: string;
196
+ manualMapping: string;
197
+ transform: string;
198
+ savedMappingHint: string;
199
+ savedMappingPreviewNote: string;
194
200
  csvColumn: string;
195
201
  mapsTo: string;
196
202
  typeMismatch: string;
@@ -1263,6 +1269,7 @@ declare const fr: {
1263
1269
  };
1264
1270
  topbar: {
1265
1271
  aiAssistant: string;
1272
+ designInStudio: string;
1266
1273
  };
1267
1274
  home: {
1268
1275
  title: string;
@@ -1988,6 +1995,12 @@ declare const fr: {
1988
1995
  empty: string;
1989
1996
  kindNew: string;
1990
1997
  kindUpdate: string;
1998
+ detailLoading: string;
1999
+ detailLoadFailed: string;
2000
+ detailNone: string;
2001
+ detailChangedKeys: string;
2002
+ confirmNote: string;
2003
+ publishConfirm: string;
1991
2004
  };
1992
2005
  };
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ const fr = {
191
191
  templateName: "Nom du modèle",
192
192
  save: "Enregistrer",
193
193
  deleteTemplate: "Supprimer le modèle",
194
+ savedMapping: 'Saved mapping:',
195
+ chooseSavedMapping: 'Choose a saved mapping…',
196
+ manualMapping: '— Map columns manually —',
197
+ transform: 'Transform',
198
+ savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
199
+ savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
194
200
  csvColumn: "Colonne",
195
201
  mapsTo: "Correspond à",
196
202
  typeMismatch: "Ressemble à {{type}}",
@@ -1263,6 +1269,7 @@ const fr = {
1263
1269
  },
1264
1270
  topbar: {
1265
1271
  aiAssistant: "Assistant IA",
1272
+ designInStudio: "Concevoir dans Studio",
1266
1273
  },
1267
1274
  home: {
1268
1275
  title: "Accueil",
@@ -1988,6 +1995,12 @@ const fr = {
1988
1995
  empty: 'Rien en attente — tous les brouillons ont été publiés.',
1989
1996
  kindNew: 'Nouveau',
1990
1997
  kindUpdate: 'Mise à jour',
1998
+ detailLoading: 'Chargement des détails…',
1999
+ detailLoadFailed: 'Impossible de charger les détails de la modification :',
2000
+ detailNone: 'Aucune différence détectée — le brouillon correspond à la version publiée.',
2001
+ detailChangedKeys: 'Également modifié :',
2002
+ confirmNote: 'La publication libère atomiquement les {{count}} brouillons en attente de ce paquet.',
2003
+ publishConfirm: 'Tout publier',
1991
2004
  },
1992
2005
  },
1993
2006
  filterBuilder: {
@@ -216,6 +216,12 @@ export declare const builtInLocales: {
216
216
  readonly templateName: "Template name";
217
217
  readonly save: "Save";
218
218
  readonly deleteTemplate: "Delete template";
219
+ readonly savedMapping: "Saved mapping:";
220
+ readonly chooseSavedMapping: "Choose a saved mapping…";
221
+ readonly manualMapping: "— Map columns manually —";
222
+ readonly transform: "Transform";
223
+ readonly savedMappingHint: "Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.";
224
+ readonly savedMappingPreviewNote: "The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.";
219
225
  readonly csvColumn: "Column";
220
226
  readonly mapsTo: "Maps To";
221
227
  readonly typeMismatch: "Looks like {{type}}";
@@ -1254,6 +1260,15 @@ export declare const builtInLocales: {
1254
1260
  readonly dark: "Dark";
1255
1261
  readonly system: "System";
1256
1262
  };
1263
+ readonly objectData: {
1264
+ readonly badge: "Data";
1265
+ readonly description: "URL-defined data slice — not bound to any saved view.";
1266
+ readonly filteredBy: "Filtered by";
1267
+ readonly removeFilter: "Remove filter {{field}}";
1268
+ readonly saveAsView: "Save as view";
1269
+ readonly noAccessTitle: "Access denied";
1270
+ readonly noAccess: "You do not have permission to view this data.";
1271
+ };
1257
1272
  readonly objectView: {
1258
1273
  readonly objectNotFound: "Object Not Found";
1259
1274
  readonly objectNotFoundDescription: "The object \"{{objectName}}\" does not exist in the current configuration.";
@@ -1658,6 +1673,7 @@ export declare const builtInLocales: {
1658
1673
  };
1659
1674
  readonly topbar: {
1660
1675
  readonly aiAssistant: "AI Assistant";
1676
+ readonly designInStudio: "Design in Studio";
1661
1677
  readonly openAssistant: "Open {{name}} assistant";
1662
1678
  readonly offline: "Offline";
1663
1679
  readonly usersOnline: "Users currently online";
@@ -1759,6 +1775,7 @@ export declare const builtInLocales: {
1759
1775
  readonly appsAvailable: "{{count}} apps available";
1760
1776
  readonly addApp: "Add App";
1761
1777
  readonly editApp: "Edit App";
1778
+ readonly editNavigation: "Edit Navigation";
1762
1779
  readonly manageAllApps: "Manage All Apps";
1763
1780
  readonly systemConsole: "System Console";
1764
1781
  readonly noAppsConfigured: "No apps configured";
@@ -1862,6 +1879,12 @@ export declare const builtInLocales: {
1862
1879
  readonly empty: "Nothing pending — every draft has been published.";
1863
1880
  readonly kindNew: "New";
1864
1881
  readonly kindUpdate: "Update";
1882
+ readonly detailLoading: "Loading detail…";
1883
+ readonly detailLoadFailed: "Could not load change detail:";
1884
+ readonly detailNone: "No differences detected — the draft matches the published version.";
1885
+ readonly detailChangedKeys: "Also changed:";
1886
+ readonly confirmNote: "Publishing releases all {{count}} pending drafts of this package atomically.";
1887
+ readonly publishConfirm: "Publish all";
1865
1888
  };
1866
1889
  };
1867
1890
  readonly renderer: {
@@ -2560,6 +2583,12 @@ export declare const builtInLocales: {
2560
2583
  readonly templateName: "模板名称";
2561
2584
  readonly save: "保存";
2562
2585
  readonly deleteTemplate: "删除模板";
2586
+ readonly savedMapping: "已保存的映射:";
2587
+ readonly chooseSavedMapping: "选择已保存的映射…";
2588
+ readonly manualMapping: "— 手动映射列 —";
2589
+ readonly transform: "转换";
2590
+ readonly savedMappingHint: "映射“{{name}}”将在服务端应用重命名 + 转换 + 类型强转,列映射为只读。";
2591
+ readonly savedMappingPreviewNote: "预览显示的是原始列;导入时,映射“{{name}}”将在服务端应用重命名、转换与类型强转。";
2563
2592
  readonly csvColumn: "列";
2564
2593
  readonly mapsTo: "映射到";
2565
2594
  readonly typeMismatch: "疑似{{type}}";
@@ -3662,6 +3691,15 @@ export declare const builtInLocales: {
3662
3691
  readonly dark: "深色";
3663
3692
  readonly system: "系统";
3664
3693
  };
3694
+ readonly objectData: {
3695
+ readonly badge: "数据";
3696
+ readonly description: "由 URL 定义的数据切面——不绑定任何已保存视图。";
3697
+ readonly filteredBy: "筛选条件";
3698
+ readonly removeFilter: "移除筛选 {{field}}";
3699
+ readonly saveAsView: "另存为视图";
3700
+ readonly noAccessTitle: "无访问权限";
3701
+ readonly noAccess: "您没有权限查看此数据。";
3702
+ };
3665
3703
  readonly objectView: {
3666
3704
  readonly systemViewReadonly: "系统视图由代码定义,只读。";
3667
3705
  readonly expandToPage: "以完整页面打开";
@@ -4079,6 +4117,7 @@ export declare const builtInLocales: {
4079
4117
  };
4080
4118
  readonly topbar: {
4081
4119
  readonly aiAssistant: "AI 助手";
4120
+ readonly designInStudio: "在 Studio 中设计";
4082
4121
  readonly openAssistant: "打开{{name}}助手";
4083
4122
  readonly offline: "离线";
4084
4123
  readonly usersOnline: "当前在线用户";
@@ -4180,6 +4219,7 @@ export declare const builtInLocales: {
4180
4219
  readonly appsAvailable: "共 {{count}} 个可用应用";
4181
4220
  readonly addApp: "新增应用";
4182
4221
  readonly editApp: "编辑应用";
4222
+ readonly editNavigation: "编辑导航";
4183
4223
  readonly manageAllApps: "管理所有应用";
4184
4224
  readonly systemConsole: "系统控制台";
4185
4225
  readonly noAppsConfigured: "尚未配置任何应用";
@@ -4283,6 +4323,12 @@ export declare const builtInLocales: {
4283
4323
  readonly empty: "没有待发布的内容 —— 所有草稿均已发布。";
4284
4324
  readonly kindNew: "新增";
4285
4325
  readonly kindUpdate: "更新";
4326
+ readonly detailLoading: "正在加载详情…";
4327
+ readonly detailLoadFailed: "无法加载变更详情:";
4328
+ readonly detailNone: "未检测到差异 —— 草稿与已发布版本一致。";
4329
+ readonly detailChangedKeys: "其他变更:";
4330
+ readonly confirmNote: "发布将一次性(原子地)发布此包全部 {{count}} 个待发布草稿。";
4331
+ readonly publishConfirm: "全部发布";
4286
4332
  };
4287
4333
  };
4288
4334
  readonly renderer: {
@@ -4971,6 +5017,12 @@ export declare const builtInLocales: {
4971
5017
  templateName: string;
4972
5018
  save: string;
4973
5019
  deleteTemplate: string;
5020
+ savedMapping: string;
5021
+ chooseSavedMapping: string;
5022
+ manualMapping: string;
5023
+ transform: string;
5024
+ savedMappingHint: string;
5025
+ savedMappingPreviewNote: string;
4974
5026
  csvColumn: string;
4975
5027
  mapsTo: string;
4976
5028
  typeMismatch: string;
@@ -6043,6 +6095,7 @@ export declare const builtInLocales: {
6043
6095
  };
6044
6096
  topbar: {
6045
6097
  aiAssistant: string;
6098
+ designInStudio: string;
6046
6099
  };
6047
6100
  home: {
6048
6101
  title: string;
@@ -6768,6 +6821,12 @@ export declare const builtInLocales: {
6768
6821
  empty: string;
6769
6822
  kindNew: string;
6770
6823
  kindUpdate: string;
6824
+ detailLoading: string;
6825
+ detailLoadFailed: string;
6826
+ detailNone: string;
6827
+ detailChangedKeys: string;
6828
+ confirmNote: string;
6829
+ publishConfirm: string;
6771
6830
  };
6772
6831
  };
6773
6832
  filterBuilder: {
@@ -7007,6 +7066,12 @@ export declare const builtInLocales: {
7007
7066
  templateName: string;
7008
7067
  save: string;
7009
7068
  deleteTemplate: string;
7069
+ savedMapping: string;
7070
+ chooseSavedMapping: string;
7071
+ manualMapping: string;
7072
+ transform: string;
7073
+ savedMappingHint: string;
7074
+ savedMappingPreviewNote: string;
7010
7075
  csvColumn: string;
7011
7076
  mapsTo: string;
7012
7077
  typeMismatch: string;
@@ -8079,6 +8144,7 @@ export declare const builtInLocales: {
8079
8144
  };
8080
8145
  topbar: {
8081
8146
  aiAssistant: string;
8147
+ designInStudio: string;
8082
8148
  };
8083
8149
  home: {
8084
8150
  title: string;
@@ -8804,6 +8870,12 @@ export declare const builtInLocales: {
8804
8870
  empty: string;
8805
8871
  kindNew: string;
8806
8872
  kindUpdate: string;
8873
+ detailLoading: string;
8874
+ detailLoadFailed: string;
8875
+ detailNone: string;
8876
+ detailChangedKeys: string;
8877
+ confirmNote: string;
8878
+ publishConfirm: string;
8807
8879
  };
8808
8880
  };
8809
8881
  filterBuilder: {
@@ -9043,6 +9115,12 @@ export declare const builtInLocales: {
9043
9115
  templateName: string;
9044
9116
  save: string;
9045
9117
  deleteTemplate: string;
9118
+ savedMapping: string;
9119
+ chooseSavedMapping: string;
9120
+ manualMapping: string;
9121
+ transform: string;
9122
+ savedMappingHint: string;
9123
+ savedMappingPreviewNote: string;
9046
9124
  csvColumn: string;
9047
9125
  mapsTo: string;
9048
9126
  typeMismatch: string;
@@ -10115,6 +10193,7 @@ export declare const builtInLocales: {
10115
10193
  };
10116
10194
  topbar: {
10117
10195
  aiAssistant: string;
10196
+ designInStudio: string;
10118
10197
  };
10119
10198
  home: {
10120
10199
  title: string;
@@ -10840,6 +10919,12 @@ export declare const builtInLocales: {
10840
10919
  empty: string;
10841
10920
  kindNew: string;
10842
10921
  kindUpdate: string;
10922
+ detailLoading: string;
10923
+ detailLoadFailed: string;
10924
+ detailNone: string;
10925
+ detailChangedKeys: string;
10926
+ confirmNote: string;
10927
+ publishConfirm: string;
10843
10928
  };
10844
10929
  };
10845
10930
  filterBuilder: {
@@ -11079,6 +11164,12 @@ export declare const builtInLocales: {
11079
11164
  templateName: string;
11080
11165
  save: string;
11081
11166
  deleteTemplate: string;
11167
+ savedMapping: string;
11168
+ chooseSavedMapping: string;
11169
+ manualMapping: string;
11170
+ transform: string;
11171
+ savedMappingHint: string;
11172
+ savedMappingPreviewNote: string;
11082
11173
  csvColumn: string;
11083
11174
  mapsTo: string;
11084
11175
  typeMismatch: string;
@@ -12151,6 +12242,7 @@ export declare const builtInLocales: {
12151
12242
  };
12152
12243
  topbar: {
12153
12244
  aiAssistant: string;
12245
+ designInStudio: string;
12154
12246
  };
12155
12247
  home: {
12156
12248
  title: string;
@@ -12876,6 +12968,12 @@ export declare const builtInLocales: {
12876
12968
  empty: string;
12877
12969
  kindNew: string;
12878
12970
  kindUpdate: string;
12971
+ detailLoading: string;
12972
+ detailLoadFailed: string;
12973
+ detailNone: string;
12974
+ detailChangedKeys: string;
12975
+ confirmNote: string;
12976
+ publishConfirm: string;
12879
12977
  };
12880
12978
  };
12881
12979
  filterBuilder: {
@@ -13115,6 +13213,12 @@ export declare const builtInLocales: {
13115
13213
  templateName: string;
13116
13214
  save: string;
13117
13215
  deleteTemplate: string;
13216
+ savedMapping: string;
13217
+ chooseSavedMapping: string;
13218
+ manualMapping: string;
13219
+ transform: string;
13220
+ savedMappingHint: string;
13221
+ savedMappingPreviewNote: string;
13118
13222
  csvColumn: string;
13119
13223
  mapsTo: string;
13120
13224
  typeMismatch: string;
@@ -14187,6 +14291,7 @@ export declare const builtInLocales: {
14187
14291
  };
14188
14292
  topbar: {
14189
14293
  aiAssistant: string;
14294
+ designInStudio: string;
14190
14295
  };
14191
14296
  home: {
14192
14297
  title: string;
@@ -14912,6 +15017,12 @@ export declare const builtInLocales: {
14912
15017
  empty: string;
14913
15018
  kindNew: string;
14914
15019
  kindUpdate: string;
15020
+ detailLoading: string;
15021
+ detailLoadFailed: string;
15022
+ detailNone: string;
15023
+ detailChangedKeys: string;
15024
+ confirmNote: string;
15025
+ publishConfirm: string;
14915
15026
  };
14916
15027
  };
14917
15028
  filterBuilder: {
@@ -15151,6 +15262,12 @@ export declare const builtInLocales: {
15151
15262
  templateName: string;
15152
15263
  save: string;
15153
15264
  deleteTemplate: string;
15265
+ savedMapping: string;
15266
+ chooseSavedMapping: string;
15267
+ manualMapping: string;
15268
+ transform: string;
15269
+ savedMappingHint: string;
15270
+ savedMappingPreviewNote: string;
15154
15271
  csvColumn: string;
15155
15272
  mapsTo: string;
15156
15273
  typeMismatch: string;
@@ -16223,6 +16340,7 @@ export declare const builtInLocales: {
16223
16340
  };
16224
16341
  topbar: {
16225
16342
  aiAssistant: string;
16343
+ designInStudio: string;
16226
16344
  };
16227
16345
  home: {
16228
16346
  title: string;
@@ -16948,6 +17066,12 @@ export declare const builtInLocales: {
16948
17066
  empty: string;
16949
17067
  kindNew: string;
16950
17068
  kindUpdate: string;
17069
+ detailLoading: string;
17070
+ detailLoadFailed: string;
17071
+ detailNone: string;
17072
+ detailChangedKeys: string;
17073
+ confirmNote: string;
17074
+ publishConfirm: string;
16951
17075
  };
16952
17076
  };
16953
17077
  filterBuilder: {
@@ -17187,6 +17311,12 @@ export declare const builtInLocales: {
17187
17311
  templateName: string;
17188
17312
  save: string;
17189
17313
  deleteTemplate: string;
17314
+ savedMapping: string;
17315
+ chooseSavedMapping: string;
17316
+ manualMapping: string;
17317
+ transform: string;
17318
+ savedMappingHint: string;
17319
+ savedMappingPreviewNote: string;
17190
17320
  csvColumn: string;
17191
17321
  mapsTo: string;
17192
17322
  typeMismatch: string;
@@ -18259,6 +18389,7 @@ export declare const builtInLocales: {
18259
18389
  };
18260
18390
  topbar: {
18261
18391
  aiAssistant: string;
18392
+ designInStudio: string;
18262
18393
  };
18263
18394
  home: {
18264
18395
  title: string;
@@ -18984,6 +19115,12 @@ export declare const builtInLocales: {
18984
19115
  empty: string;
18985
19116
  kindNew: string;
18986
19117
  kindUpdate: string;
19118
+ detailLoading: string;
19119
+ detailLoadFailed: string;
19120
+ detailNone: string;
19121
+ detailChangedKeys: string;
19122
+ confirmNote: string;
19123
+ publishConfirm: string;
18987
19124
  };
18988
19125
  };
18989
19126
  filterBuilder: {
@@ -19223,6 +19360,12 @@ export declare const builtInLocales: {
19223
19360
  templateName: string;
19224
19361
  save: string;
19225
19362
  deleteTemplate: string;
19363
+ savedMapping: string;
19364
+ chooseSavedMapping: string;
19365
+ manualMapping: string;
19366
+ transform: string;
19367
+ savedMappingHint: string;
19368
+ savedMappingPreviewNote: string;
19226
19369
  csvColumn: string;
19227
19370
  mapsTo: string;
19228
19371
  typeMismatch: string;
@@ -20295,6 +20438,7 @@ export declare const builtInLocales: {
20295
20438
  };
20296
20439
  topbar: {
20297
20440
  aiAssistant: string;
20441
+ designInStudio: string;
20298
20442
  };
20299
20443
  home: {
20300
20444
  title: string;
@@ -21020,6 +21164,12 @@ export declare const builtInLocales: {
21020
21164
  empty: string;
21021
21165
  kindNew: string;
21022
21166
  kindUpdate: string;
21167
+ detailLoading: string;
21168
+ detailLoadFailed: string;
21169
+ detailNone: string;
21170
+ detailChangedKeys: string;
21171
+ confirmNote: string;
21172
+ publishConfirm: string;
21023
21173
  };
21024
21174
  };
21025
21175
  filterBuilder: {
@@ -191,6 +191,12 @@ declare const ja: {
191
191
  templateName: string;
192
192
  save: string;
193
193
  deleteTemplate: string;
194
+ savedMapping: string;
195
+ chooseSavedMapping: string;
196
+ manualMapping: string;
197
+ transform: string;
198
+ savedMappingHint: string;
199
+ savedMappingPreviewNote: string;
194
200
  csvColumn: string;
195
201
  mapsTo: string;
196
202
  typeMismatch: string;
@@ -1263,6 +1269,7 @@ declare const ja: {
1263
1269
  };
1264
1270
  topbar: {
1265
1271
  aiAssistant: string;
1272
+ designInStudio: string;
1266
1273
  };
1267
1274
  home: {
1268
1275
  title: string;
@@ -1988,6 +1995,12 @@ declare const ja: {
1988
1995
  empty: string;
1989
1996
  kindNew: string;
1990
1997
  kindUpdate: string;
1998
+ detailLoading: string;
1999
+ detailLoadFailed: string;
2000
+ detailNone: string;
2001
+ detailChangedKeys: string;
2002
+ confirmNote: string;
2003
+ publishConfirm: string;
1991
2004
  };
1992
2005
  };
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ const ja = {
191
191
  templateName: "テンプレート名",
192
192
  save: "保存",
193
193
  deleteTemplate: "テンプレートを削除",
194
+ savedMapping: '保存済みマッピング:',
195
+ chooseSavedMapping: '保存済みマッピングを選択…',
196
+ manualMapping: '— 列を手動でマッピング —',
197
+ transform: '変換',
198
+ savedMappingHint: 'マッピング「{{name}}」はサーバー側でリネーム+変換+型変換を適用します。列マッピングは読み取り専用です。',
199
+ savedMappingPreviewNote: 'プレビューは元の列を表示しています。インポート時、マッピング「{{name}}」がサーバー側でリネーム・変換・型変換を適用します。',
194
200
  csvColumn: "列",
195
201
  mapsTo: "マッピング先",
196
202
  typeMismatch: "{{type}}のようです",
@@ -1263,6 +1269,7 @@ const ja = {
1263
1269
  },
1264
1270
  topbar: {
1265
1271
  aiAssistant: "AI アシスタント",
1272
+ designInStudio: "Studio でデザイン",
1266
1273
  },
1267
1274
  home: {
1268
1275
  title: "ホーム",
@@ -1988,6 +1995,12 @@ const ja = {
1988
1995
  empty: '保留中の変更はありません — すべてのドラフトが公開済みです。',
1989
1996
  kindNew: '新規',
1990
1997
  kindUpdate: '更新',
1998
+ detailLoading: '詳細を読み込み中…',
1999
+ detailLoadFailed: '変更の詳細を読み込めませんでした:',
2000
+ detailNone: '差分は検出されませんでした — ドラフトは公開版と一致しています。',
2001
+ detailChangedKeys: 'その他の変更:',
2002
+ confirmNote: '公開すると、このパッケージの保留中ドラフト {{count}} 件がまとめて(アトミックに)公開されます。',
2003
+ publishConfirm: 'すべて公開',
1991
2004
  },
1992
2005
  },
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ declare const ko: {
191
191
  templateName: string;
192
192
  save: string;
193
193
  deleteTemplate: string;
194
+ savedMapping: string;
195
+ chooseSavedMapping: string;
196
+ manualMapping: string;
197
+ transform: string;
198
+ savedMappingHint: string;
199
+ savedMappingPreviewNote: string;
194
200
  csvColumn: string;
195
201
  mapsTo: string;
196
202
  typeMismatch: string;
@@ -1263,6 +1269,7 @@ declare const ko: {
1263
1269
  };
1264
1270
  topbar: {
1265
1271
  aiAssistant: string;
1272
+ designInStudio: string;
1266
1273
  };
1267
1274
  home: {
1268
1275
  title: string;
@@ -1988,6 +1995,12 @@ declare const ko: {
1988
1995
  empty: string;
1989
1996
  kindNew: string;
1990
1997
  kindUpdate: string;
1998
+ detailLoading: string;
1999
+ detailLoadFailed: string;
2000
+ detailNone: string;
2001
+ detailChangedKeys: string;
2002
+ confirmNote: string;
2003
+ publishConfirm: string;
1991
2004
  };
1992
2005
  };
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ const ko = {
191
191
  templateName: "템플릿 이름",
192
192
  save: "저장",
193
193
  deleteTemplate: "템플릿 삭제",
194
+ savedMapping: 'Saved mapping:',
195
+ chooseSavedMapping: 'Choose a saved mapping…',
196
+ manualMapping: '— Map columns manually —',
197
+ transform: 'Transform',
198
+ savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
199
+ savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
194
200
  csvColumn: "열",
195
201
  mapsTo: "매핑 대상",
196
202
  typeMismatch: "{{type}}인 것 같습니다",
@@ -1263,6 +1269,7 @@ const ko = {
1263
1269
  },
1264
1270
  topbar: {
1265
1271
  aiAssistant: "AI 어시스턴트",
1272
+ designInStudio: "Studio에서 디자인",
1266
1273
  },
1267
1274
  home: {
1268
1275
  title: "홈",
@@ -1988,6 +1995,12 @@ const ko = {
1988
1995
  empty: '대기 중인 항목 없음 — 모든 드래프트가 게시되었습니다.',
1989
1996
  kindNew: '신규',
1990
1997
  kindUpdate: '업데이트',
1998
+ detailLoading: '상세 정보 로드 중…',
1999
+ detailLoadFailed: '변경 상세 정보를 불러오지 못했습니다:',
2000
+ detailNone: '차이가 감지되지 않았습니다 — 초안이 게시된 버전과 일치합니다.',
2001
+ detailChangedKeys: '기타 변경:',
2002
+ confirmNote: '게시하면 이 패키지의 대기 중인 초안 {{count}}개가 한 번에(원자적으로) 게시됩니다.',
2003
+ publishConfirm: '모두 게시',
1991
2004
  },
1992
2005
  },
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ declare const pt: {
191
191
  templateName: string;
192
192
  save: string;
193
193
  deleteTemplate: string;
194
+ savedMapping: string;
195
+ chooseSavedMapping: string;
196
+ manualMapping: string;
197
+ transform: string;
198
+ savedMappingHint: string;
199
+ savedMappingPreviewNote: string;
194
200
  csvColumn: string;
195
201
  mapsTo: string;
196
202
  typeMismatch: string;
@@ -1263,6 +1269,7 @@ declare const pt: {
1263
1269
  };
1264
1270
  topbar: {
1265
1271
  aiAssistant: string;
1272
+ designInStudio: string;
1266
1273
  };
1267
1274
  home: {
1268
1275
  title: string;
@@ -1988,6 +1995,12 @@ declare const pt: {
1988
1995
  empty: string;
1989
1996
  kindNew: string;
1990
1997
  kindUpdate: string;
1998
+ detailLoading: string;
1999
+ detailLoadFailed: string;
2000
+ detailNone: string;
2001
+ detailChangedKeys: string;
2002
+ confirmNote: string;
2003
+ publishConfirm: string;
1991
2004
  };
1992
2005
  };
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ const pt = {
191
191
  templateName: "Nome do modelo",
192
192
  save: "Salvar",
193
193
  deleteTemplate: "Excluir modelo",
194
+ savedMapping: 'Saved mapping:',
195
+ chooseSavedMapping: 'Choose a saved mapping…',
196
+ manualMapping: '— Map columns manually —',
197
+ transform: 'Transform',
198
+ savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
199
+ savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
194
200
  csvColumn: "Coluna",
195
201
  mapsTo: "Mapeia para",
196
202
  typeMismatch: "Parece {{type}}",
@@ -1263,6 +1269,7 @@ const pt = {
1263
1269
  },
1264
1270
  topbar: {
1265
1271
  aiAssistant: "Assistente de IA",
1272
+ designInStudio: "Projetar no Studio",
1266
1273
  },
1267
1274
  home: {
1268
1275
  title: "Início",
@@ -1988,6 +1995,12 @@ const pt = {
1988
1995
  empty: 'Nada pendente — todos os rascunhos foram publicados.',
1989
1996
  kindNew: 'Novo',
1990
1997
  kindUpdate: 'Atualização',
1998
+ detailLoading: 'Carregando detalhes…',
1999
+ detailLoadFailed: 'Não foi possível carregar os detalhes da alteração:',
2000
+ detailNone: 'Nenhuma diferença detectada — o rascunho corresponde à versão publicada.',
2001
+ detailChangedKeys: 'Também alterado:',
2002
+ confirmNote: 'Publicar libera atomicamente todos os {{count}} rascunhos pendentes deste pacote.',
2003
+ publishConfirm: 'Publicar tudo',
1991
2004
  },
1992
2005
  },
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ declare const ru: {
191
191
  templateName: string;
192
192
  save: string;
193
193
  deleteTemplate: string;
194
+ savedMapping: string;
195
+ chooseSavedMapping: string;
196
+ manualMapping: string;
197
+ transform: string;
198
+ savedMappingHint: string;
199
+ savedMappingPreviewNote: string;
194
200
  csvColumn: string;
195
201
  mapsTo: string;
196
202
  typeMismatch: string;
@@ -1263,6 +1269,7 @@ declare const ru: {
1263
1269
  };
1264
1270
  topbar: {
1265
1271
  aiAssistant: string;
1272
+ designInStudio: string;
1266
1273
  };
1267
1274
  home: {
1268
1275
  title: string;
@@ -1988,6 +1995,12 @@ declare const ru: {
1988
1995
  empty: string;
1989
1996
  kindNew: string;
1990
1997
  kindUpdate: string;
1998
+ detailLoading: string;
1999
+ detailLoadFailed: string;
2000
+ detailNone: string;
2001
+ detailChangedKeys: string;
2002
+ confirmNote: string;
2003
+ publishConfirm: string;
1991
2004
  };
1992
2005
  };
1993
2006
  filterBuilder: {
@@ -191,6 +191,12 @@ const ru = {
191
191
  templateName: "Название шаблона",
192
192
  save: "Сохранить",
193
193
  deleteTemplate: "Удалить шаблон",
194
+ savedMapping: 'Saved mapping:',
195
+ chooseSavedMapping: 'Choose a saved mapping…',
196
+ manualMapping: '— Map columns manually —',
197
+ transform: 'Transform',
198
+ savedMappingHint: 'Mapping “{{name}}” applies rename + transforms + type coercion on the server. Column mapping is read-only.',
199
+ savedMappingPreviewNote: 'The preview shows your source columns; on import, mapping “{{name}}” applies rename, transforms and type coercion on the server.',
194
200
  csvColumn: "Столбец",
195
201
  mapsTo: "Сопоставляется с",
196
202
  typeMismatch: "Похоже на {{type}}",
@@ -1263,6 +1269,7 @@ const ru = {
1263
1269
  },
1264
1270
  topbar: {
1265
1271
  aiAssistant: "ИИ-ассистент",
1272
+ designInStudio: "Дизайн в Studio",
1266
1273
  },
1267
1274
  home: {
1268
1275
  title: "Главная",
@@ -1988,6 +1995,12 @@ const ru = {
1988
1995
  empty: 'Ничего не ожидает — все черновики опубликованы.',
1989
1996
  kindNew: 'Новое',
1990
1997
  kindUpdate: 'Обновление',
1998
+ detailLoading: 'Загрузка деталей…',
1999
+ detailLoadFailed: 'Не удалось загрузить детали изменения:',
2000
+ detailNone: 'Различий не обнаружено — черновик совпадает с опубликованной версией.',
2001
+ detailChangedKeys: 'Также изменено:',
2002
+ confirmNote: 'Публикация атомарно выпускает все {{count}} ожидающих черновиков этого пакета.',
2003
+ publishConfirm: 'Опубликовать всё',
1991
2004
  },
1992
2005
  },
1993
2006
  filterBuilder: {
@@ -204,6 +204,12 @@ declare const zh: {
204
204
  readonly templateName: "模板名称";
205
205
  readonly save: "保存";
206
206
  readonly deleteTemplate: "删除模板";
207
+ readonly savedMapping: "已保存的映射:";
208
+ readonly chooseSavedMapping: "选择已保存的映射…";
209
+ readonly manualMapping: "— 手动映射列 —";
210
+ readonly transform: "转换";
211
+ readonly savedMappingHint: "映射“{{name}}”将在服务端应用重命名 + 转换 + 类型强转,列映射为只读。";
212
+ readonly savedMappingPreviewNote: "预览显示的是原始列;导入时,映射“{{name}}”将在服务端应用重命名、转换与类型强转。";
207
213
  readonly csvColumn: "列";
208
214
  readonly mapsTo: "映射到";
209
215
  readonly typeMismatch: "疑似{{type}}";
@@ -1306,6 +1312,15 @@ declare const zh: {
1306
1312
  readonly dark: "深色";
1307
1313
  readonly system: "系统";
1308
1314
  };
1315
+ readonly objectData: {
1316
+ readonly badge: "数据";
1317
+ readonly description: "由 URL 定义的数据切面——不绑定任何已保存视图。";
1318
+ readonly filteredBy: "筛选条件";
1319
+ readonly removeFilter: "移除筛选 {{field}}";
1320
+ readonly saveAsView: "另存为视图";
1321
+ readonly noAccessTitle: "无访问权限";
1322
+ readonly noAccess: "您没有权限查看此数据。";
1323
+ };
1309
1324
  readonly objectView: {
1310
1325
  readonly systemViewReadonly: "系统视图由代码定义,只读。";
1311
1326
  readonly expandToPage: "以完整页面打开";
@@ -1723,6 +1738,7 @@ declare const zh: {
1723
1738
  };
1724
1739
  readonly topbar: {
1725
1740
  readonly aiAssistant: "AI 助手";
1741
+ readonly designInStudio: "在 Studio 中设计";
1726
1742
  readonly openAssistant: "打开{{name}}助手";
1727
1743
  readonly offline: "离线";
1728
1744
  readonly usersOnline: "当前在线用户";
@@ -1824,6 +1840,7 @@ declare const zh: {
1824
1840
  readonly appsAvailable: "共 {{count}} 个可用应用";
1825
1841
  readonly addApp: "新增应用";
1826
1842
  readonly editApp: "编辑应用";
1843
+ readonly editNavigation: "编辑导航";
1827
1844
  readonly manageAllApps: "管理所有应用";
1828
1845
  readonly systemConsole: "系统控制台";
1829
1846
  readonly noAppsConfigured: "尚未配置任何应用";
@@ -1927,6 +1944,12 @@ declare const zh: {
1927
1944
  readonly empty: "没有待发布的内容 —— 所有草稿均已发布。";
1928
1945
  readonly kindNew: "新增";
1929
1946
  readonly kindUpdate: "更新";
1947
+ readonly detailLoading: "正在加载详情…";
1948
+ readonly detailLoadFailed: "无法加载变更详情:";
1949
+ readonly detailNone: "未检测到差异 —— 草稿与已发布版本一致。";
1950
+ readonly detailChangedKeys: "其他变更:";
1951
+ readonly confirmNote: "发布将一次性(原子地)发布此包全部 {{count}} 个待发布草稿。";
1952
+ readonly publishConfirm: "全部发布";
1930
1953
  };
1931
1954
  };
1932
1955
  readonly renderer: {
@@ -204,6 +204,12 @@ const zh = {
204
204
  templateName: '模板名称',
205
205
  save: '保存',
206
206
  deleteTemplate: '删除模板',
207
+ savedMapping: '已保存的映射:',
208
+ chooseSavedMapping: '选择已保存的映射…',
209
+ manualMapping: '— 手动映射列 —',
210
+ transform: '转换',
211
+ savedMappingHint: '映射“{{name}}”将在服务端应用重命名 + 转换 + 类型强转,列映射为只读。',
212
+ savedMappingPreviewNote: '预览显示的是原始列;导入时,映射“{{name}}”将在服务端应用重命名、转换与类型强转。',
207
213
  csvColumn: '列',
208
214
  mapsTo: '映射到',
209
215
  typeMismatch: '疑似{{type}}',
@@ -1336,6 +1342,15 @@ const zh = {
1336
1342
  dark: '深色',
1337
1343
  system: '系统',
1338
1344
  },
1345
+ objectData: {
1346
+ badge: '数据',
1347
+ description: '由 URL 定义的数据切面——不绑定任何已保存视图。',
1348
+ filteredBy: '筛选条件',
1349
+ removeFilter: '移除筛选 {{field}}',
1350
+ saveAsView: '另存为视图',
1351
+ noAccessTitle: '无访问权限',
1352
+ noAccess: '您没有权限查看此数据。',
1353
+ },
1339
1354
  objectView: {
1340
1355
  systemViewReadonly: '系统视图由代码定义,只读。',
1341
1356
  expandToPage: '以完整页面打开',
@@ -1753,6 +1768,7 @@ const zh = {
1753
1768
  },
1754
1769
  topbar: {
1755
1770
  aiAssistant: 'AI 助手',
1771
+ designInStudio: '在 Studio 中设计',
1756
1772
  openAssistant: '打开{{name}}助手',
1757
1773
  offline: '离线',
1758
1774
  usersOnline: '当前在线用户',
@@ -1854,6 +1870,7 @@ const zh = {
1854
1870
  appsAvailable: '共 {{count}} 个可用应用',
1855
1871
  addApp: '新增应用',
1856
1872
  editApp: '编辑应用',
1873
+ editNavigation: '编辑导航',
1857
1874
  manageAllApps: '管理所有应用',
1858
1875
  systemConsole: '系统控制台',
1859
1876
  noAppsConfigured: '尚未配置任何应用',
@@ -1959,6 +1976,12 @@ const zh = {
1959
1976
  empty: '没有待发布的内容 —— 所有草稿均已发布。',
1960
1977
  kindNew: '新增',
1961
1978
  kindUpdate: '更新',
1979
+ detailLoading: '正在加载详情…',
1980
+ detailLoadFailed: '无法加载变更详情:',
1981
+ detailNone: '未检测到差异 —— 草稿与已发布版本一致。',
1982
+ detailChangedKeys: '其他变更:',
1983
+ confirmNote: '发布将一次性(原子地)发布此包全部 {{count}} 个待发布草稿。',
1984
+ publishConfirm: '全部发布',
1962
1985
  },
1963
1986
  },
1964
1987
  renderer: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@object-ui/i18n",
3
- "version": "11.4.0",
3
+ "version": "11.5.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "license": "MIT",