@object-ui/i18n 7.1.0 → 7.2.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,20 @@
1
1
  # @object-ui/i18n
2
2
 
3
+ ## 7.2.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 8e7c1da: fix(preview): draft-preview bar no longer demands a redundant Publish when nothing is pending
8
+
9
+ Under the auto-publish posture an AI build leaves zero pending drafts, yet opening a
10
+ draft preview still showed "Draft preview — Nothing here is live until you publish."
11
+ alongside "Changes (0)" and a Publish button — a self-contradicting, no-op call to
12
+ action. `DraftPreviewBar` now reflects the real pending-draft count: when it is
13
+ known to be zero the bar softens to a neutral preview indicator and drops the
14
+ Publish/Changes affordances; an unknown count (still loading / fetch failed) keeps
15
+ the publish path. `HomePage` (count-gated) and `RuntimeDraftBar` (draft-gated)
16
+ already behaved this way — this aligns the third surface.
17
+
3
18
  ## 7.1.0
4
19
 
5
20
  ## 7.0.0
@@ -176,7 +176,11 @@ declare const ar: {
176
176
  previewDescription: string;
177
177
  dragDrop: string;
178
178
  browseFiles: string;
179
- onlyCsv: string;
179
+ parsing: string;
180
+ pasteHint: string;
181
+ legacyXls: string;
182
+ unsupportedFile: string;
183
+ parseFailed: string;
180
184
  fileNeedsHeader: string;
181
185
  mappingTemplate: string;
182
186
  chooseTemplate: string;
@@ -188,6 +192,14 @@ declare const ar: {
188
192
  deleteTemplate: string;
189
193
  csvColumn: string;
190
194
  mapsTo: string;
195
+ typeMismatch: string;
196
+ type: {
197
+ number: string;
198
+ boolean: string;
199
+ date: string;
200
+ datetime: string;
201
+ text: string;
202
+ };
191
203
  status: string;
192
204
  skipColumn: string;
193
205
  skip: string;
@@ -171,12 +171,16 @@ const ar = {
171
171
  stepUpload: "رفع",
172
172
  stepMapping: "تعيين",
173
173
  stepPreview: "معاينة",
174
- uploadDescription: "ارفع ملف CSV للبدء.",
175
- mappingDescription: "عيّن أعمدة CSV إلى حقول الكائن.",
174
+ uploadDescription: "ارفع ملف CSV أو Excel، أو الصق من جدول بيانات للبدء.",
175
+ mappingDescription: "عيّن الأعمدة إلى حقول الكائن.",
176
176
  previewDescription: "راجع البيانات قبل الاستيراد.",
177
- dragDrop: "اسحب ملف CSV هنا أو انقر للتصفح",
177
+ dragDrop: "اسحب وأفلت ملف CSV أو Excel هنا، أو انقر للتصفح",
178
178
  browseFiles: "تصفح الملفات",
179
- onlyCsv: "ملفات CSV فقط مدعومة.",
179
+ parsing: "جارٍ التحليل…",
180
+ pasteHint: "أو الصق (Ctrl/⌘+V) صفوفًا منسوخة من Excel أو Google Sheets",
181
+ legacyXls: "ملفات .xls القديمة غير مدعومة — يرجى إعادة حفظها بصيغة .xlsx.",
182
+ unsupportedFile: "نوع الملف غير مدعوم. استخدم CSV أو TSV أو Excel (.xlsx).",
183
+ parseFailed: "تعذّر قراءة هذا الملف. يرجى التحقق من التنسيق والمحاولة مرة أخرى.",
180
184
  fileNeedsHeader: "يجب أن يحتوي الملف على صف رأسي وصف بيانات واحد على الأقل.",
181
185
  mappingTemplate: "قالب التعيين:",
182
186
  chooseTemplate: "اختر قالباً…",
@@ -186,8 +190,16 @@ const ar = {
186
190
  templateName: "اسم القالب",
187
191
  save: "حفظ",
188
192
  deleteTemplate: "حذف القالب",
189
- csvColumn: "عمود CSV",
193
+ csvColumn: "العمود",
190
194
  mapsTo: "يُعيَّن إلى",
195
+ typeMismatch: "يبدو أنه {{type}}",
196
+ type: {
197
+ number: "رقم",
198
+ boolean: "قيمة منطقية",
199
+ date: "تاريخ",
200
+ datetime: "التاريخ والوقت",
201
+ text: "نص",
202
+ },
191
203
  status: "الحالة",
192
204
  skipColumn: "تخطي العمود",
193
205
  skip: "— تخطي —",
@@ -176,7 +176,11 @@ declare const de: {
176
176
  previewDescription: string;
177
177
  dragDrop: string;
178
178
  browseFiles: string;
179
- onlyCsv: string;
179
+ parsing: string;
180
+ pasteHint: string;
181
+ legacyXls: string;
182
+ unsupportedFile: string;
183
+ parseFailed: string;
180
184
  fileNeedsHeader: string;
181
185
  mappingTemplate: string;
182
186
  chooseTemplate: string;
@@ -188,6 +192,14 @@ declare const de: {
188
192
  deleteTemplate: string;
189
193
  csvColumn: string;
190
194
  mapsTo: string;
195
+ typeMismatch: string;
196
+ type: {
197
+ number: string;
198
+ boolean: string;
199
+ date: string;
200
+ datetime: string;
201
+ text: string;
202
+ };
191
203
  status: string;
192
204
  skipColumn: string;
193
205
  skip: string;
@@ -171,12 +171,16 @@ const de = {
171
171
  stepUpload: "Hochladen",
172
172
  stepMapping: "Zuordnung",
173
173
  stepPreview: "Vorschau",
174
- uploadDescription: "Laden Sie eine CSV-Datei hoch, um zu beginnen.",
175
- mappingDescription: "Ordnen Sie CSV-Spalten den Objektfeldern zu.",
174
+ uploadDescription: "Laden Sie eine CSV- oder Excel-Datei hoch oder fügen Sie Daten aus einer Tabelle ein, um zu beginnen.",
175
+ mappingDescription: "Ordnen Sie Spalten den Objektfeldern zu.",
176
176
  previewDescription: "Daten vor dem Import prüfen.",
177
- dragDrop: "CSV-Datei hierher ziehen oder klicken zum Durchsuchen",
177
+ dragDrop: "CSV- oder Excel-Datei hierher ziehen oder klicken zum Durchsuchen",
178
178
  browseFiles: "Dateien durchsuchen",
179
- onlyCsv: "Nur CSV-Dateien werden unterstützt.",
179
+ parsing: "Wird verarbeitet…",
180
+ pasteHint: "oder aus Excel oder Google Tabellen kopierte Zeilen einfügen (Strg/⌘+V)",
181
+ legacyXls: "Alte .xls-Dateien werden nicht unterstützt – bitte als .xlsx neu speichern.",
182
+ unsupportedFile: "Nicht unterstützter Dateityp. Verwenden Sie CSV, TSV oder Excel (.xlsx).",
183
+ parseFailed: "Diese Datei konnte nicht gelesen werden. Bitte prüfen Sie das Format und versuchen Sie es erneut.",
180
184
  fileNeedsHeader: "Datei muss eine Kopfzeile und mindestens eine Datenzeile enthalten.",
181
185
  mappingTemplate: "Zuordnungsvorlage:",
182
186
  chooseTemplate: "Vorlage auswählen…",
@@ -186,8 +190,16 @@ const de = {
186
190
  templateName: "Vorlagenname",
187
191
  save: "Speichern",
188
192
  deleteTemplate: "Vorlage löschen",
189
- csvColumn: "CSV-Spalte",
193
+ csvColumn: "Spalte",
190
194
  mapsTo: "Zugeordnet zu",
195
+ typeMismatch: "Sieht aus wie {{type}}",
196
+ type: {
197
+ number: "Zahl",
198
+ boolean: "Boolescher Wert",
199
+ date: "Datum",
200
+ datetime: "Datum & Uhrzeit",
201
+ text: "Text",
202
+ },
191
203
  status: "Status",
192
204
  skipColumn: "Spalte überspringen",
193
205
  skip: "— Überspringen —",
@@ -174,12 +174,16 @@ declare const en: {
174
174
  readonly stepUpload: "Upload";
175
175
  readonly stepMapping: "Mapping";
176
176
  readonly stepPreview: "Preview";
177
- readonly uploadDescription: "Upload a CSV file to get started.";
178
- readonly mappingDescription: "Map CSV columns to object fields.";
177
+ readonly uploadDescription: "Upload a CSV or Excel file, or paste from a spreadsheet to get started.";
178
+ readonly mappingDescription: "Map columns to object fields.";
179
179
  readonly previewDescription: "Review data before importing.";
180
- readonly dragDrop: "Drag & drop a CSV file here, or click to browse";
180
+ readonly dragDrop: "Drag & drop a CSV or Excel file here, or click to browse";
181
181
  readonly browseFiles: "Browse Files";
182
- readonly onlyCsv: "Only CSV files are supported.";
182
+ readonly parsing: "Parsing…";
183
+ readonly pasteHint: "or paste (Ctrl/⌘+V) rows copied from Excel or Google Sheets";
184
+ readonly legacyXls: "Legacy .xls files aren't supported — please re-save as .xlsx.";
185
+ readonly unsupportedFile: "Unsupported file type. Use CSV, TSV, or Excel (.xlsx).";
186
+ readonly parseFailed: "Could not read this file. Please check the format and try again.";
183
187
  readonly fileNeedsHeader: "File must contain a header row and at least one data row.";
184
188
  readonly mappingTemplate: "Mapping template:";
185
189
  readonly chooseTemplate: "Choose template…";
@@ -189,8 +193,16 @@ declare const en: {
189
193
  readonly templateName: "Template name";
190
194
  readonly save: "Save";
191
195
  readonly deleteTemplate: "Delete template";
192
- readonly csvColumn: "CSV Column";
196
+ readonly csvColumn: "Column";
193
197
  readonly mapsTo: "Maps To";
198
+ readonly typeMismatch: "Looks like {{type}}";
199
+ readonly type: {
200
+ readonly number: "Number";
201
+ readonly boolean: "Boolean";
202
+ readonly date: "Date";
203
+ readonly datetime: "Date & time";
204
+ readonly text: "Text";
205
+ };
194
206
  readonly status: "Status";
195
207
  readonly skipColumn: "Skip column";
196
208
  readonly skip: "— Skip —";
@@ -1276,6 +1288,10 @@ declare const en: {
1276
1288
  readonly viewTypeMapDesc: "Geographic markers from latitude / longitude fields.";
1277
1289
  readonly viewTypeChart: "Chart";
1278
1290
  readonly viewTypeChartDesc: "Aggregated bar / line / pie visualisations.";
1291
+ readonly viewTypeTree: "Tree";
1292
+ readonly viewTypeTreeDesc: "Nest self-referencing records into a hierarchy by a parent field.";
1293
+ readonly parentField: "Parent field";
1294
+ readonly parentFieldHelp: "The field pointing to the parent record (same object) that defines the hierarchy. Only self-referencing fields qualify.";
1279
1295
  readonly newView: "New View";
1280
1296
  readonly typeOptions: "Type Options";
1281
1297
  readonly groupByField: "Group by field";
@@ -1763,6 +1779,7 @@ declare const en: {
1763
1779
  };
1764
1780
  readonly draftBar: {
1765
1781
  readonly message: "Draft preview — you are seeing unpublished changes. Nothing here is live until you publish.";
1782
+ readonly messageClean: "Draft preview — no unpublished changes; everything here is already live.";
1766
1783
  readonly publish: "Publish";
1767
1784
  readonly publishing: "Publishing…";
1768
1785
  readonly exit: "Exit preview";
@@ -1863,6 +1880,7 @@ declare const en: {
1863
1880
  };
1864
1881
  readonly organizations: {
1865
1882
  readonly mine: "My Organizations";
1883
+ readonly create: "Create workspace";
1866
1884
  readonly title: "Organizations";
1867
1885
  readonly heading: "Your Organizations";
1868
1886
  readonly subtitle: "Select an organization to continue, or create a new one.";
@@ -174,12 +174,16 @@ const en = {
174
174
  stepUpload: 'Upload',
175
175
  stepMapping: 'Mapping',
176
176
  stepPreview: 'Preview',
177
- uploadDescription: 'Upload a CSV file to get started.',
178
- mappingDescription: 'Map CSV columns to object fields.',
177
+ uploadDescription: 'Upload a CSV or Excel file, or paste from a spreadsheet to get started.',
178
+ mappingDescription: 'Map columns to object fields.',
179
179
  previewDescription: 'Review data before importing.',
180
- dragDrop: 'Drag & drop a CSV file here, or click to browse',
180
+ dragDrop: 'Drag & drop a CSV or Excel file here, or click to browse',
181
181
  browseFiles: 'Browse Files',
182
- onlyCsv: 'Only CSV files are supported.',
182
+ parsing: 'Parsing…',
183
+ pasteHint: 'or paste (Ctrl/⌘+V) rows copied from Excel or Google Sheets',
184
+ legacyXls: "Legacy .xls files aren't supported — please re-save as .xlsx.",
185
+ unsupportedFile: 'Unsupported file type. Use CSV, TSV, or Excel (.xlsx).',
186
+ parseFailed: 'Could not read this file. Please check the format and try again.',
183
187
  fileNeedsHeader: 'File must contain a header row and at least one data row.',
184
188
  mappingTemplate: 'Mapping template:',
185
189
  chooseTemplate: 'Choose template…',
@@ -189,8 +193,16 @@ const en = {
189
193
  templateName: 'Template name',
190
194
  save: 'Save',
191
195
  deleteTemplate: 'Delete template',
192
- csvColumn: 'CSV Column',
196
+ csvColumn: 'Column',
193
197
  mapsTo: 'Maps To',
198
+ typeMismatch: 'Looks like {{type}}',
199
+ type: {
200
+ number: 'Number',
201
+ boolean: 'Boolean',
202
+ date: 'Date',
203
+ datetime: 'Date & time',
204
+ text: 'Text',
205
+ },
194
206
  status: 'Status',
195
207
  skipColumn: 'Skip column',
196
208
  skip: '— Skip —',
@@ -1292,6 +1304,10 @@ const en = {
1292
1304
  viewTypeMapDesc: 'Geographic markers from latitude / longitude fields.',
1293
1305
  viewTypeChart: 'Chart',
1294
1306
  viewTypeChartDesc: 'Aggregated bar / line / pie visualisations.',
1307
+ viewTypeTree: 'Tree',
1308
+ viewTypeTreeDesc: 'Nest self-referencing records into a hierarchy by a parent field.',
1309
+ parentField: 'Parent field',
1310
+ parentFieldHelp: 'The field pointing to the parent record (same object) that defines the hierarchy. Only self-referencing fields qualify.',
1295
1311
  newView: 'New View',
1296
1312
  typeOptions: 'Type Options',
1297
1313
  groupByField: 'Group by field',
@@ -1779,6 +1795,7 @@ const en = {
1779
1795
  },
1780
1796
  draftBar: {
1781
1797
  message: 'Draft preview — you are seeing unpublished changes. Nothing here is live until you publish.',
1798
+ messageClean: 'Draft preview — no unpublished changes; everything here is already live.',
1782
1799
  publish: 'Publish',
1783
1800
  publishing: 'Publishing…',
1784
1801
  exit: 'Exit preview',
@@ -1879,6 +1896,7 @@ const en = {
1879
1896
  },
1880
1897
  organizations: {
1881
1898
  mine: 'My Organizations',
1899
+ create: 'Create workspace',
1882
1900
  title: 'Organizations',
1883
1901
  heading: 'Your Organizations',
1884
1902
  subtitle: 'Select an organization to continue, or create a new one.',
@@ -176,7 +176,11 @@ declare const es: {
176
176
  previewDescription: string;
177
177
  dragDrop: string;
178
178
  browseFiles: string;
179
- onlyCsv: string;
179
+ parsing: string;
180
+ pasteHint: string;
181
+ legacyXls: string;
182
+ unsupportedFile: string;
183
+ parseFailed: string;
180
184
  fileNeedsHeader: string;
181
185
  mappingTemplate: string;
182
186
  chooseTemplate: string;
@@ -188,6 +192,14 @@ declare const es: {
188
192
  deleteTemplate: string;
189
193
  csvColumn: string;
190
194
  mapsTo: string;
195
+ typeMismatch: string;
196
+ type: {
197
+ number: string;
198
+ boolean: string;
199
+ date: string;
200
+ datetime: string;
201
+ text: string;
202
+ };
191
203
  status: string;
192
204
  skipColumn: string;
193
205
  skip: string;
@@ -171,12 +171,16 @@ const es = {
171
171
  stepUpload: "Cargar",
172
172
  stepMapping: "Asignación",
173
173
  stepPreview: "Vista previa",
174
- uploadDescription: "Cargue un archivo CSV para comenzar.",
175
- mappingDescription: "Asigne columnas CSV a los campos del objeto.",
174
+ uploadDescription: "Cargue un archivo CSV o Excel, o pegue desde una hoja de cálculo para comenzar.",
175
+ mappingDescription: "Asigne columnas a los campos del objeto.",
176
176
  previewDescription: "Revise los datos antes de importar.",
177
- dragDrop: "Arrastre el archivo CSV aquí o haga clic para buscar",
177
+ dragDrop: "Arrastre y suelte un archivo CSV o Excel aquí, o haga clic para buscar",
178
178
  browseFiles: "Buscar archivos",
179
- onlyCsv: "Solo se admiten archivos CSV.",
179
+ parsing: "Analizando…",
180
+ pasteHint: "o pegue (Ctrl/⌘+V) filas copiadas desde Excel o Google Sheets",
181
+ legacyXls: "Los archivos .xls antiguos no son compatibles: vuelva a guardarlos como .xlsx.",
182
+ unsupportedFile: "Tipo de archivo no compatible. Use CSV, TSV o Excel (.xlsx).",
183
+ parseFailed: "No se pudo leer este archivo. Verifique el formato e inténtelo de nuevo.",
180
184
  fileNeedsHeader: "El archivo debe tener una fila de encabezado y al menos una fila de datos.",
181
185
  mappingTemplate: "Plantilla de asignación:",
182
186
  chooseTemplate: "Elegir plantilla…",
@@ -186,8 +190,16 @@ const es = {
186
190
  templateName: "Nombre de la plantilla",
187
191
  save: "Guardar",
188
192
  deleteTemplate: "Eliminar plantilla",
189
- csvColumn: "Columna CSV",
193
+ csvColumn: "Columna",
190
194
  mapsTo: "Se asigna a",
195
+ typeMismatch: "Parece {{type}}",
196
+ type: {
197
+ number: "Número",
198
+ boolean: "Booleano",
199
+ date: "Fecha",
200
+ datetime: "Fecha y hora",
201
+ text: "Texto",
202
+ },
191
203
  status: "Estado",
192
204
  skipColumn: "Omitir columna",
193
205
  skip: "— Omitir —",
@@ -176,7 +176,11 @@ declare const fr: {
176
176
  previewDescription: string;
177
177
  dragDrop: string;
178
178
  browseFiles: string;
179
- onlyCsv: string;
179
+ parsing: string;
180
+ pasteHint: string;
181
+ legacyXls: string;
182
+ unsupportedFile: string;
183
+ parseFailed: string;
180
184
  fileNeedsHeader: string;
181
185
  mappingTemplate: string;
182
186
  chooseTemplate: string;
@@ -188,6 +192,14 @@ declare const fr: {
188
192
  deleteTemplate: string;
189
193
  csvColumn: string;
190
194
  mapsTo: string;
195
+ typeMismatch: string;
196
+ type: {
197
+ number: string;
198
+ boolean: string;
199
+ date: string;
200
+ datetime: string;
201
+ text: string;
202
+ };
191
203
  status: string;
192
204
  skipColumn: string;
193
205
  skip: string;
@@ -171,12 +171,16 @@ const fr = {
171
171
  stepUpload: "Télécharger",
172
172
  stepMapping: "Correspondance",
173
173
  stepPreview: "Aperçu",
174
- uploadDescription: "Téléchargez un fichier CSV pour commencer.",
175
- mappingDescription: "Faites correspondre les colonnes CSV aux champs de l'objet.",
174
+ uploadDescription: "Téléchargez un fichier CSV ou Excel, ou collez depuis un tableur pour commencer.",
175
+ mappingDescription: "Faites correspondre les colonnes aux champs de l'objet.",
176
176
  previewDescription: "Vérifiez les données avant d'importer.",
177
- dragDrop: "Faites glisser le fichier CSV ici ou cliquez pour parcourir",
177
+ dragDrop: "Glissez-déposez un fichier CSV ou Excel ici, ou cliquez pour parcourir",
178
178
  browseFiles: "Parcourir les fichiers",
179
- onlyCsv: "Seuls les fichiers CSV sont pris en charge.",
179
+ parsing: "Analyse…",
180
+ pasteHint: "ou collez (Ctrl/⌘+V) des lignes copiées depuis Excel ou Google Sheets",
181
+ legacyXls: "Les anciens fichiers .xls ne sont pas pris en charge — veuillez les réenregistrer au format .xlsx.",
182
+ unsupportedFile: "Type de fichier non pris en charge. Utilisez CSV, TSV ou Excel (.xlsx).",
183
+ parseFailed: "Impossible de lire ce fichier. Veuillez vérifier le format et réessayer.",
180
184
  fileNeedsHeader: "Le fichier doit avoir une ligne d'en-tête et au moins une ligne de données.",
181
185
  mappingTemplate: "Modèle de correspondance :",
182
186
  chooseTemplate: "Choisir un modèle…",
@@ -186,8 +190,16 @@ const fr = {
186
190
  templateName: "Nom du modèle",
187
191
  save: "Enregistrer",
188
192
  deleteTemplate: "Supprimer le modèle",
189
- csvColumn: "Colonne CSV",
193
+ csvColumn: "Colonne",
190
194
  mapsTo: "Correspond à",
195
+ typeMismatch: "Ressemble à {{type}}",
196
+ type: {
197
+ number: "Nombre",
198
+ boolean: "Booléen",
199
+ date: "Date",
200
+ datetime: "Date et heure",
201
+ text: "Texte",
202
+ },
191
203
  status: "Statut",
192
204
  skipColumn: "Ignorer la colonne",
193
205
  skip: "— Ignorer —",
@@ -186,12 +186,16 @@ export declare const builtInLocales: {
186
186
  readonly stepUpload: "Upload";
187
187
  readonly stepMapping: "Mapping";
188
188
  readonly stepPreview: "Preview";
189
- readonly uploadDescription: "Upload a CSV file to get started.";
190
- readonly mappingDescription: "Map CSV columns to object fields.";
189
+ readonly uploadDescription: "Upload a CSV or Excel file, or paste from a spreadsheet to get started.";
190
+ readonly mappingDescription: "Map columns to object fields.";
191
191
  readonly previewDescription: "Review data before importing.";
192
- readonly dragDrop: "Drag & drop a CSV file here, or click to browse";
192
+ readonly dragDrop: "Drag & drop a CSV or Excel file here, or click to browse";
193
193
  readonly browseFiles: "Browse Files";
194
- readonly onlyCsv: "Only CSV files are supported.";
194
+ readonly parsing: "Parsing…";
195
+ readonly pasteHint: "or paste (Ctrl/⌘+V) rows copied from Excel or Google Sheets";
196
+ readonly legacyXls: "Legacy .xls files aren't supported — please re-save as .xlsx.";
197
+ readonly unsupportedFile: "Unsupported file type. Use CSV, TSV, or Excel (.xlsx).";
198
+ readonly parseFailed: "Could not read this file. Please check the format and try again.";
195
199
  readonly fileNeedsHeader: "File must contain a header row and at least one data row.";
196
200
  readonly mappingTemplate: "Mapping template:";
197
201
  readonly chooseTemplate: "Choose template…";
@@ -201,8 +205,16 @@ export declare const builtInLocales: {
201
205
  readonly templateName: "Template name";
202
206
  readonly save: "Save";
203
207
  readonly deleteTemplate: "Delete template";
204
- readonly csvColumn: "CSV Column";
208
+ readonly csvColumn: "Column";
205
209
  readonly mapsTo: "Maps To";
210
+ readonly typeMismatch: "Looks like {{type}}";
211
+ readonly type: {
212
+ readonly number: "Number";
213
+ readonly boolean: "Boolean";
214
+ readonly date: "Date";
215
+ readonly datetime: "Date & time";
216
+ readonly text: "Text";
217
+ };
206
218
  readonly status: "Status";
207
219
  readonly skipColumn: "Skip column";
208
220
  readonly skip: "— Skip —";
@@ -1288,6 +1300,10 @@ export declare const builtInLocales: {
1288
1300
  readonly viewTypeMapDesc: "Geographic markers from latitude / longitude fields.";
1289
1301
  readonly viewTypeChart: "Chart";
1290
1302
  readonly viewTypeChartDesc: "Aggregated bar / line / pie visualisations.";
1303
+ readonly viewTypeTree: "Tree";
1304
+ readonly viewTypeTreeDesc: "Nest self-referencing records into a hierarchy by a parent field.";
1305
+ readonly parentField: "Parent field";
1306
+ readonly parentFieldHelp: "The field pointing to the parent record (same object) that defines the hierarchy. Only self-referencing fields qualify.";
1291
1307
  readonly newView: "New View";
1292
1308
  readonly typeOptions: "Type Options";
1293
1309
  readonly groupByField: "Group by field";
@@ -1775,6 +1791,7 @@ export declare const builtInLocales: {
1775
1791
  };
1776
1792
  readonly draftBar: {
1777
1793
  readonly message: "Draft preview — you are seeing unpublished changes. Nothing here is live until you publish.";
1794
+ readonly messageClean: "Draft preview — no unpublished changes; everything here is already live.";
1778
1795
  readonly publish: "Publish";
1779
1796
  readonly publishing: "Publishing…";
1780
1797
  readonly exit: "Exit preview";
@@ -1875,6 +1892,7 @@ export declare const builtInLocales: {
1875
1892
  };
1876
1893
  readonly organizations: {
1877
1894
  readonly mine: "My Organizations";
1895
+ readonly create: "Create workspace";
1878
1896
  readonly title: "Organizations";
1879
1897
  readonly heading: "Your Organizations";
1880
1898
  readonly subtitle: "Select an organization to continue, or create a new one.";
@@ -2455,12 +2473,16 @@ export declare const builtInLocales: {
2455
2473
  readonly stepUpload: "上传";
2456
2474
  readonly stepMapping: "字段映射";
2457
2475
  readonly stepPreview: "预览";
2458
- readonly uploadDescription: "上传 CSV 文件以开始导入。";
2459
- readonly mappingDescription: "将 CSV 列映射到对象字段。";
2476
+ readonly uploadDescription: "上传 CSV 或 Excel 文件,或直接粘贴表格数据以开始导入。";
2477
+ readonly mappingDescription: "将列映射到对象字段。";
2460
2478
  readonly previewDescription: "导入前预览数据。";
2461
- readonly dragDrop: "拖拽 CSV 文件到此处,或点击选择文件";
2479
+ readonly dragDrop: "拖拽 CSV 或 Excel 文件到此处,或点击选择文件";
2462
2480
  readonly browseFiles: "选择文件";
2463
- readonly onlyCsv: "仅支持 CSV 文件。";
2481
+ readonly parsing: "解析中…";
2482
+ readonly pasteHint: "或粘贴(Ctrl/⌘+V)从 Excel、Google 表格复制的数据";
2483
+ readonly legacyXls: "不支持旧版 .xls 文件,请另存为 .xlsx 后重试。";
2484
+ readonly unsupportedFile: "不支持的文件类型。请使用 CSV、TSV 或 Excel(.xlsx)。";
2485
+ readonly parseFailed: "无法读取该文件,请检查格式后重试。";
2464
2486
  readonly fileNeedsHeader: "文件必须包含表头行和至少一行数据。";
2465
2487
  readonly mappingTemplate: "映射模板:";
2466
2488
  readonly chooseTemplate: "选择模板…";
@@ -2470,8 +2492,16 @@ export declare const builtInLocales: {
2470
2492
  readonly templateName: "模板名称";
2471
2493
  readonly save: "保存";
2472
2494
  readonly deleteTemplate: "删除模板";
2473
- readonly csvColumn: "CSV 列";
2495
+ readonly csvColumn: "列";
2474
2496
  readonly mapsTo: "映射到";
2497
+ readonly typeMismatch: "疑似{{type}}";
2498
+ readonly type: {
2499
+ readonly number: "数字";
2500
+ readonly boolean: "布尔值";
2501
+ readonly date: "日期";
2502
+ readonly datetime: "日期时间";
2503
+ readonly text: "文本";
2504
+ };
2475
2505
  readonly status: "状态";
2476
2506
  readonly skipColumn: "跳过此列";
2477
2507
  readonly skip: "— 跳过 —";
@@ -3554,6 +3584,10 @@ export declare const builtInLocales: {
3554
3584
  readonly viewTypeMapDesc: "根据经纬度字段显示地理标记。";
3555
3585
  readonly viewTypeChart: "图表";
3556
3586
  readonly viewTypeChartDesc: "聚合的柱状/折线/饼状图。";
3587
+ readonly viewTypeTree: "树形";
3588
+ readonly viewTypeTreeDesc: "按父级字段把自引用记录嵌套成层级树。";
3589
+ readonly parentField: "父级字段";
3590
+ readonly parentFieldHelp: "指向同一对象的父级字段,决定树的层级(仅自引用字段可选)。";
3557
3591
  readonly newView: "新视图";
3558
3592
  readonly typeOptions: "类型选项";
3559
3593
  readonly groupByField: "分组字段";
@@ -4054,6 +4088,7 @@ export declare const builtInLocales: {
4054
4088
  };
4055
4089
  readonly draftBar: {
4056
4090
  readonly message: "草稿预览 —— 您看到的是未发布的更改,发布前不会生效。";
4091
+ readonly messageClean: "草稿预览 —— 没有未发布的更改,此处内容均已生效。";
4057
4092
  readonly publish: "发布";
4058
4093
  readonly publishing: "发布中…";
4059
4094
  readonly exit: "退出预览";
@@ -4154,6 +4189,7 @@ export declare const builtInLocales: {
4154
4189
  };
4155
4190
  readonly organizations: {
4156
4191
  readonly mine: "我的组织";
4192
+ readonly create: "创建工作区";
4157
4193
  readonly title: "组织";
4158
4194
  readonly heading: "您的组织";
4159
4195
  readonly subtitle: "选择一个组织以继续,或新建一个组织。";
@@ -4739,7 +4775,11 @@ export declare const builtInLocales: {
4739
4775
  previewDescription: string;
4740
4776
  dragDrop: string;
4741
4777
  browseFiles: string;
4742
- onlyCsv: string;
4778
+ parsing: string;
4779
+ pasteHint: string;
4780
+ legacyXls: string;
4781
+ unsupportedFile: string;
4782
+ parseFailed: string;
4743
4783
  fileNeedsHeader: string;
4744
4784
  mappingTemplate: string;
4745
4785
  chooseTemplate: string;
@@ -4751,6 +4791,14 @@ export declare const builtInLocales: {
4751
4791
  deleteTemplate: string;
4752
4792
  csvColumn: string;
4753
4793
  mapsTo: string;
4794
+ typeMismatch: string;
4795
+ type: {
4796
+ number: string;
4797
+ boolean: string;
4798
+ date: string;
4799
+ datetime: string;
4800
+ text: string;
4801
+ };
4754
4802
  status: string;
4755
4803
  skipColumn: string;
4756
4804
  skip: string;
@@ -6762,7 +6810,11 @@ export declare const builtInLocales: {
6762
6810
  previewDescription: string;
6763
6811
  dragDrop: string;
6764
6812
  browseFiles: string;
6765
- onlyCsv: string;
6813
+ parsing: string;
6814
+ pasteHint: string;
6815
+ legacyXls: string;
6816
+ unsupportedFile: string;
6817
+ parseFailed: string;
6766
6818
  fileNeedsHeader: string;
6767
6819
  mappingTemplate: string;
6768
6820
  chooseTemplate: string;
@@ -6774,6 +6826,14 @@ export declare const builtInLocales: {
6774
6826
  deleteTemplate: string;
6775
6827
  csvColumn: string;
6776
6828
  mapsTo: string;
6829
+ typeMismatch: string;
6830
+ type: {
6831
+ number: string;
6832
+ boolean: string;
6833
+ date: string;
6834
+ datetime: string;
6835
+ text: string;
6836
+ };
6777
6837
  status: string;
6778
6838
  skipColumn: string;
6779
6839
  skip: string;
@@ -8785,7 +8845,11 @@ export declare const builtInLocales: {
8785
8845
  previewDescription: string;
8786
8846
  dragDrop: string;
8787
8847
  browseFiles: string;
8788
- onlyCsv: string;
8848
+ parsing: string;
8849
+ pasteHint: string;
8850
+ legacyXls: string;
8851
+ unsupportedFile: string;
8852
+ parseFailed: string;
8789
8853
  fileNeedsHeader: string;
8790
8854
  mappingTemplate: string;
8791
8855
  chooseTemplate: string;
@@ -8797,6 +8861,14 @@ export declare const builtInLocales: {
8797
8861
  deleteTemplate: string;
8798
8862
  csvColumn: string;
8799
8863
  mapsTo: string;
8864
+ typeMismatch: string;
8865
+ type: {
8866
+ number: string;
8867
+ boolean: string;
8868
+ date: string;
8869
+ datetime: string;
8870
+ text: string;
8871
+ };
8800
8872
  status: string;
8801
8873
  skipColumn: string;
8802
8874
  skip: string;
@@ -10808,7 +10880,11 @@ export declare const builtInLocales: {
10808
10880
  previewDescription: string;
10809
10881
  dragDrop: string;
10810
10882
  browseFiles: string;
10811
- onlyCsv: string;
10883
+ parsing: string;
10884
+ pasteHint: string;
10885
+ legacyXls: string;
10886
+ unsupportedFile: string;
10887
+ parseFailed: string;
10812
10888
  fileNeedsHeader: string;
10813
10889
  mappingTemplate: string;
10814
10890
  chooseTemplate: string;
@@ -10820,6 +10896,14 @@ export declare const builtInLocales: {
10820
10896
  deleteTemplate: string;
10821
10897
  csvColumn: string;
10822
10898
  mapsTo: string;
10899
+ typeMismatch: string;
10900
+ type: {
10901
+ number: string;
10902
+ boolean: string;
10903
+ date: string;
10904
+ datetime: string;
10905
+ text: string;
10906
+ };
10823
10907
  status: string;
10824
10908
  skipColumn: string;
10825
10909
  skip: string;
@@ -12831,7 +12915,11 @@ export declare const builtInLocales: {
12831
12915
  previewDescription: string;
12832
12916
  dragDrop: string;
12833
12917
  browseFiles: string;
12834
- onlyCsv: string;
12918
+ parsing: string;
12919
+ pasteHint: string;
12920
+ legacyXls: string;
12921
+ unsupportedFile: string;
12922
+ parseFailed: string;
12835
12923
  fileNeedsHeader: string;
12836
12924
  mappingTemplate: string;
12837
12925
  chooseTemplate: string;
@@ -12843,6 +12931,14 @@ export declare const builtInLocales: {
12843
12931
  deleteTemplate: string;
12844
12932
  csvColumn: string;
12845
12933
  mapsTo: string;
12934
+ typeMismatch: string;
12935
+ type: {
12936
+ number: string;
12937
+ boolean: string;
12938
+ date: string;
12939
+ datetime: string;
12940
+ text: string;
12941
+ };
12846
12942
  status: string;
12847
12943
  skipColumn: string;
12848
12944
  skip: string;
@@ -14854,7 +14950,11 @@ export declare const builtInLocales: {
14854
14950
  previewDescription: string;
14855
14951
  dragDrop: string;
14856
14952
  browseFiles: string;
14857
- onlyCsv: string;
14953
+ parsing: string;
14954
+ pasteHint: string;
14955
+ legacyXls: string;
14956
+ unsupportedFile: string;
14957
+ parseFailed: string;
14858
14958
  fileNeedsHeader: string;
14859
14959
  mappingTemplate: string;
14860
14960
  chooseTemplate: string;
@@ -14866,6 +14966,14 @@ export declare const builtInLocales: {
14866
14966
  deleteTemplate: string;
14867
14967
  csvColumn: string;
14868
14968
  mapsTo: string;
14969
+ typeMismatch: string;
14970
+ type: {
14971
+ number: string;
14972
+ boolean: string;
14973
+ date: string;
14974
+ datetime: string;
14975
+ text: string;
14976
+ };
14869
14977
  status: string;
14870
14978
  skipColumn: string;
14871
14979
  skip: string;
@@ -16877,7 +16985,11 @@ export declare const builtInLocales: {
16877
16985
  previewDescription: string;
16878
16986
  dragDrop: string;
16879
16987
  browseFiles: string;
16880
- onlyCsv: string;
16988
+ parsing: string;
16989
+ pasteHint: string;
16990
+ legacyXls: string;
16991
+ unsupportedFile: string;
16992
+ parseFailed: string;
16881
16993
  fileNeedsHeader: string;
16882
16994
  mappingTemplate: string;
16883
16995
  chooseTemplate: string;
@@ -16889,6 +17001,14 @@ export declare const builtInLocales: {
16889
17001
  deleteTemplate: string;
16890
17002
  csvColumn: string;
16891
17003
  mapsTo: string;
17004
+ typeMismatch: string;
17005
+ type: {
17006
+ number: string;
17007
+ boolean: string;
17008
+ date: string;
17009
+ datetime: string;
17010
+ text: string;
17011
+ };
16892
17012
  status: string;
16893
17013
  skipColumn: string;
16894
17014
  skip: string;
@@ -18900,7 +19020,11 @@ export declare const builtInLocales: {
18900
19020
  previewDescription: string;
18901
19021
  dragDrop: string;
18902
19022
  browseFiles: string;
18903
- onlyCsv: string;
19023
+ parsing: string;
19024
+ pasteHint: string;
19025
+ legacyXls: string;
19026
+ unsupportedFile: string;
19027
+ parseFailed: string;
18904
19028
  fileNeedsHeader: string;
18905
19029
  mappingTemplate: string;
18906
19030
  chooseTemplate: string;
@@ -18912,6 +19036,14 @@ export declare const builtInLocales: {
18912
19036
  deleteTemplate: string;
18913
19037
  csvColumn: string;
18914
19038
  mapsTo: string;
19039
+ typeMismatch: string;
19040
+ type: {
19041
+ number: string;
19042
+ boolean: string;
19043
+ date: string;
19044
+ datetime: string;
19045
+ text: string;
19046
+ };
18915
19047
  status: string;
18916
19048
  skipColumn: string;
18917
19049
  skip: string;
@@ -176,7 +176,11 @@ declare const ja: {
176
176
  previewDescription: string;
177
177
  dragDrop: string;
178
178
  browseFiles: string;
179
- onlyCsv: string;
179
+ parsing: string;
180
+ pasteHint: string;
181
+ legacyXls: string;
182
+ unsupportedFile: string;
183
+ parseFailed: string;
180
184
  fileNeedsHeader: string;
181
185
  mappingTemplate: string;
182
186
  chooseTemplate: string;
@@ -188,6 +192,14 @@ declare const ja: {
188
192
  deleteTemplate: string;
189
193
  csvColumn: string;
190
194
  mapsTo: string;
195
+ typeMismatch: string;
196
+ type: {
197
+ number: string;
198
+ boolean: string;
199
+ date: string;
200
+ datetime: string;
201
+ text: string;
202
+ };
191
203
  status: string;
192
204
  skipColumn: string;
193
205
  skip: string;
@@ -171,12 +171,16 @@ const ja = {
171
171
  stepUpload: "アップロード",
172
172
  stepMapping: "マッピング",
173
173
  stepPreview: "プレビュー",
174
- uploadDescription: "CSVファイルをアップロードして開始してください。",
175
- mappingDescription: "CSV列をオブジェクトフィールドにマッピングします。",
174
+ uploadDescription: "CSVまたはExcelファイルをアップロードするか、表計算アプリから貼り付けて開始してください。",
175
+ mappingDescription: "列をオブジェクトフィールドにマッピングします。",
176
176
  previewDescription: "インポート前にデータを確認してください。",
177
- dragDrop: "CSVファイルをここにドラッグ&ドロップするか、クリックして参照",
177
+ dragDrop: "CSVまたはExcelファイルをここにドラッグ&ドロップするか、クリックして参照",
178
178
  browseFiles: "ファイルを参照",
179
- onlyCsv: "CSVファイルのみサポートされています。",
179
+ parsing: "解析中…",
180
+ pasteHint: "または Excel・Google スプレッドシートからコピーした行を貼り付け(Ctrl/⌘+V)",
181
+ legacyXls: "旧形式の .xls ファイルはサポートされていません。.xlsx として保存し直してください。",
182
+ unsupportedFile: "サポートされていないファイル形式です。CSV、TSV、または Excel(.xlsx)を使用してください。",
183
+ parseFailed: "このファイルを読み取れませんでした。形式を確認して再度お試しください。",
180
184
  fileNeedsHeader: "ファイルにはヘッダー行と少なくとも1行のデータが必要です。",
181
185
  mappingTemplate: "マッピングテンプレート:",
182
186
  chooseTemplate: "テンプレートを選択…",
@@ -186,8 +190,16 @@ const ja = {
186
190
  templateName: "テンプレート名",
187
191
  save: "保存",
188
192
  deleteTemplate: "テンプレートを削除",
189
- csvColumn: "CSV列",
193
+ csvColumn: "列",
190
194
  mapsTo: "マッピング先",
195
+ typeMismatch: "{{type}}のようです",
196
+ type: {
197
+ number: "数値",
198
+ boolean: "ブール値",
199
+ date: "日付",
200
+ datetime: "日時",
201
+ text: "テキスト",
202
+ },
191
203
  status: "ステータス",
192
204
  skipColumn: "列をスキップ",
193
205
  skip: "— スキップ —",
@@ -176,7 +176,11 @@ declare const ko: {
176
176
  previewDescription: string;
177
177
  dragDrop: string;
178
178
  browseFiles: string;
179
- onlyCsv: string;
179
+ parsing: string;
180
+ pasteHint: string;
181
+ legacyXls: string;
182
+ unsupportedFile: string;
183
+ parseFailed: string;
180
184
  fileNeedsHeader: string;
181
185
  mappingTemplate: string;
182
186
  chooseTemplate: string;
@@ -188,6 +192,14 @@ declare const ko: {
188
192
  deleteTemplate: string;
189
193
  csvColumn: string;
190
194
  mapsTo: string;
195
+ typeMismatch: string;
196
+ type: {
197
+ number: string;
198
+ boolean: string;
199
+ date: string;
200
+ datetime: string;
201
+ text: string;
202
+ };
191
203
  status: string;
192
204
  skipColumn: string;
193
205
  skip: string;
@@ -171,12 +171,16 @@ const ko = {
171
171
  stepUpload: "업로드",
172
172
  stepMapping: "매핑",
173
173
  stepPreview: "미리보기",
174
- uploadDescription: "CSV 파일을 업로드하여 시작하세요.",
175
- mappingDescription: "CSV 열을 개체 필드에 매핑합니다.",
174
+ uploadDescription: "CSV 또는 Excel 파일을 업로드하거나 스프레드시트에서 붙여넣어 시작하세요.",
175
+ mappingDescription: "열을 개체 필드에 매핑합니다.",
176
176
  previewDescription: "가져오기 전에 데이터를 검토하세요.",
177
- dragDrop: "CSV 파일을 여기로 드래그하거나 클릭하여 찾아보기",
177
+ dragDrop: "CSV 또는 Excel 파일을 여기로 드래그하거나 클릭하여 찾아보기",
178
178
  browseFiles: "파일 찾아보기",
179
- onlyCsv: "CSV 파일만 지원됩니다.",
179
+ parsing: "분석 중…",
180
+ pasteHint: "또는 Excel, Google 스프레드시트에서 복사한 행을 붙여넣기(Ctrl/⌘+V)",
181
+ legacyXls: "구버전 .xls 파일은 지원되지 않습니다. .xlsx로 다시 저장하세요.",
182
+ unsupportedFile: "지원되지 않는 파일 형식입니다. CSV, TSV 또는 Excel(.xlsx)을 사용하세요.",
183
+ parseFailed: "이 파일을 읽을 수 없습니다. 형식을 확인하고 다시 시도하세요.",
180
184
  fileNeedsHeader: "파일에 헤더 행과 데이터 행이 하나 이상 있어야 합니다.",
181
185
  mappingTemplate: "매핑 템플릿:",
182
186
  chooseTemplate: "템플릿 선택…",
@@ -186,8 +190,16 @@ const ko = {
186
190
  templateName: "템플릿 이름",
187
191
  save: "저장",
188
192
  deleteTemplate: "템플릿 삭제",
189
- csvColumn: "CSV 열",
193
+ csvColumn: "열",
190
194
  mapsTo: "매핑 대상",
195
+ typeMismatch: "{{type}}인 것 같습니다",
196
+ type: {
197
+ number: "숫자",
198
+ boolean: "부울",
199
+ date: "날짜",
200
+ datetime: "날짜 및 시간",
201
+ text: "텍스트",
202
+ },
191
203
  status: "상태",
192
204
  skipColumn: "열 건너뛰기",
193
205
  skip: "— 건너뛰기 —",
@@ -176,7 +176,11 @@ declare const pt: {
176
176
  previewDescription: string;
177
177
  dragDrop: string;
178
178
  browseFiles: string;
179
- onlyCsv: string;
179
+ parsing: string;
180
+ pasteHint: string;
181
+ legacyXls: string;
182
+ unsupportedFile: string;
183
+ parseFailed: string;
180
184
  fileNeedsHeader: string;
181
185
  mappingTemplate: string;
182
186
  chooseTemplate: string;
@@ -188,6 +192,14 @@ declare const pt: {
188
192
  deleteTemplate: string;
189
193
  csvColumn: string;
190
194
  mapsTo: string;
195
+ typeMismatch: string;
196
+ type: {
197
+ number: string;
198
+ boolean: string;
199
+ date: string;
200
+ datetime: string;
201
+ text: string;
202
+ };
191
203
  status: string;
192
204
  skipColumn: string;
193
205
  skip: string;
@@ -171,12 +171,16 @@ const pt = {
171
171
  stepUpload: "Enviar",
172
172
  stepMapping: "Mapeamento",
173
173
  stepPreview: "Pré-visualização",
174
- uploadDescription: "Envie um arquivo CSV para começar.",
175
- mappingDescription: "Mapeie colunas CSV para campos do objeto.",
174
+ uploadDescription: "Envie um arquivo CSV ou Excel, ou cole de uma planilha para começar.",
175
+ mappingDescription: "Mapeie colunas para campos do objeto.",
176
176
  previewDescription: "Revise os dados antes de importar.",
177
- dragDrop: "Arraste o arquivo CSV aqui ou clique para procurar",
177
+ dragDrop: "Arraste e solte um arquivo CSV ou Excel aqui, ou clique para procurar",
178
178
  browseFiles: "Procurar arquivos",
179
- onlyCsv: "Apenas arquivos CSV são suportados.",
179
+ parsing: "Analisando…",
180
+ pasteHint: "ou cole (Ctrl/⌘+V) linhas copiadas do Excel ou Google Planilhas",
181
+ legacyXls: "Arquivos .xls antigos não são suportados — salve novamente como .xlsx.",
182
+ unsupportedFile: "Tipo de arquivo não suportado. Use CSV, TSV ou Excel (.xlsx).",
183
+ parseFailed: "Não foi possível ler este arquivo. Verifique o formato e tente novamente.",
180
184
  fileNeedsHeader: "O arquivo deve ter uma linha de cabeçalho e pelo menos uma linha de dados.",
181
185
  mappingTemplate: "Modelo de mapeamento:",
182
186
  chooseTemplate: "Escolher modelo…",
@@ -186,8 +190,16 @@ const pt = {
186
190
  templateName: "Nome do modelo",
187
191
  save: "Salvar",
188
192
  deleteTemplate: "Excluir modelo",
189
- csvColumn: "Coluna CSV",
193
+ csvColumn: "Coluna",
190
194
  mapsTo: "Mapeia para",
195
+ typeMismatch: "Parece {{type}}",
196
+ type: {
197
+ number: "Número",
198
+ boolean: "Booleano",
199
+ date: "Data",
200
+ datetime: "Data e hora",
201
+ text: "Texto",
202
+ },
191
203
  status: "Status",
192
204
  skipColumn: "Pular coluna",
193
205
  skip: "— Pular —",
@@ -176,7 +176,11 @@ declare const ru: {
176
176
  previewDescription: string;
177
177
  dragDrop: string;
178
178
  browseFiles: string;
179
- onlyCsv: string;
179
+ parsing: string;
180
+ pasteHint: string;
181
+ legacyXls: string;
182
+ unsupportedFile: string;
183
+ parseFailed: string;
180
184
  fileNeedsHeader: string;
181
185
  mappingTemplate: string;
182
186
  chooseTemplate: string;
@@ -188,6 +192,14 @@ declare const ru: {
188
192
  deleteTemplate: string;
189
193
  csvColumn: string;
190
194
  mapsTo: string;
195
+ typeMismatch: string;
196
+ type: {
197
+ number: string;
198
+ boolean: string;
199
+ date: string;
200
+ datetime: string;
201
+ text: string;
202
+ };
191
203
  status: string;
192
204
  skipColumn: string;
193
205
  skip: string;
@@ -171,12 +171,16 @@ const ru = {
171
171
  stepUpload: "Загрузка",
172
172
  stepMapping: "Сопоставление",
173
173
  stepPreview: "Предпросмотр",
174
- uploadDescription: "Загрузите CSV-файл для начала работы.",
175
- mappingDescription: "Сопоставьте столбцы CSV с полями объекта.",
174
+ uploadDescription: "Загрузите файл CSV или Excel либо вставьте данные из таблицы, чтобы начать.",
175
+ mappingDescription: "Сопоставьте столбцы с полями объекта.",
176
176
  previewDescription: "Проверьте данные перед импортом.",
177
- dragDrop: "Перетащите CSV-файл сюда или нажмите для выбора",
177
+ dragDrop: "Перетащите файл CSV или Excel сюда или нажмите для выбора",
178
178
  browseFiles: "Обзор файлов",
179
- onlyCsv: "Поддерживаются только CSV-файлы.",
179
+ parsing: "Обработка…",
180
+ pasteHint: "или вставьте (Ctrl/⌘+V) строки, скопированные из Excel или Google Таблиц",
181
+ legacyXls: "Старые файлы .xls не поддерживаются — сохраните их заново в формате .xlsx.",
182
+ unsupportedFile: "Неподдерживаемый тип файла. Используйте CSV, TSV или Excel (.xlsx).",
183
+ parseFailed: "Не удалось прочитать этот файл. Проверьте формат и повторите попытку.",
180
184
  fileNeedsHeader: "Файл должен содержать строку заголовка и хотя бы одну строку данных.",
181
185
  mappingTemplate: "Шаблон сопоставления:",
182
186
  chooseTemplate: "Выбрать шаблон…",
@@ -186,8 +190,16 @@ const ru = {
186
190
  templateName: "Название шаблона",
187
191
  save: "Сохранить",
188
192
  deleteTemplate: "Удалить шаблон",
189
- csvColumn: "Столбец CSV",
193
+ csvColumn: "Столбец",
190
194
  mapsTo: "Сопоставляется с",
195
+ typeMismatch: "Похоже на {{type}}",
196
+ type: {
197
+ number: "Число",
198
+ boolean: "Логический",
199
+ date: "Дата",
200
+ datetime: "Дата и время",
201
+ text: "Текст",
202
+ },
191
203
  status: "Статус",
192
204
  skipColumn: "Пропустить столбец",
193
205
  skip: "— Пропустить —",
@@ -174,12 +174,16 @@ declare const zh: {
174
174
  readonly stepUpload: "上传";
175
175
  readonly stepMapping: "字段映射";
176
176
  readonly stepPreview: "预览";
177
- readonly uploadDescription: "上传 CSV 文件以开始导入。";
178
- readonly mappingDescription: "将 CSV 列映射到对象字段。";
177
+ readonly uploadDescription: "上传 CSV 或 Excel 文件,或直接粘贴表格数据以开始导入。";
178
+ readonly mappingDescription: "将列映射到对象字段。";
179
179
  readonly previewDescription: "导入前预览数据。";
180
- readonly dragDrop: "拖拽 CSV 文件到此处,或点击选择文件";
180
+ readonly dragDrop: "拖拽 CSV 或 Excel 文件到此处,或点击选择文件";
181
181
  readonly browseFiles: "选择文件";
182
- readonly onlyCsv: "仅支持 CSV 文件。";
182
+ readonly parsing: "解析中…";
183
+ readonly pasteHint: "或粘贴(Ctrl/⌘+V)从 Excel、Google 表格复制的数据";
184
+ readonly legacyXls: "不支持旧版 .xls 文件,请另存为 .xlsx 后重试。";
185
+ readonly unsupportedFile: "不支持的文件类型。请使用 CSV、TSV 或 Excel(.xlsx)。";
186
+ readonly parseFailed: "无法读取该文件,请检查格式后重试。";
183
187
  readonly fileNeedsHeader: "文件必须包含表头行和至少一行数据。";
184
188
  readonly mappingTemplate: "映射模板:";
185
189
  readonly chooseTemplate: "选择模板…";
@@ -189,8 +193,16 @@ declare const zh: {
189
193
  readonly templateName: "模板名称";
190
194
  readonly save: "保存";
191
195
  readonly deleteTemplate: "删除模板";
192
- readonly csvColumn: "CSV 列";
196
+ readonly csvColumn: "列";
193
197
  readonly mapsTo: "映射到";
198
+ readonly typeMismatch: "疑似{{type}}";
199
+ readonly type: {
200
+ readonly number: "数字";
201
+ readonly boolean: "布尔值";
202
+ readonly date: "日期";
203
+ readonly datetime: "日期时间";
204
+ readonly text: "文本";
205
+ };
194
206
  readonly status: "状态";
195
207
  readonly skipColumn: "跳过此列";
196
208
  readonly skip: "— 跳过 —";
@@ -1273,6 +1285,10 @@ declare const zh: {
1273
1285
  readonly viewTypeMapDesc: "根据经纬度字段显示地理标记。";
1274
1286
  readonly viewTypeChart: "图表";
1275
1287
  readonly viewTypeChartDesc: "聚合的柱状/折线/饼状图。";
1288
+ readonly viewTypeTree: "树形";
1289
+ readonly viewTypeTreeDesc: "按父级字段把自引用记录嵌套成层级树。";
1290
+ readonly parentField: "父级字段";
1291
+ readonly parentFieldHelp: "指向同一对象的父级字段,决定树的层级(仅自引用字段可选)。";
1276
1292
  readonly newView: "新视图";
1277
1293
  readonly typeOptions: "类型选项";
1278
1294
  readonly groupByField: "分组字段";
@@ -1773,6 +1789,7 @@ declare const zh: {
1773
1789
  };
1774
1790
  readonly draftBar: {
1775
1791
  readonly message: "草稿预览 —— 您看到的是未发布的更改,发布前不会生效。";
1792
+ readonly messageClean: "草稿预览 —— 没有未发布的更改,此处内容均已生效。";
1776
1793
  readonly publish: "发布";
1777
1794
  readonly publishing: "发布中…";
1778
1795
  readonly exit: "退出预览";
@@ -1873,6 +1890,7 @@ declare const zh: {
1873
1890
  };
1874
1891
  readonly organizations: {
1875
1892
  readonly mine: "我的组织";
1893
+ readonly create: "创建工作区";
1876
1894
  readonly title: "组织";
1877
1895
  readonly heading: "您的组织";
1878
1896
  readonly subtitle: "选择一个组织以继续,或新建一个组织。";
@@ -174,12 +174,16 @@ const zh = {
174
174
  stepUpload: '上传',
175
175
  stepMapping: '字段映射',
176
176
  stepPreview: '预览',
177
- uploadDescription: '上传 CSV 文件以开始导入。',
178
- mappingDescription: '将 CSV 列映射到对象字段。',
177
+ uploadDescription: '上传 CSV 或 Excel 文件,或直接粘贴表格数据以开始导入。',
178
+ mappingDescription: '将列映射到对象字段。',
179
179
  previewDescription: '导入前预览数据。',
180
- dragDrop: '拖拽 CSV 文件到此处,或点击选择文件',
180
+ dragDrop: '拖拽 CSV 或 Excel 文件到此处,或点击选择文件',
181
181
  browseFiles: '选择文件',
182
- onlyCsv: '仅支持 CSV 文件。',
182
+ parsing: '解析中…',
183
+ pasteHint: '或粘贴(Ctrl/⌘+V)从 Excel、Google 表格复制的数据',
184
+ legacyXls: '不支持旧版 .xls 文件,请另存为 .xlsx 后重试。',
185
+ unsupportedFile: '不支持的文件类型。请使用 CSV、TSV 或 Excel(.xlsx)。',
186
+ parseFailed: '无法读取该文件,请检查格式后重试。',
183
187
  fileNeedsHeader: '文件必须包含表头行和至少一行数据。',
184
188
  mappingTemplate: '映射模板:',
185
189
  chooseTemplate: '选择模板…',
@@ -189,8 +193,16 @@ const zh = {
189
193
  templateName: '模板名称',
190
194
  save: '保存',
191
195
  deleteTemplate: '删除模板',
192
- csvColumn: 'CSV 列',
196
+ csvColumn: '列',
193
197
  mapsTo: '映射到',
198
+ typeMismatch: '疑似{{type}}',
199
+ type: {
200
+ number: '数字',
201
+ boolean: '布尔值',
202
+ date: '日期',
203
+ datetime: '日期时间',
204
+ text: '文本',
205
+ },
194
206
  status: '状态',
195
207
  skipColumn: '跳过此列',
196
208
  skip: '— 跳过 —',
@@ -1289,6 +1301,10 @@ const zh = {
1289
1301
  viewTypeMapDesc: '根据经纬度字段显示地理标记。',
1290
1302
  viewTypeChart: '图表',
1291
1303
  viewTypeChartDesc: '聚合的柱状/折线/饼状图。',
1304
+ viewTypeTree: '树形',
1305
+ viewTypeTreeDesc: '按父级字段把自引用记录嵌套成层级树。',
1306
+ parentField: '父级字段',
1307
+ parentFieldHelp: '指向同一对象的父级字段,决定树的层级(仅自引用字段可选)。',
1292
1308
  newView: '新视图',
1293
1309
  typeOptions: '类型选项',
1294
1310
  groupByField: '分组字段',
@@ -1789,6 +1805,7 @@ const zh = {
1789
1805
  },
1790
1806
  draftBar: {
1791
1807
  message: '草稿预览 —— 您看到的是未发布的更改,发布前不会生效。',
1808
+ messageClean: '草稿预览 —— 没有未发布的更改,此处内容均已生效。',
1792
1809
  publish: '发布',
1793
1810
  publishing: '发布中…',
1794
1811
  exit: '退出预览',
@@ -1889,6 +1906,7 @@ const zh = {
1889
1906
  },
1890
1907
  organizations: {
1891
1908
  mine: '我的组织',
1909
+ create: '创建工作区',
1892
1910
  title: '组织',
1893
1911
  heading: '您的组织',
1894
1912
  subtitle: '选择一个组织以继续,或新建一个组织。',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@object-ui/i18n",
3
- "version": "7.1.0",
3
+ "version": "7.2.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "license": "MIT",