@nice2dev/i18n 1.0.27 → 1.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +4 -4
- package/dist/index.mjs +2073 -225
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as O } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo as
|
|
3
|
-
const
|
|
2
|
+
import { useMemo as f, useContext as B, createContext as I, useEffect as L, useState as x, useCallback as ee } from "react";
|
|
3
|
+
const T = [
|
|
4
4
|
"en",
|
|
5
5
|
"pl",
|
|
6
6
|
"de",
|
|
@@ -169,9 +169,317 @@ const x = [
|
|
|
169
169
|
"tutorial.manifestEditor.intro.title": "Manifest editor",
|
|
170
170
|
"tutorial.manifestEditor.intro.content": "Edit the manifest in schema-driven sections. Toggle Form ⇄ JSON per section; validation appears in the status bar.",
|
|
171
171
|
"tutorial.schemaForm.intro.title": "Schema form",
|
|
172
|
+
"workflowDesigner.name": "Name",
|
|
173
|
+
"workflowDesigner.type": "Type",
|
|
174
|
+
"workflowDesigner.select": "— Select —",
|
|
175
|
+
"workflowDesigner.simulate": "Simulate",
|
|
176
|
+
"workflowDesigner.stop": "Stop",
|
|
177
|
+
"workflowDesigner.test": "Test",
|
|
178
|
+
"workflowDesigner.publish": "Publish",
|
|
179
|
+
"workflowDesigner.export": "Export",
|
|
180
|
+
"workflowDesigner.import": "Import",
|
|
181
|
+
"workflowDesigner.zoomIn": "Zoom in",
|
|
182
|
+
"workflowDesigner.zoomOut": "Zoom out",
|
|
183
|
+
"workflowDesigner.resetView": "Reset view",
|
|
184
|
+
"workflowDesigner.simulateFlow": "Simulate flow",
|
|
185
|
+
"workflowDesigner.testProcess": "Test process",
|
|
186
|
+
"workflowDesigner.publishProcess": "Publish process",
|
|
187
|
+
"workflowDesigner.exportBpmn": "Export BPMN XML",
|
|
188
|
+
"workflowDesigner.importBpmn": "Import BPMN XML",
|
|
189
|
+
"workflowDesigner.toolbar": "Workflow toolbar",
|
|
190
|
+
"workflowDesigner.bpmnToolbar": "BPMN designer toolbar",
|
|
191
|
+
"workflowDesigner.palette": "BPMN element palette",
|
|
192
|
+
"workflowDesigner.canvas": "Workflow canvas",
|
|
193
|
+
"workflowDesigner.bpmnCanvas": "BPMN canvas",
|
|
194
|
+
"workflowDesigner.minimap": "Minimap",
|
|
195
|
+
"workflowDesigner.expand": "Expand",
|
|
196
|
+
"workflowDesigner.collapse": "Collapse",
|
|
197
|
+
"workflowDesigner.connect": "Connect",
|
|
198
|
+
"workflowDesigner.startConnect": "Start connection",
|
|
199
|
+
"workflowDesigner.delete": "Delete",
|
|
200
|
+
"workflowDesigner.deleteElement": "Delete element",
|
|
201
|
+
"workflowDesigner.next": "Next",
|
|
202
|
+
"workflowDesigner.connectHint": "Click a target element to connect, or click empty space to cancel",
|
|
203
|
+
"workflowDesigner.properties": "Properties",
|
|
204
|
+
"workflowDesigner.propertiesOf": "Properties: {name}",
|
|
205
|
+
"workflowDesigner.assignee": "Assigned to",
|
|
206
|
+
"workflowDesigner.dueDate": "Due date",
|
|
207
|
+
"workflowDesigner.dueDatePlaceholder": "P3D (3 days)",
|
|
208
|
+
"workflowDesigner.priority": "Priority",
|
|
209
|
+
"workflowDesigner.documentation": "Documentation",
|
|
210
|
+
"workflowDesigner.timer": "Timer (ISO 8601)",
|
|
211
|
+
"workflowDesigner.timerPlaceholder": "PT1H (1 hour) or R3/PT1H (3 repetitions)",
|
|
212
|
+
"workflowDesigner.defaultFlow": "Default flow",
|
|
213
|
+
"workflowDesigner.flowOf": "Flow: {name}",
|
|
214
|
+
"workflowDesigner.condition": "Condition",
|
|
215
|
+
"workflowDesigner.deleteFlow": "Delete flow",
|
|
216
|
+
"workflowDesigner.variables": "Process variables",
|
|
217
|
+
"workflowDesigner.addVariable": "Add variable",
|
|
218
|
+
"workflowDesigner.simActiveElement": "Simulation active — current element:",
|
|
219
|
+
"workflowDesigner.simActiveState": "Simulation active — current state:",
|
|
220
|
+
"workflowDesigner.endSimulation": "End simulation",
|
|
221
|
+
"workflowDesigner.addState": "State",
|
|
222
|
+
"workflowDesigner.addApproval": "Approval",
|
|
223
|
+
"workflowDesigner.newState": "New state",
|
|
224
|
+
"workflowDesigner.stateLabel": "State: {name}",
|
|
225
|
+
"workflowDesigner.stateName": "State name",
|
|
226
|
+
"workflowDesigner.deleteState": "Delete state {name}",
|
|
227
|
+
"workflowDesigner.stateProps": "State properties",
|
|
228
|
+
"workflowDesigner.stateType": "State type",
|
|
229
|
+
"workflowDesigner.val.noInitial": "No initial state",
|
|
230
|
+
"workflowDesigner.val.multiInitial": "More than one initial state",
|
|
231
|
+
"workflowDesigner.val.noFinal": "No final state",
|
|
232
|
+
"workflowDesigner.val.deadEnd": 'State "{name}" has no outgoing transitions (dead-end)',
|
|
233
|
+
"workflowDesigner.val.orphan": 'State "{name}" is unreachable (orphan)',
|
|
234
|
+
"workflowDesigner.val.bpmnNoStart": "Process must have at least one start event",
|
|
235
|
+
"workflowDesigner.val.bpmnNoEnd": "Process must have at least one end event",
|
|
236
|
+
"workflowDesigner.val.startNoOut": 'Start event "{name}" has no outgoing flow',
|
|
237
|
+
"workflowDesigner.val.endNoIn": 'End event "{name}" has no incoming flow',
|
|
238
|
+
"workflowDesigner.val.unreachable": 'Element "{name}" is unreachable',
|
|
239
|
+
"workflowDesigner.val.elemNoOut": 'Element "{name}" has no outgoing flow',
|
|
240
|
+
"workflowDesigner.val.xorNoConditions": 'Exclusive gateway "{name}" should have conditions on its flows',
|
|
241
|
+
"tutorial.workflowDesigner.toolbar.title": "Toolbar",
|
|
242
|
+
"tutorial.workflowDesigner.toolbar.content": "Add states and approvals, run a simulation, then test or publish the workflow.",
|
|
243
|
+
"tutorial.workflowDesigner.canvas.title": "Canvas",
|
|
244
|
+
"tutorial.workflowDesigner.canvas.content": "Drag to arrange states, click one to edit it, and connect them into transitions.",
|
|
245
|
+
"tutorial.workflowDesigner.minimap.title": "Minimap",
|
|
246
|
+
"tutorial.workflowDesigner.minimap.content": "A bird’s-eye overview of the whole flow for quick navigation.",
|
|
247
|
+
"tutorial.themeBuilder.presets.title": "Presets",
|
|
248
|
+
"tutorial.themeBuilder.presets.content": "Start from a built-in preset, then customise — the fastest way to a coherent palette.",
|
|
249
|
+
"tutorial.themeBuilder.sections.title": "Token sections",
|
|
250
|
+
"tutorial.themeBuilder.sections.content": "Edit tokens by section: colors, backgrounds, text, borders, spacing and typography.",
|
|
251
|
+
"tutorial.themeBuilder.preview.title": "Live preview",
|
|
252
|
+
"tutorial.themeBuilder.preview.content": "Every change previews instantly across sample components, so you can judge the theme as you build it.",
|
|
253
|
+
"tutorial.themeBuilder.export.title": "Name, apply & export",
|
|
254
|
+
"tutorial.themeBuilder.export.content": "Name your theme, apply it to the page, or export it as JSON / CSS variables for reuse.",
|
|
255
|
+
"dataSourceBuilder.namePlaceholder": "Data source name…",
|
|
256
|
+
"dataSourceBuilder.nameAria": "Data source name",
|
|
257
|
+
"tutorial.dataSourceBuilder.name.title": "Name & key",
|
|
258
|
+
"tutorial.dataSourceBuilder.name.content": "Give the data source a readable name; its stable key (used by views) is generated automatically and shown next to it.",
|
|
259
|
+
"lifecycleHooks.enabled": "Enabled",
|
|
260
|
+
"lifecycleHooks.handler": "Handler",
|
|
261
|
+
"lifecycleHooks.selectHandler": "— select handler —",
|
|
262
|
+
"lifecycleHooks.handlerPlaceholder": "handler (e.g. scripts/on-create.js)",
|
|
263
|
+
"lifecycleHooks.conditionPlaceholder": "condition (optional)",
|
|
264
|
+
"lifecycleHooks.condition": "Condition",
|
|
265
|
+
"lifecycleHooks.moveUp": "Move up",
|
|
266
|
+
"lifecycleHooks.moveDown": "Move down",
|
|
267
|
+
"lifecycleHooks.removeBinding": "Remove binding",
|
|
268
|
+
"lifecycleHooks.addHandler": "Add handler",
|
|
269
|
+
"tutorial.lifecycleHooks.bindings.title": "Triggers & bindings",
|
|
270
|
+
"tutorial.lifecycleHooks.bindings.content": "Each trigger lists its bound handlers. Add a handler, toggle its enabled flag, reorder it, and optionally set a condition that gates execution.",
|
|
271
|
+
"revisionHistory.revisions": "Revisions",
|
|
272
|
+
"revisionHistory.compare": "Compare",
|
|
273
|
+
"revisionHistory.restore": "Restore",
|
|
274
|
+
"revisionHistory.diffEmpty": "Select a revision and choose another to compare.",
|
|
275
|
+
"tutorial.revisionHistory.list.title": "Revisions",
|
|
276
|
+
"tutorial.revisionHistory.list.content": "Select a revision, then click “Compare” on another to diff the two. “Restore” rolls back to that revision.",
|
|
277
|
+
"tutorial.revisionHistory.diff.title": "Diff",
|
|
278
|
+
"tutorial.revisionHistory.diff.content": "Review the side-by-side differences between the two selected revisions.",
|
|
279
|
+
"accessManager.roles": "Roles",
|
|
280
|
+
"accessManager.newRole": "New role…",
|
|
281
|
+
"accessManager.newRoleAria": "New role name",
|
|
282
|
+
"accessManager.add": "Add",
|
|
283
|
+
"accessManager.removeRole": "Remove role",
|
|
284
|
+
"accessManager.resources": "Resources",
|
|
285
|
+
"accessManager.applyDescendants": "Apply to all descendants",
|
|
286
|
+
"accessManager.empty": "Select a resource to edit its access.",
|
|
287
|
+
"accessManager.collapse": "Collapse",
|
|
288
|
+
"accessManager.expand": "Expand",
|
|
289
|
+
"tutorial.accessManager.tree.title": "Roles & resources",
|
|
290
|
+
"tutorial.accessManager.tree.content": "Add and remove roles, then pick a resource from the tree (modules → views / entities / actions) to edit its access.",
|
|
291
|
+
"tutorial.accessManager.matrix.title": "Permission matrix",
|
|
292
|
+
"tutorial.accessManager.matrix.content": "Grant each role its actions for the selected resource. Use the bulk controls, or “Apply to all descendants” to cascade grants down the tree.",
|
|
293
|
+
"viewEditor.name": "View name",
|
|
294
|
+
"viewEditor.kindAria": "View kind",
|
|
295
|
+
"viewEditor.kind.form": "Form",
|
|
296
|
+
"viewEditor.kind.detail": "Detail",
|
|
297
|
+
"viewEditor.kind.grid": "Grid",
|
|
298
|
+
"viewEditor.kind.dashboard": "Dashboard",
|
|
299
|
+
"viewEditor.kind.content": "Content",
|
|
300
|
+
"viewEditor.kind.report": "Report",
|
|
301
|
+
"viewEditor.kind.print": "Print",
|
|
302
|
+
"viewEditor.kind.mix": "Mix",
|
|
303
|
+
"viewEditor.fromEntity": "New from entity…",
|
|
304
|
+
"viewEditor.fromEntityAria": "New view from entity",
|
|
305
|
+
"viewEditor.export": "Export…",
|
|
306
|
+
"viewEditor.exportAria": "Export view",
|
|
307
|
+
"viewEditor.mode.design": "Design",
|
|
308
|
+
"viewEditor.mode.preview": "Preview",
|
|
309
|
+
"viewEditor.mode.source": "Source",
|
|
310
|
+
"viewEditor.valid": "✓ Valid",
|
|
311
|
+
"viewEditor.save": "Save",
|
|
312
|
+
"viewEditor.add": "Add",
|
|
313
|
+
"viewEditor.cat.Inputs": "Inputs",
|
|
314
|
+
"viewEditor.cat.Data": "Data",
|
|
315
|
+
"viewEditor.cat.BI": "BI",
|
|
316
|
+
"viewEditor.cat.Actions": "Actions",
|
|
317
|
+
"viewEditor.cat.Display": "Display",
|
|
318
|
+
"viewEditor.pal.textInput": "Text",
|
|
319
|
+
"viewEditor.pal.textArea": "Text area",
|
|
320
|
+
"viewEditor.pal.numberInput": "Number",
|
|
321
|
+
"viewEditor.pal.select": "Select",
|
|
322
|
+
"viewEditor.pal.checkbox": "Checkbox",
|
|
323
|
+
"viewEditor.pal.datePicker": "Date",
|
|
324
|
+
"viewEditor.pal.dataGrid": "Data grid",
|
|
325
|
+
"viewEditor.pal.chart": "Chart",
|
|
326
|
+
"viewEditor.pal.kpi": "KPI",
|
|
327
|
+
"viewEditor.pal.button": "Button",
|
|
328
|
+
"viewEditor.pal.text": "Text",
|
|
329
|
+
"viewEditor.pal.heading": "Heading",
|
|
330
|
+
"viewEditor.pal.badge": "Badge",
|
|
331
|
+
"viewEditor.pal.card": "Card",
|
|
332
|
+
"viewEditor.addRow": "Add row",
|
|
333
|
+
"viewEditor.canvasEmpty": "Add a row, then drop controls from the palette — or start “New from entity”.",
|
|
334
|
+
"viewEditor.removeCell": "Remove cell",
|
|
335
|
+
"viewEditor.emptyRow": "empty row",
|
|
336
|
+
"viewEditor.control": "Control",
|
|
337
|
+
"viewEditor.cp.label": "Label",
|
|
338
|
+
"viewEditor.cp.colSpan": "Column span",
|
|
339
|
+
"viewEditor.cp.binding": "Binding",
|
|
340
|
+
"viewEditor.cp.dataSource": "Data source",
|
|
341
|
+
"viewEditor.cp.none": "— none —",
|
|
342
|
+
"viewEditor.cp.field": "Field",
|
|
343
|
+
"viewEditor.cp.fieldPath": "field path",
|
|
344
|
+
"viewEditor.cp.twoWay": "Two-way",
|
|
345
|
+
"viewEditor.cp.permissions": "Permissions",
|
|
346
|
+
"viewEditor.cp.role": "role",
|
|
347
|
+
"viewEditor.cp.addPermission": "Permission",
|
|
348
|
+
"viewEditor.cp.events": "Events",
|
|
349
|
+
"viewEditor.cp.eventPlaceholder": "event (onClick / onValueChange…)",
|
|
350
|
+
"viewEditor.cp.removeEvent": "Remove event",
|
|
351
|
+
"viewEditor.cp.addEvent": "Event",
|
|
352
|
+
"viewEditor.remove": "Remove",
|
|
353
|
+
"viewEditor.ds.title": "Data sources",
|
|
354
|
+
"viewEditor.ds.hint": "Select a control to edit its props, binding & events.",
|
|
355
|
+
"viewEditor.ds.key": "key",
|
|
356
|
+
"viewEditor.ds.endpoint": "endpoint",
|
|
357
|
+
"viewEditor.ds.autoLoad": "auto-load",
|
|
358
|
+
"viewEditor.ds.add": "Data source",
|
|
359
|
+
"tutorial.viewEditor.palette.title": "Palette",
|
|
360
|
+
"tutorial.viewEditor.palette.content": "Add controls from the palette into the grid — inputs, data grids, charts, KPIs, buttons and display blocks.",
|
|
361
|
+
"tutorial.viewEditor.canvas.title": "Canvas",
|
|
362
|
+
"tutorial.viewEditor.canvas.content": "Arrange cells into rows and set each cell’s column span. Click a cell to configure it.",
|
|
363
|
+
"tutorial.viewEditor.props.title": "Properties",
|
|
364
|
+
"tutorial.viewEditor.props.content": "Configure the selected control: props, data binding, role permissions and event actions. With nothing selected, manage the view’s data sources.",
|
|
365
|
+
"tutorial.viewEditor.modes.title": "Design / Preview / Source",
|
|
366
|
+
"tutorial.viewEditor.modes.content": "Switch between the visual designer, a live preview, and the raw NiceViewDefinition JSON. Save when the view is valid.",
|
|
367
|
+
"manifestEditor.tab.scripts": "Scripts",
|
|
368
|
+
"manifestEditor.tab.lifecycle": "Lifecycle",
|
|
369
|
+
"manifestEditor.tab.history": "History",
|
|
370
|
+
"manifestEditor.status.valid": "✓ Valid",
|
|
371
|
+
"manifestEditor.status.issues": "issues",
|
|
372
|
+
"manifestEditor.sections": "sections",
|
|
373
|
+
"manifestEditor.output": "Output",
|
|
374
|
+
"tutorial.manifestEditor.sections.title": "Sections",
|
|
375
|
+
"tutorial.manifestEditor.sections.content": "The manifest is split into schema-driven sections — switch between them using the tabs at the top.",
|
|
376
|
+
"tutorial.manifestEditor.json.title": "Form ⇄ JSON",
|
|
377
|
+
"tutorial.manifestEditor.json.content": "Each section can be edited as a visual form or as raw JSON — use the toggle inside the section.",
|
|
378
|
+
"i18nEditor.keyHead": "Key",
|
|
379
|
+
"i18nEditor.removeLocale": "Remove locale",
|
|
380
|
+
"i18nEditor.keyAria": "Translation key",
|
|
381
|
+
"i18nEditor.removeKey": "Remove key",
|
|
382
|
+
"i18nEditor.empty": "No translation keys yet.",
|
|
383
|
+
"i18nEditor.newKeyPlaceholder": "new.key",
|
|
384
|
+
"i18nEditor.newKeyAria": "New key",
|
|
385
|
+
"i18nEditor.addKey": "Key",
|
|
386
|
+
"i18nEditor.newLocalePlaceholder": "locale (e.g. de)",
|
|
387
|
+
"i18nEditor.newLocaleAria": "New locale",
|
|
388
|
+
"i18nEditor.addLocale": "Locale",
|
|
389
|
+
"tutorial.i18nEditor.grid.title": "Keys × locales",
|
|
390
|
+
"tutorial.i18nEditor.grid.content": "Each row is a translation key and each column a locale. Edit a cell to set a translation; amber cells are still missing.",
|
|
391
|
+
"tutorial.i18nEditor.add.title": "Add keys & locales",
|
|
392
|
+
"tutorial.i18nEditor.add.content": "Add a new translation key or a new locale column here; new cells start empty and are flagged as missing.",
|
|
393
|
+
"moduleEditor.tab.entities": "Entities",
|
|
394
|
+
"moduleEditor.tab.i18n": "i18n",
|
|
395
|
+
"moduleEditor.tab.views": "Views",
|
|
396
|
+
"moduleEditor.tab.workflows": "Workflows",
|
|
397
|
+
"moduleEditor.tab.data": "Data",
|
|
398
|
+
"moduleEditor.tab.permissions": "Permissions",
|
|
399
|
+
"moduleEditor.tab.scripts": "Scripts",
|
|
400
|
+
"moduleEditor.tab.lifecycle": "Lifecycle",
|
|
401
|
+
"moduleEditor.tab.history": "History",
|
|
402
|
+
"moduleEditor.tab.source": "Source",
|
|
403
|
+
"moduleEditor.status.valid": "✓ Valid",
|
|
404
|
+
"moduleEditor.status.issues": "issues",
|
|
405
|
+
"moduleEditor.searchModules": "Search modules…",
|
|
406
|
+
"moduleEditor.loading": "Loading…",
|
|
407
|
+
"moduleEditor.noModules": "No modules. Open a source first.",
|
|
408
|
+
"moduleEditor.title": "Module Editor",
|
|
409
|
+
"moduleEditor.refresh": "Refresh",
|
|
410
|
+
"moduleEditor.validate": "Validate",
|
|
411
|
+
"moduleEditor.saving": "Saving…",
|
|
412
|
+
"moduleEditor.save": "Save",
|
|
413
|
+
"moduleEditor.output": "Output",
|
|
414
|
+
"moduleEditor.placeholder": "Select a module from the left to start editing.",
|
|
415
|
+
"moduleEditor.delete": "Delete",
|
|
416
|
+
"moduleEditor.views.select": "Select view",
|
|
417
|
+
"moduleEditor.views.placeholder": "— select view —",
|
|
418
|
+
"moduleEditor.views.new": "New view",
|
|
419
|
+
"moduleEditor.views.empty": "No view selected. Create one, then use “New from entity” inside the editor.",
|
|
420
|
+
"moduleEditor.workflows.select": "Select workflow",
|
|
421
|
+
"moduleEditor.workflows.placeholder": "— select workflow —",
|
|
422
|
+
"moduleEditor.workflows.new": "New workflow",
|
|
423
|
+
"moduleEditor.workflows.empty": "No workflow selected. Create one to start designing states and transitions.",
|
|
424
|
+
"moduleEditor.data.select": "Select data source",
|
|
425
|
+
"moduleEditor.data.placeholder": "— select data source —",
|
|
426
|
+
"moduleEditor.data.new": "New data source",
|
|
427
|
+
"moduleEditor.data.empty": "No data source selected. Create one to build a query from your module’s schema.",
|
|
428
|
+
"tutorial.moduleEditor.intro.title": "Module editor",
|
|
429
|
+
"tutorial.moduleEditor.intro.content": "Design a whole module end-to-end — manifest, entities, translations, views, workflows, data sources and permissions — then validate and save.",
|
|
430
|
+
"tutorial.moduleEditor.tabs.title": "Module parts",
|
|
431
|
+
"tutorial.moduleEditor.tabs.content": "Each tab edits one part of the module: Manifest sections, Entities, i18n, Views, Workflows, Data sources, Permissions and more.",
|
|
432
|
+
"tutorial.moduleEditor.output.title": "Output",
|
|
433
|
+
"tutorial.moduleEditor.output.content": "Validation results and load/save activity are logged here.",
|
|
434
|
+
"tutorial.schemaForm.viewToggle.title": "Form ⇄ JSON",
|
|
435
|
+
"tutorial.schemaForm.viewToggle.content": "Switch between the visual form and the raw JSON value — handy for power users and copy/paste.",
|
|
436
|
+
"tutorial.schemaForm.validation.title": "Live validation",
|
|
437
|
+
"tutorial.schemaForm.validation.content": "Values are validated against the schema as you type; any problems are listed below the form.",
|
|
438
|
+
"schemaForm.tab.form": "Form",
|
|
439
|
+
"schemaForm.tab.json": "JSON",
|
|
440
|
+
"schemaForm.tab.json.help": "Edit the raw JSON value directly",
|
|
441
|
+
"schemaForm.invalidJson": "Invalid JSON",
|
|
172
442
|
"tutorial.schemaForm.intro.content": "This form is generated from a schema. Required fields and validation errors are flagged; use the JSON toggle for raw editing.",
|
|
173
443
|
"tutorial.entityEditor.intro.title": "Entity editor",
|
|
174
444
|
"tutorial.entityEditor.intro.content": "Add entities on the left, then edit each entity’s metadata and its fields (type, keys, constraints) on the right.",
|
|
445
|
+
"entityEditor.col.name": "Name",
|
|
446
|
+
"entityEditor.col.displayName": "Display name",
|
|
447
|
+
"entityEditor.col.table": "Table",
|
|
448
|
+
"entityEditor.col.fields": "Fields",
|
|
449
|
+
"entityEditor.col.fields.help": "Number of fields defined on this entity",
|
|
450
|
+
"entityEditor.col.flags": "Flags",
|
|
451
|
+
"entityEditor.flag.audited": "Audited — tracks who changed each record and when",
|
|
452
|
+
"entityEditor.flag.audited.abbr": "Audit",
|
|
453
|
+
"entityEditor.flag.softDelete": "Soft delete — rows are flagged deleted, never physically removed",
|
|
454
|
+
"entityEditor.flag.softDelete.abbr": "Soft-del",
|
|
455
|
+
"entityEditor.search": "Search entities…",
|
|
456
|
+
"entityEditor.empty": "No entities yet. Create one to get started.",
|
|
457
|
+
"entityEditor.new": "New entity",
|
|
458
|
+
"entityEditor.back": "Entities",
|
|
459
|
+
"entityEditor.backHint": "Back to the entity list",
|
|
460
|
+
"entityEditor.delete": "Delete",
|
|
461
|
+
"entityEditor.deleteHint": "Delete this entity",
|
|
462
|
+
"entityEditor.untitled": "Untitled entity",
|
|
463
|
+
"entityEditor.tab.general": "General",
|
|
464
|
+
"entityEditor.tab.fields": "Fields",
|
|
465
|
+
"entityEditor.tab.validation": "Validation",
|
|
466
|
+
"entityEditor.tab.er": "ER diagram",
|
|
467
|
+
"entityEditor.field.name": "Name",
|
|
468
|
+
"entityEditor.field.type": "Type",
|
|
469
|
+
"entityEditor.field.flags": "Constraints",
|
|
470
|
+
"entityEditor.field.flags.help": "Key / required / unique / indexed constraints on this field",
|
|
471
|
+
"entityEditor.flag.pk": "Primary key",
|
|
472
|
+
"entityEditor.flag.fk": "Foreign key",
|
|
473
|
+
"entityEditor.flag.required": "Required (NOT NULL)",
|
|
474
|
+
"entityEditor.flag.unique": "Unique",
|
|
475
|
+
"entityEditor.flag.indexed": "Indexed",
|
|
476
|
+
"entityEditor.field.back": "Fields",
|
|
477
|
+
"entityEditor.field.backHint": "Back to the field list",
|
|
478
|
+
"entityEditor.field.untitled": "New field",
|
|
479
|
+
"entityEditor.field.done": "Done",
|
|
480
|
+
"entityEditor.field.add": "Add field",
|
|
481
|
+
"entityEditor.field.search": "Search fields…",
|
|
482
|
+
"entityEditor.field.empty": "No fields yet. Add one to define this entity.",
|
|
175
483
|
"tutorial.i18nEditor.intro.title": "Translations",
|
|
176
484
|
"tutorial.i18nEditor.intro.content": "Edit translations as a keys × locales grid. Add keys and locales; amber cells mark missing translations.",
|
|
177
485
|
"tutorial.formBuilder.intro.title": "Form builder",
|
|
@@ -1088,9 +1396,317 @@ const x = [
|
|
|
1088
1396
|
"tutorial.manifestEditor.intro.title": "Edytor manifestu",
|
|
1089
1397
|
"tutorial.manifestEditor.intro.content": "Edytuj manifest w sekcjach opartych na schemacie. Przełączaj Formularz ⇄ JSON w sekcji; walidacja widoczna na pasku statusu.",
|
|
1090
1398
|
"tutorial.schemaForm.intro.title": "Formularz ze schematu",
|
|
1399
|
+
"workflowDesigner.name": "Nazwa",
|
|
1400
|
+
"workflowDesigner.type": "Typ",
|
|
1401
|
+
"workflowDesigner.select": "— Wybierz —",
|
|
1402
|
+
"workflowDesigner.simulate": "Symuluj",
|
|
1403
|
+
"workflowDesigner.stop": "Stop",
|
|
1404
|
+
"workflowDesigner.test": "Test",
|
|
1405
|
+
"workflowDesigner.publish": "Publikuj",
|
|
1406
|
+
"workflowDesigner.export": "Eksport",
|
|
1407
|
+
"workflowDesigner.import": "Import",
|
|
1408
|
+
"workflowDesigner.zoomIn": "Powiększ",
|
|
1409
|
+
"workflowDesigner.zoomOut": "Pomniejsz",
|
|
1410
|
+
"workflowDesigner.resetView": "Reset widoku",
|
|
1411
|
+
"workflowDesigner.simulateFlow": "Symuluj przepływ",
|
|
1412
|
+
"workflowDesigner.testProcess": "Testuj proces",
|
|
1413
|
+
"workflowDesigner.publishProcess": "Publikuj proces",
|
|
1414
|
+
"workflowDesigner.exportBpmn": "Eksportuj BPMN XML",
|
|
1415
|
+
"workflowDesigner.importBpmn": "Importuj BPMN XML",
|
|
1416
|
+
"workflowDesigner.toolbar": "Narzędzia workflow",
|
|
1417
|
+
"workflowDesigner.bpmnToolbar": "Narzędzia projektanta BPMN",
|
|
1418
|
+
"workflowDesigner.palette": "Paleta elementów BPMN",
|
|
1419
|
+
"workflowDesigner.canvas": "Obszar roboczy workflow",
|
|
1420
|
+
"workflowDesigner.bpmnCanvas": "Obszar roboczy BPMN",
|
|
1421
|
+
"workflowDesigner.minimap": "Minimapa",
|
|
1422
|
+
"workflowDesigner.expand": "Rozwiń",
|
|
1423
|
+
"workflowDesigner.collapse": "Zwiń",
|
|
1424
|
+
"workflowDesigner.connect": "Połącz",
|
|
1425
|
+
"workflowDesigner.startConnect": "Rozpocznij połączenie",
|
|
1426
|
+
"workflowDesigner.delete": "Usuń",
|
|
1427
|
+
"workflowDesigner.deleteElement": "Usuń element",
|
|
1428
|
+
"workflowDesigner.next": "Dalej",
|
|
1429
|
+
"workflowDesigner.connectHint": "Kliknij element docelowy, aby połączyć, lub kliknij pustą przestrzeń, aby anulować",
|
|
1430
|
+
"workflowDesigner.properties": "Właściwości",
|
|
1431
|
+
"workflowDesigner.propertiesOf": "Właściwości: {name}",
|
|
1432
|
+
"workflowDesigner.assignee": "Przypisany do",
|
|
1433
|
+
"workflowDesigner.dueDate": "Termin",
|
|
1434
|
+
"workflowDesigner.dueDatePlaceholder": "P3D (3 dni)",
|
|
1435
|
+
"workflowDesigner.priority": "Priorytet",
|
|
1436
|
+
"workflowDesigner.documentation": "Dokumentacja",
|
|
1437
|
+
"workflowDesigner.timer": "Timer (ISO 8601)",
|
|
1438
|
+
"workflowDesigner.timerPlaceholder": "PT1H (1 godzina) lub R3/PT1H (3 powtórzenia)",
|
|
1439
|
+
"workflowDesigner.defaultFlow": "Domyślny przepływ",
|
|
1440
|
+
"workflowDesigner.flowOf": "Przepływ: {name}",
|
|
1441
|
+
"workflowDesigner.condition": "Warunek",
|
|
1442
|
+
"workflowDesigner.deleteFlow": "Usuń przepływ",
|
|
1443
|
+
"workflowDesigner.variables": "Zmienne procesu",
|
|
1444
|
+
"workflowDesigner.addVariable": "Dodaj zmienną",
|
|
1445
|
+
"workflowDesigner.simActiveElement": "Symulacja aktywna — aktualny element:",
|
|
1446
|
+
"workflowDesigner.simActiveState": "Symulacja aktywna — aktualny stan:",
|
|
1447
|
+
"workflowDesigner.endSimulation": "Zakończ symulację",
|
|
1448
|
+
"workflowDesigner.addState": "Stan",
|
|
1449
|
+
"workflowDesigner.addApproval": "Zatwierdzenie",
|
|
1450
|
+
"workflowDesigner.newState": "Nowy stan",
|
|
1451
|
+
"workflowDesigner.stateLabel": "Stan: {name}",
|
|
1452
|
+
"workflowDesigner.stateName": "Nazwa stanu",
|
|
1453
|
+
"workflowDesigner.deleteState": "Usuń stan {name}",
|
|
1454
|
+
"workflowDesigner.stateProps": "Właściwości stanu",
|
|
1455
|
+
"workflowDesigner.stateType": "Typ stanu",
|
|
1456
|
+
"workflowDesigner.val.noInitial": "Brak stanu początkowego",
|
|
1457
|
+
"workflowDesigner.val.multiInitial": "Więcej niż jeden stan początkowy",
|
|
1458
|
+
"workflowDesigner.val.noFinal": "Brak stanu końcowego",
|
|
1459
|
+
"workflowDesigner.val.deadEnd": 'Stan "{name}" nie ma przejść wyjściowych (ślepy zaułek)',
|
|
1460
|
+
"workflowDesigner.val.orphan": 'Stan "{name}" jest nieosiągalny (sierota)',
|
|
1461
|
+
"workflowDesigner.val.bpmnNoStart": "Proces musi mieć co najmniej jedno zdarzenie początkowe",
|
|
1462
|
+
"workflowDesigner.val.bpmnNoEnd": "Proces musi mieć co najmniej jedno zdarzenie końcowe",
|
|
1463
|
+
"workflowDesigner.val.startNoOut": 'Zdarzenie początkowe "{name}" nie ma przepływu wyjściowego',
|
|
1464
|
+
"workflowDesigner.val.endNoIn": 'Zdarzenie końcowe "{name}" nie ma przepływu wejściowego',
|
|
1465
|
+
"workflowDesigner.val.unreachable": 'Element "{name}" jest nieosiągalny',
|
|
1466
|
+
"workflowDesigner.val.elemNoOut": 'Element "{name}" nie ma przepływu wyjściowego',
|
|
1467
|
+
"workflowDesigner.val.xorNoConditions": 'Bramka wykluczająca "{name}" powinna mieć warunki na przepływach',
|
|
1468
|
+
"tutorial.workflowDesigner.toolbar.title": "Pasek narzędzi",
|
|
1469
|
+
"tutorial.workflowDesigner.toolbar.content": "Dodawaj stany i zatwierdzenia, uruchom symulację, a następnie przetestuj lub opublikuj workflow.",
|
|
1470
|
+
"tutorial.workflowDesigner.canvas.title": "Obszar roboczy",
|
|
1471
|
+
"tutorial.workflowDesigner.canvas.content": "Przeciągaj, aby układać stany, kliknij jeden, aby go edytować, i łącz je w przejścia.",
|
|
1472
|
+
"tutorial.workflowDesigner.minimap.title": "Minimapa",
|
|
1473
|
+
"tutorial.workflowDesigner.minimap.content": "Widok z lotu ptaka całego przepływu dla szybkiej nawigacji.",
|
|
1474
|
+
"tutorial.themeBuilder.presets.title": "Presety",
|
|
1475
|
+
"tutorial.themeBuilder.presets.content": "Zacznij od wbudowanego presetu, a potem dostosuj — najszybsza droga do spójnej palety.",
|
|
1476
|
+
"tutorial.themeBuilder.sections.title": "Sekcje tokenów",
|
|
1477
|
+
"tutorial.themeBuilder.sections.content": "Edytuj tokeny wg sekcji: kolory, tła, tekst, obramowania, odstępy i typografia.",
|
|
1478
|
+
"tutorial.themeBuilder.preview.title": "Podgląd na żywo",
|
|
1479
|
+
"tutorial.themeBuilder.preview.content": "Każda zmiana jest natychmiast podglądana na przykładowych komponentach, więc oceniasz motyw na bieżąco.",
|
|
1480
|
+
"tutorial.themeBuilder.export.title": "Nazwa, zastosuj i eksport",
|
|
1481
|
+
"tutorial.themeBuilder.export.content": "Nazwij motyw, zastosuj go do strony lub wyeksportuj jako JSON / zmienne CSS do ponownego użycia.",
|
|
1482
|
+
"dataSourceBuilder.namePlaceholder": "Nazwa źródła danych…",
|
|
1483
|
+
"dataSourceBuilder.nameAria": "Nazwa źródła danych",
|
|
1484
|
+
"tutorial.dataSourceBuilder.name.title": "Nazwa i klucz",
|
|
1485
|
+
"tutorial.dataSourceBuilder.name.content": "Nadaj źródłu danych czytelną nazwę; jego stały klucz (używany przez widoki) jest generowany automatycznie i pokazany obok.",
|
|
1486
|
+
"lifecycleHooks.enabled": "Włączone",
|
|
1487
|
+
"lifecycleHooks.handler": "Handler",
|
|
1488
|
+
"lifecycleHooks.selectHandler": "— wybierz handler —",
|
|
1489
|
+
"lifecycleHooks.handlerPlaceholder": "handler (np. scripts/on-create.js)",
|
|
1490
|
+
"lifecycleHooks.conditionPlaceholder": "warunek (opcjonalny)",
|
|
1491
|
+
"lifecycleHooks.condition": "Warunek",
|
|
1492
|
+
"lifecycleHooks.moveUp": "Przesuń w górę",
|
|
1493
|
+
"lifecycleHooks.moveDown": "Przesuń w dół",
|
|
1494
|
+
"lifecycleHooks.removeBinding": "Usuń powiązanie",
|
|
1495
|
+
"lifecycleHooks.addHandler": "Dodaj handler",
|
|
1496
|
+
"tutorial.lifecycleHooks.bindings.title": "Wyzwalacze i powiązania",
|
|
1497
|
+
"tutorial.lifecycleHooks.bindings.content": "Każdy wyzwalacz wyświetla powiązane handlery. Dodaj handler, przełącz flagę włączenia, zmień kolejność i opcjonalnie ustaw warunek bramkujący wykonanie.",
|
|
1498
|
+
"revisionHistory.revisions": "Wersje",
|
|
1499
|
+
"revisionHistory.compare": "Porównaj",
|
|
1500
|
+
"revisionHistory.restore": "Przywróć",
|
|
1501
|
+
"revisionHistory.diffEmpty": "Wybierz wersję i wskaż drugą do porównania.",
|
|
1502
|
+
"tutorial.revisionHistory.list.title": "Wersje",
|
|
1503
|
+
"tutorial.revisionHistory.list.content": "Wybierz wersję, a następnie kliknij „Porównaj” przy innej, aby je zestawić. „Przywróć” cofa do tej wersji.",
|
|
1504
|
+
"tutorial.revisionHistory.diff.title": "Różnice",
|
|
1505
|
+
"tutorial.revisionHistory.diff.content": "Przejrzyj różnice obok siebie między dwiema wybranymi wersjami.",
|
|
1506
|
+
"accessManager.roles": "Role",
|
|
1507
|
+
"accessManager.newRole": "Nowa rola…",
|
|
1508
|
+
"accessManager.newRoleAria": "Nazwa nowej roli",
|
|
1509
|
+
"accessManager.add": "Dodaj",
|
|
1510
|
+
"accessManager.removeRole": "Usuń rolę",
|
|
1511
|
+
"accessManager.resources": "Zasoby",
|
|
1512
|
+
"accessManager.applyDescendants": "Zastosuj do wszystkich podrzędnych",
|
|
1513
|
+
"accessManager.empty": "Wybierz zasób, aby edytować jego dostęp.",
|
|
1514
|
+
"accessManager.collapse": "Zwiń",
|
|
1515
|
+
"accessManager.expand": "Rozwiń",
|
|
1516
|
+
"tutorial.accessManager.tree.title": "Role i zasoby",
|
|
1517
|
+
"tutorial.accessManager.tree.content": "Dodawaj i usuwaj role, a następnie wybierz zasób z drzewa (moduły → widoki / encje / akcje), aby edytować jego dostęp.",
|
|
1518
|
+
"tutorial.accessManager.matrix.title": "Macierz uprawnień",
|
|
1519
|
+
"tutorial.accessManager.matrix.content": "Przyznaj każdej roli jej akcje dla wybranego zasobu. Użyj kontrolek zbiorczych lub „Zastosuj do wszystkich podrzędnych”, aby skaskadować uprawnienia w dół drzewa.",
|
|
1520
|
+
"viewEditor.name": "Nazwa widoku",
|
|
1521
|
+
"viewEditor.kindAria": "Rodzaj widoku",
|
|
1522
|
+
"viewEditor.kind.form": "Formularz",
|
|
1523
|
+
"viewEditor.kind.detail": "Szczegóły",
|
|
1524
|
+
"viewEditor.kind.grid": "Siatka",
|
|
1525
|
+
"viewEditor.kind.dashboard": "Pulpit",
|
|
1526
|
+
"viewEditor.kind.content": "Treść",
|
|
1527
|
+
"viewEditor.kind.report": "Raport",
|
|
1528
|
+
"viewEditor.kind.print": "Wydruk",
|
|
1529
|
+
"viewEditor.kind.mix": "Mix",
|
|
1530
|
+
"viewEditor.fromEntity": "Nowy z encji…",
|
|
1531
|
+
"viewEditor.fromEntityAria": "Nowy widok z encji",
|
|
1532
|
+
"viewEditor.export": "Eksport…",
|
|
1533
|
+
"viewEditor.exportAria": "Eksportuj widok",
|
|
1534
|
+
"viewEditor.mode.design": "Projekt",
|
|
1535
|
+
"viewEditor.mode.preview": "Podgląd",
|
|
1536
|
+
"viewEditor.mode.source": "Źródło",
|
|
1537
|
+
"viewEditor.valid": "✓ Poprawny",
|
|
1538
|
+
"viewEditor.save": "Zapisz",
|
|
1539
|
+
"viewEditor.add": "Dodaj",
|
|
1540
|
+
"viewEditor.cat.Inputs": "Pola",
|
|
1541
|
+
"viewEditor.cat.Data": "Dane",
|
|
1542
|
+
"viewEditor.cat.BI": "BI",
|
|
1543
|
+
"viewEditor.cat.Actions": "Akcje",
|
|
1544
|
+
"viewEditor.cat.Display": "Wyświetlanie",
|
|
1545
|
+
"viewEditor.pal.textInput": "Tekst",
|
|
1546
|
+
"viewEditor.pal.textArea": "Pole tekstowe",
|
|
1547
|
+
"viewEditor.pal.numberInput": "Liczba",
|
|
1548
|
+
"viewEditor.pal.select": "Wybór",
|
|
1549
|
+
"viewEditor.pal.checkbox": "Pole wyboru",
|
|
1550
|
+
"viewEditor.pal.datePicker": "Data",
|
|
1551
|
+
"viewEditor.pal.dataGrid": "Siatka danych",
|
|
1552
|
+
"viewEditor.pal.chart": "Wykres",
|
|
1553
|
+
"viewEditor.pal.kpi": "KPI",
|
|
1554
|
+
"viewEditor.pal.button": "Przycisk",
|
|
1555
|
+
"viewEditor.pal.text": "Tekst",
|
|
1556
|
+
"viewEditor.pal.heading": "Nagłówek",
|
|
1557
|
+
"viewEditor.pal.badge": "Odznaka",
|
|
1558
|
+
"viewEditor.pal.card": "Karta",
|
|
1559
|
+
"viewEditor.addRow": "Dodaj wiersz",
|
|
1560
|
+
"viewEditor.canvasEmpty": "Dodaj wiersz, a następnie upuść kontrolki z palety — lub zacznij od „Nowy z encji”.",
|
|
1561
|
+
"viewEditor.removeCell": "Usuń komórkę",
|
|
1562
|
+
"viewEditor.emptyRow": "pusty wiersz",
|
|
1563
|
+
"viewEditor.control": "Kontrolka",
|
|
1564
|
+
"viewEditor.cp.label": "Etykieta",
|
|
1565
|
+
"viewEditor.cp.colSpan": "Szerokość kolumn",
|
|
1566
|
+
"viewEditor.cp.binding": "Powiązanie",
|
|
1567
|
+
"viewEditor.cp.dataSource": "Źródło danych",
|
|
1568
|
+
"viewEditor.cp.none": "— brak —",
|
|
1569
|
+
"viewEditor.cp.field": "Pole",
|
|
1570
|
+
"viewEditor.cp.fieldPath": "ścieżka pola",
|
|
1571
|
+
"viewEditor.cp.twoWay": "Dwukierunkowe",
|
|
1572
|
+
"viewEditor.cp.permissions": "Uprawnienia",
|
|
1573
|
+
"viewEditor.cp.role": "rola",
|
|
1574
|
+
"viewEditor.cp.addPermission": "Uprawnienie",
|
|
1575
|
+
"viewEditor.cp.events": "Zdarzenia",
|
|
1576
|
+
"viewEditor.cp.eventPlaceholder": "zdarzenie (onClick / onValueChange…)",
|
|
1577
|
+
"viewEditor.cp.removeEvent": "Usuń zdarzenie",
|
|
1578
|
+
"viewEditor.cp.addEvent": "Zdarzenie",
|
|
1579
|
+
"viewEditor.remove": "Usuń",
|
|
1580
|
+
"viewEditor.ds.title": "Źródła danych",
|
|
1581
|
+
"viewEditor.ds.hint": "Wybierz kontrolkę, aby edytować jej propsy, powiązanie i zdarzenia.",
|
|
1582
|
+
"viewEditor.ds.key": "klucz",
|
|
1583
|
+
"viewEditor.ds.endpoint": "punkt końcowy",
|
|
1584
|
+
"viewEditor.ds.autoLoad": "auto-ładowanie",
|
|
1585
|
+
"viewEditor.ds.add": "Źródło danych",
|
|
1586
|
+
"tutorial.viewEditor.palette.title": "Paleta",
|
|
1587
|
+
"tutorial.viewEditor.palette.content": "Dodawaj kontrolki z palety do siatki — pola, siatki danych, wykresy, KPI, przyciski i bloki wyświetlania.",
|
|
1588
|
+
"tutorial.viewEditor.canvas.title": "Płótno",
|
|
1589
|
+
"tutorial.viewEditor.canvas.content": "Układaj komórki w wiersze i ustawiaj szerokość kolumn każdej komórki. Kliknij komórkę, aby ją skonfigurować.",
|
|
1590
|
+
"tutorial.viewEditor.props.title": "Właściwości",
|
|
1591
|
+
"tutorial.viewEditor.props.content": "Skonfiguruj wybraną kontrolkę: propsy, powiązanie danych, uprawnienia ról i akcje zdarzeń. Gdy nic nie jest wybrane, zarządzaj źródłami danych widoku.",
|
|
1592
|
+
"tutorial.viewEditor.modes.title": "Projekt / Podgląd / Źródło",
|
|
1593
|
+
"tutorial.viewEditor.modes.content": "Przełączaj między wizualnym projektantem, podglądem na żywo i surowym JSON-em NiceViewDefinition. Zapisz, gdy widok jest poprawny.",
|
|
1594
|
+
"manifestEditor.tab.scripts": "Skrypty",
|
|
1595
|
+
"manifestEditor.tab.lifecycle": "Cykl życia",
|
|
1596
|
+
"manifestEditor.tab.history": "Historia",
|
|
1597
|
+
"manifestEditor.status.valid": "✓ Poprawny",
|
|
1598
|
+
"manifestEditor.status.issues": "problemów",
|
|
1599
|
+
"manifestEditor.sections": "sekcji",
|
|
1600
|
+
"manifestEditor.output": "Wyjście",
|
|
1601
|
+
"tutorial.manifestEditor.sections.title": "Sekcje",
|
|
1602
|
+
"tutorial.manifestEditor.sections.content": "Manifest jest podzielony na sekcje sterowane schematem — przełączaj je zakładkami u góry.",
|
|
1603
|
+
"tutorial.manifestEditor.json.title": "Formularz ⇄ JSON",
|
|
1604
|
+
"tutorial.manifestEditor.json.content": "Każdą sekcję można edytować jako wizualny formularz lub surowy JSON — użyj przełącznika w sekcji.",
|
|
1605
|
+
"i18nEditor.keyHead": "Klucz",
|
|
1606
|
+
"i18nEditor.removeLocale": "Usuń język",
|
|
1607
|
+
"i18nEditor.keyAria": "Klucz tłumaczenia",
|
|
1608
|
+
"i18nEditor.removeKey": "Usuń klucz",
|
|
1609
|
+
"i18nEditor.empty": "Brak kluczy tłumaczeń.",
|
|
1610
|
+
"i18nEditor.newKeyPlaceholder": "nowy.klucz",
|
|
1611
|
+
"i18nEditor.newKeyAria": "Nowy klucz",
|
|
1612
|
+
"i18nEditor.addKey": "Klucz",
|
|
1613
|
+
"i18nEditor.newLocalePlaceholder": "język (np. de)",
|
|
1614
|
+
"i18nEditor.newLocaleAria": "Nowy język",
|
|
1615
|
+
"i18nEditor.addLocale": "Język",
|
|
1616
|
+
"tutorial.i18nEditor.grid.title": "Klucze × języki",
|
|
1617
|
+
"tutorial.i18nEditor.grid.content": "Każdy wiersz to klucz tłumaczenia, a każda kolumna to język. Edytuj komórkę, aby ustawić tłumaczenie; bursztynowe komórki są nadal puste.",
|
|
1618
|
+
"tutorial.i18nEditor.add.title": "Dodaj klucze i języki",
|
|
1619
|
+
"tutorial.i18nEditor.add.content": "Dodaj nowy klucz tłumaczenia lub nową kolumnę języka; nowe komórki są puste i oznaczone jako brakujące.",
|
|
1620
|
+
"moduleEditor.tab.entities": "Encje",
|
|
1621
|
+
"moduleEditor.tab.i18n": "i18n",
|
|
1622
|
+
"moduleEditor.tab.views": "Widoki",
|
|
1623
|
+
"moduleEditor.tab.workflows": "Procesy",
|
|
1624
|
+
"moduleEditor.tab.data": "Dane",
|
|
1625
|
+
"moduleEditor.tab.permissions": "Uprawnienia",
|
|
1626
|
+
"moduleEditor.tab.scripts": "Skrypty",
|
|
1627
|
+
"moduleEditor.tab.lifecycle": "Cykl życia",
|
|
1628
|
+
"moduleEditor.tab.history": "Historia",
|
|
1629
|
+
"moduleEditor.tab.source": "Źródło",
|
|
1630
|
+
"moduleEditor.status.valid": "✓ Poprawny",
|
|
1631
|
+
"moduleEditor.status.issues": "problemów",
|
|
1632
|
+
"moduleEditor.searchModules": "Szukaj modułów…",
|
|
1633
|
+
"moduleEditor.loading": "Ładowanie…",
|
|
1634
|
+
"moduleEditor.noModules": "Brak modułów. Otwórz najpierw źródło.",
|
|
1635
|
+
"moduleEditor.title": "Edytor modułów",
|
|
1636
|
+
"moduleEditor.refresh": "Odśwież",
|
|
1637
|
+
"moduleEditor.validate": "Waliduj",
|
|
1638
|
+
"moduleEditor.saving": "Zapisywanie…",
|
|
1639
|
+
"moduleEditor.save": "Zapisz",
|
|
1640
|
+
"moduleEditor.output": "Wyjście",
|
|
1641
|
+
"moduleEditor.placeholder": "Wybierz moduł z listy po lewej, aby rozpocząć edycję.",
|
|
1642
|
+
"moduleEditor.delete": "Usuń",
|
|
1643
|
+
"moduleEditor.views.select": "Wybierz widok",
|
|
1644
|
+
"moduleEditor.views.placeholder": "— wybierz widok —",
|
|
1645
|
+
"moduleEditor.views.new": "Nowy widok",
|
|
1646
|
+
"moduleEditor.views.empty": "Nie wybrano widoku. Utwórz nowy, a następnie użyj „Nowy z encji” w edytorze.",
|
|
1647
|
+
"moduleEditor.workflows.select": "Wybierz proces",
|
|
1648
|
+
"moduleEditor.workflows.placeholder": "— wybierz proces —",
|
|
1649
|
+
"moduleEditor.workflows.new": "Nowy proces",
|
|
1650
|
+
"moduleEditor.workflows.empty": "Nie wybrano procesu. Utwórz nowy, aby zaprojektować stany i przejścia.",
|
|
1651
|
+
"moduleEditor.data.select": "Wybierz źródło danych",
|
|
1652
|
+
"moduleEditor.data.placeholder": "— wybierz źródło danych —",
|
|
1653
|
+
"moduleEditor.data.new": "Nowe źródło danych",
|
|
1654
|
+
"moduleEditor.data.empty": "Nie wybrano źródła danych. Utwórz nowe, aby zbudować zapytanie ze schematu modułu.",
|
|
1655
|
+
"tutorial.moduleEditor.intro.title": "Edytor modułów",
|
|
1656
|
+
"tutorial.moduleEditor.intro.content": "Projektuj cały moduł od początku do końca — manifest, encje, tłumaczenia, widoki, procesy, źródła danych i uprawnienia — a następnie waliduj i zapisz.",
|
|
1657
|
+
"tutorial.moduleEditor.tabs.title": "Części modułu",
|
|
1658
|
+
"tutorial.moduleEditor.tabs.content": "Każda zakładka edytuje jedną część modułu: sekcje manifestu, encje, i18n, widoki, procesy, źródła danych, uprawnienia i więcej.",
|
|
1659
|
+
"tutorial.moduleEditor.output.title": "Wyjście",
|
|
1660
|
+
"tutorial.moduleEditor.output.content": "Wyniki walidacji oraz aktywność wczytywania/zapisu są tu rejestrowane.",
|
|
1661
|
+
"tutorial.schemaForm.viewToggle.title": "Formularz ⇄ JSON",
|
|
1662
|
+
"tutorial.schemaForm.viewToggle.content": "Przełączaj między formularzem wizualnym a surową wartością JSON — wygodne dla zaawansowanych i do kopiowania.",
|
|
1663
|
+
"tutorial.schemaForm.validation.title": "Walidacja na żywo",
|
|
1664
|
+
"tutorial.schemaForm.validation.content": "Wartości są walidowane względem schematu na bieżąco; ewentualne problemy są wypisane pod formularzem.",
|
|
1665
|
+
"schemaForm.tab.form": "Formularz",
|
|
1666
|
+
"schemaForm.tab.json": "JSON",
|
|
1667
|
+
"schemaForm.tab.json.help": "Edytuj surową wartość JSON bezpośrednio",
|
|
1668
|
+
"schemaForm.invalidJson": "Nieprawidłowy JSON",
|
|
1091
1669
|
"tutorial.schemaForm.intro.content": "Ten formularz jest generowany ze schematu. Pola wymagane i błędy walidacji są oznaczane; użyj przełącznika JSON do edycji surowej.",
|
|
1092
1670
|
"tutorial.entityEditor.intro.title": "Edytor encji",
|
|
1093
1671
|
"tutorial.entityEditor.intro.content": "Dodawaj encje po lewej, a po prawej edytuj metadane encji i jej pola (typ, klucze, ograniczenia).",
|
|
1672
|
+
"entityEditor.col.name": "Nazwa",
|
|
1673
|
+
"entityEditor.col.displayName": "Nazwa wyświetlana",
|
|
1674
|
+
"entityEditor.col.table": "Tabela",
|
|
1675
|
+
"entityEditor.col.fields": "Pola",
|
|
1676
|
+
"entityEditor.col.fields.help": "Liczba pól zdefiniowanych w tej encji",
|
|
1677
|
+
"entityEditor.col.flags": "Flagi",
|
|
1678
|
+
"entityEditor.flag.audited": "Audytowane — śledzi, kto i kiedy zmienił każdy rekord",
|
|
1679
|
+
"entityEditor.flag.audited.abbr": "Audyt",
|
|
1680
|
+
"entityEditor.flag.softDelete": "Miękkie usuwanie — rekordy są oznaczane jako usunięte, nigdy fizycznie kasowane",
|
|
1681
|
+
"entityEditor.flag.softDelete.abbr": "Miękkie",
|
|
1682
|
+
"entityEditor.search": "Szukaj encji…",
|
|
1683
|
+
"entityEditor.empty": "Brak encji. Utwórz pierwszą, aby zacząć.",
|
|
1684
|
+
"entityEditor.new": "Nowa encja",
|
|
1685
|
+
"entityEditor.back": "Encje",
|
|
1686
|
+
"entityEditor.backHint": "Powrót do listy encji",
|
|
1687
|
+
"entityEditor.delete": "Usuń",
|
|
1688
|
+
"entityEditor.deleteHint": "Usuń tę encję",
|
|
1689
|
+
"entityEditor.untitled": "Encja bez nazwy",
|
|
1690
|
+
"entityEditor.tab.general": "Ogólne",
|
|
1691
|
+
"entityEditor.tab.fields": "Pola",
|
|
1692
|
+
"entityEditor.tab.validation": "Walidacja",
|
|
1693
|
+
"entityEditor.tab.er": "Diagram ER",
|
|
1694
|
+
"entityEditor.field.name": "Nazwa",
|
|
1695
|
+
"entityEditor.field.type": "Typ",
|
|
1696
|
+
"entityEditor.field.flags": "Ograniczenia",
|
|
1697
|
+
"entityEditor.field.flags.help": "Ograniczenia pola: klucz / wymagane / unikalne / indeksowane",
|
|
1698
|
+
"entityEditor.flag.pk": "Klucz główny",
|
|
1699
|
+
"entityEditor.flag.fk": "Klucz obcy",
|
|
1700
|
+
"entityEditor.flag.required": "Wymagane (NOT NULL)",
|
|
1701
|
+
"entityEditor.flag.unique": "Unikalne",
|
|
1702
|
+
"entityEditor.flag.indexed": "Indeksowane",
|
|
1703
|
+
"entityEditor.field.back": "Pola",
|
|
1704
|
+
"entityEditor.field.backHint": "Powrót do listy pól",
|
|
1705
|
+
"entityEditor.field.untitled": "Nowe pole",
|
|
1706
|
+
"entityEditor.field.done": "Gotowe",
|
|
1707
|
+
"entityEditor.field.add": "Dodaj pole",
|
|
1708
|
+
"entityEditor.field.search": "Szukaj pól…",
|
|
1709
|
+
"entityEditor.field.empty": "Brak pól. Dodaj pierwsze, aby zdefiniować tę encję.",
|
|
1094
1710
|
"tutorial.i18nEditor.intro.title": "Tłumaczenia",
|
|
1095
1711
|
"tutorial.i18nEditor.intro.content": "Edytuj tłumaczenia w siatce klucze × locale. Dodawaj klucze i języki; bursztynowe komórki oznaczają braki.",
|
|
1096
1712
|
"tutorial.formBuilder.intro.title": "Kreator formularzy",
|
|
@@ -2569,6 +3185,314 @@ const x = [
|
|
|
2569
3185
|
"tutorial.manifestEditor.intro.title": "Manifest-Editor",
|
|
2570
3186
|
"tutorial.manifestEditor.intro.content": "Bearbeiten Sie das Manifest in schemagesteuerten Abschnitten. Schalten Sie pro Abschnitt zwischen Formular ⇄ JSON um; die Validierung erscheint in der Statusleiste.",
|
|
2571
3187
|
"tutorial.schemaForm.intro.title": "Schema-Formular",
|
|
3188
|
+
"workflowDesigner.name": "Name",
|
|
3189
|
+
"workflowDesigner.type": "Typ",
|
|
3190
|
+
"workflowDesigner.select": "— Auswählen —",
|
|
3191
|
+
"workflowDesigner.simulate": "Simulieren",
|
|
3192
|
+
"workflowDesigner.stop": "Stopp",
|
|
3193
|
+
"workflowDesigner.test": "Test",
|
|
3194
|
+
"workflowDesigner.publish": "Veröffentlichen",
|
|
3195
|
+
"workflowDesigner.export": "Export",
|
|
3196
|
+
"workflowDesigner.import": "Import",
|
|
3197
|
+
"workflowDesigner.zoomIn": "Vergrößern",
|
|
3198
|
+
"workflowDesigner.zoomOut": "Verkleinern",
|
|
3199
|
+
"workflowDesigner.resetView": "Ansicht zurücksetzen",
|
|
3200
|
+
"workflowDesigner.simulateFlow": "Ablauf simulieren",
|
|
3201
|
+
"workflowDesigner.testProcess": "Prozess testen",
|
|
3202
|
+
"workflowDesigner.publishProcess": "Prozess veröffentlichen",
|
|
3203
|
+
"workflowDesigner.exportBpmn": "BPMN-XML exportieren",
|
|
3204
|
+
"workflowDesigner.importBpmn": "BPMN-XML importieren",
|
|
3205
|
+
"workflowDesigner.toolbar": "Workflow-Symbolleiste",
|
|
3206
|
+
"workflowDesigner.bpmnToolbar": "BPMN-Designer-Symbolleiste",
|
|
3207
|
+
"workflowDesigner.palette": "BPMN-Elementpalette",
|
|
3208
|
+
"workflowDesigner.canvas": "Workflow-Arbeitsfläche",
|
|
3209
|
+
"workflowDesigner.bpmnCanvas": "BPMN-Arbeitsfläche",
|
|
3210
|
+
"workflowDesigner.minimap": "Minikarte",
|
|
3211
|
+
"workflowDesigner.expand": "Erweitern",
|
|
3212
|
+
"workflowDesigner.collapse": "Reduzieren",
|
|
3213
|
+
"workflowDesigner.connect": "Verbinden",
|
|
3214
|
+
"workflowDesigner.startConnect": "Verbindung starten",
|
|
3215
|
+
"workflowDesigner.delete": "Löschen",
|
|
3216
|
+
"workflowDesigner.deleteElement": "Element löschen",
|
|
3217
|
+
"workflowDesigner.next": "Weiter",
|
|
3218
|
+
"workflowDesigner.connectHint": "Klicken Sie auf ein Zielelement, um zu verbinden, oder auf eine leere Fläche, um abzubrechen",
|
|
3219
|
+
"workflowDesigner.properties": "Eigenschaften",
|
|
3220
|
+
"workflowDesigner.propertiesOf": "Eigenschaften: {name}",
|
|
3221
|
+
"workflowDesigner.assignee": "Zugewiesen an",
|
|
3222
|
+
"workflowDesigner.dueDate": "Fälligkeitsdatum",
|
|
3223
|
+
"workflowDesigner.dueDatePlaceholder": "P3D (3 Tage)",
|
|
3224
|
+
"workflowDesigner.priority": "Priorität",
|
|
3225
|
+
"workflowDesigner.documentation": "Dokumentation",
|
|
3226
|
+
"workflowDesigner.timer": "Timer (ISO 8601)",
|
|
3227
|
+
"workflowDesigner.timerPlaceholder": "PT1H (1 Stunde) oder R3/PT1H (3 Wiederholungen)",
|
|
3228
|
+
"workflowDesigner.defaultFlow": "Standardablauf",
|
|
3229
|
+
"workflowDesigner.flowOf": "Ablauf: {name}",
|
|
3230
|
+
"workflowDesigner.condition": "Bedingung",
|
|
3231
|
+
"workflowDesigner.deleteFlow": "Ablauf löschen",
|
|
3232
|
+
"workflowDesigner.variables": "Prozessvariablen",
|
|
3233
|
+
"workflowDesigner.addVariable": "Variable hinzufügen",
|
|
3234
|
+
"workflowDesigner.simActiveElement": "Simulation aktiv — aktuelles Element:",
|
|
3235
|
+
"workflowDesigner.simActiveState": "Simulation aktiv — aktueller Zustand:",
|
|
3236
|
+
"workflowDesigner.endSimulation": "Simulation beenden",
|
|
3237
|
+
"workflowDesigner.addState": "Zustand",
|
|
3238
|
+
"workflowDesigner.addApproval": "Genehmigung",
|
|
3239
|
+
"workflowDesigner.newState": "Neuer Zustand",
|
|
3240
|
+
"workflowDesigner.stateLabel": "Zustand: {name}",
|
|
3241
|
+
"workflowDesigner.stateName": "Zustandsname",
|
|
3242
|
+
"workflowDesigner.deleteState": "Zustand {name} löschen",
|
|
3243
|
+
"workflowDesigner.stateProps": "Zustandseigenschaften",
|
|
3244
|
+
"workflowDesigner.stateType": "Zustandstyp",
|
|
3245
|
+
"workflowDesigner.val.noInitial": "Kein Anfangszustand",
|
|
3246
|
+
"workflowDesigner.val.multiInitial": "Mehr als ein Anfangszustand",
|
|
3247
|
+
"workflowDesigner.val.noFinal": "Kein Endzustand",
|
|
3248
|
+
"workflowDesigner.val.deadEnd": 'Zustand "{name}" hat keine ausgehenden Übergänge (Sackgasse)',
|
|
3249
|
+
"workflowDesigner.val.orphan": 'Zustand "{name}" ist nicht erreichbar (verwaist)',
|
|
3250
|
+
"workflowDesigner.val.bpmnNoStart": "Der Prozess muss mindestens ein Startereignis haben",
|
|
3251
|
+
"workflowDesigner.val.bpmnNoEnd": "Der Prozess muss mindestens ein Endereignis haben",
|
|
3252
|
+
"workflowDesigner.val.startNoOut": 'Startereignis "{name}" hat keinen ausgehenden Ablauf',
|
|
3253
|
+
"workflowDesigner.val.endNoIn": 'Endereignis "{name}" hat keinen eingehenden Ablauf',
|
|
3254
|
+
"workflowDesigner.val.unreachable": 'Element "{name}" ist nicht erreichbar',
|
|
3255
|
+
"workflowDesigner.val.elemNoOut": 'Element "{name}" hat keinen ausgehenden Ablauf',
|
|
3256
|
+
"workflowDesigner.val.xorNoConditions": 'Exklusives Gateway "{name}" sollte Bedingungen an seinen Abläufen haben',
|
|
3257
|
+
"tutorial.workflowDesigner.toolbar.title": "Symbolleiste",
|
|
3258
|
+
"tutorial.workflowDesigner.toolbar.content": "Fügen Sie Zustände und Genehmigungen hinzu, führen Sie eine Simulation aus und testen oder veröffentlichen Sie dann den Workflow.",
|
|
3259
|
+
"tutorial.workflowDesigner.canvas.title": "Arbeitsfläche",
|
|
3260
|
+
"tutorial.workflowDesigner.canvas.content": "Ziehen Sie, um Zustände anzuordnen, klicken Sie auf einen, um ihn zu bearbeiten, und verbinden Sie sie zu Übergängen.",
|
|
3261
|
+
"tutorial.workflowDesigner.minimap.title": "Minikarte",
|
|
3262
|
+
"tutorial.workflowDesigner.minimap.content": "Eine Vogelperspektive des gesamten Ablaufs für die schnelle Navigation.",
|
|
3263
|
+
"entityEditor.col.name": "Name",
|
|
3264
|
+
"entityEditor.col.displayName": "Anzeigename",
|
|
3265
|
+
"entityEditor.col.table": "Tabelle",
|
|
3266
|
+
"entityEditor.col.fields": "Felder",
|
|
3267
|
+
"entityEditor.col.fields.help": "Anzahl der für diese Entität definierten Felder",
|
|
3268
|
+
"entityEditor.col.flags": "Flags",
|
|
3269
|
+
"entityEditor.flag.audited": "Auditiert — verfolgt, wer jeden Datensatz wann geändert hat",
|
|
3270
|
+
"entityEditor.flag.audited.abbr": "Audit",
|
|
3271
|
+
"entityEditor.flag.softDelete": "Soft-Delete — Zeilen werden als gelöscht markiert, aber nie physisch entfernt",
|
|
3272
|
+
"entityEditor.flag.softDelete.abbr": "Soft-Del",
|
|
3273
|
+
"entityEditor.search": "Entitäten suchen…",
|
|
3274
|
+
"entityEditor.empty": "Noch keine Entitäten. Erstellen Sie eine, um zu beginnen.",
|
|
3275
|
+
"entityEditor.new": "Neue Entität",
|
|
3276
|
+
"entityEditor.back": "Entitäten",
|
|
3277
|
+
"entityEditor.backHint": "Zurück zur Entitätsliste",
|
|
3278
|
+
"entityEditor.delete": "Löschen",
|
|
3279
|
+
"entityEditor.deleteHint": "Diese Entität löschen",
|
|
3280
|
+
"entityEditor.untitled": "Unbenannte Entität",
|
|
3281
|
+
"entityEditor.tab.general": "Allgemein",
|
|
3282
|
+
"entityEditor.tab.fields": "Felder",
|
|
3283
|
+
"entityEditor.tab.validation": "Validierung",
|
|
3284
|
+
"entityEditor.tab.er": "ER-Diagramm",
|
|
3285
|
+
"entityEditor.field.name": "Name",
|
|
3286
|
+
"entityEditor.field.type": "Typ",
|
|
3287
|
+
"entityEditor.field.flags": "Einschränkungen",
|
|
3288
|
+
"entityEditor.field.flags.help": "Schlüssel-/Pflicht-/Eindeutigkeits-/Index-Einschränkungen für dieses Feld",
|
|
3289
|
+
"entityEditor.flag.pk": "Primärschlüssel",
|
|
3290
|
+
"entityEditor.flag.fk": "Fremdschlüssel",
|
|
3291
|
+
"entityEditor.flag.required": "Erforderlich (NOT NULL)",
|
|
3292
|
+
"entityEditor.flag.unique": "Eindeutig",
|
|
3293
|
+
"entityEditor.flag.indexed": "Indiziert",
|
|
3294
|
+
"entityEditor.field.back": "Felder",
|
|
3295
|
+
"entityEditor.field.backHint": "Zurück zur Feldliste",
|
|
3296
|
+
"entityEditor.field.untitled": "Neues Feld",
|
|
3297
|
+
"entityEditor.field.done": "Fertig",
|
|
3298
|
+
"entityEditor.field.add": "Feld hinzufügen",
|
|
3299
|
+
"entityEditor.field.search": "Felder suchen…",
|
|
3300
|
+
"entityEditor.field.empty": "Noch keine Felder. Fügen Sie eines hinzu, um diese Entität zu definieren.",
|
|
3301
|
+
"tutorial.themeBuilder.presets.title": "Presets",
|
|
3302
|
+
"tutorial.themeBuilder.presets.content": "Beginnen Sie mit einem integrierten Preset und passen Sie es dann an — der schnellste Weg zu einer stimmigen Palette.",
|
|
3303
|
+
"tutorial.themeBuilder.sections.title": "Token-Abschnitte",
|
|
3304
|
+
"tutorial.themeBuilder.sections.content": "Bearbeiten Sie Tokens nach Abschnitt: Farben, Hintergründe, Text, Rahmen, Abstände und Typografie.",
|
|
3305
|
+
"tutorial.themeBuilder.preview.title": "Live-Vorschau",
|
|
3306
|
+
"tutorial.themeBuilder.preview.content": "Jede Änderung wird sofort an Beispielkomponenten angezeigt, sodass Sie das Theme beim Erstellen beurteilen können.",
|
|
3307
|
+
"tutorial.themeBuilder.export.title": "Benennen, anwenden & exportieren",
|
|
3308
|
+
"tutorial.themeBuilder.export.content": "Benennen Sie Ihr Theme, wenden Sie es auf die Seite an oder exportieren Sie es als JSON / CSS-Variablen zur Wiederverwendung.",
|
|
3309
|
+
"dataSourceBuilder.namePlaceholder": "Name der Datenquelle…",
|
|
3310
|
+
"dataSourceBuilder.nameAria": "Name der Datenquelle",
|
|
3311
|
+
"tutorial.dataSourceBuilder.name.title": "Name & Schlüssel",
|
|
3312
|
+
"tutorial.dataSourceBuilder.name.content": "Geben Sie der Datenquelle einen lesbaren Namen; ihr stabiler Schlüssel (von Ansichten genutzt) wird automatisch erzeugt und daneben angezeigt.",
|
|
3313
|
+
"lifecycleHooks.enabled": "Aktiviert",
|
|
3314
|
+
"lifecycleHooks.handler": "Handler",
|
|
3315
|
+
"lifecycleHooks.selectHandler": "— Handler wählen —",
|
|
3316
|
+
"lifecycleHooks.handlerPlaceholder": "Handler (z. B. scripts/on-create.js)",
|
|
3317
|
+
"lifecycleHooks.conditionPlaceholder": "Bedingung (optional)",
|
|
3318
|
+
"lifecycleHooks.condition": "Bedingung",
|
|
3319
|
+
"lifecycleHooks.moveUp": "Nach oben",
|
|
3320
|
+
"lifecycleHooks.moveDown": "Nach unten",
|
|
3321
|
+
"lifecycleHooks.removeBinding": "Bindung entfernen",
|
|
3322
|
+
"lifecycleHooks.addHandler": "Handler hinzufügen",
|
|
3323
|
+
"tutorial.lifecycleHooks.bindings.title": "Trigger & Bindungen",
|
|
3324
|
+
"tutorial.lifecycleHooks.bindings.content": "Jeder Trigger listet seine gebundenen Handler. Fügen Sie einen Handler hinzu, schalten Sie das Aktiviert-Flag um, ändern Sie die Reihenfolge und legen Sie optional eine Bedingung fest, die die Ausführung steuert.",
|
|
3325
|
+
"revisionHistory.revisions": "Versionen",
|
|
3326
|
+
"revisionHistory.compare": "Vergleichen",
|
|
3327
|
+
"revisionHistory.restore": "Wiederherstellen",
|
|
3328
|
+
"revisionHistory.diffEmpty": "Wählen Sie eine Version und eine weitere zum Vergleich.",
|
|
3329
|
+
"tutorial.revisionHistory.list.title": "Versionen",
|
|
3330
|
+
"tutorial.revisionHistory.list.content": "Wählen Sie eine Version und klicken Sie bei einer anderen auf „Vergleichen“, um sie gegenüberzustellen. „Wiederherstellen“ setzt auf diese Version zurück.",
|
|
3331
|
+
"tutorial.revisionHistory.diff.title": "Unterschiede",
|
|
3332
|
+
"tutorial.revisionHistory.diff.content": "Prüfen Sie die Unterschiede der beiden ausgewählten Versionen nebeneinander.",
|
|
3333
|
+
"accessManager.roles": "Rollen",
|
|
3334
|
+
"accessManager.newRole": "Neue Rolle…",
|
|
3335
|
+
"accessManager.newRoleAria": "Name der neuen Rolle",
|
|
3336
|
+
"accessManager.add": "Hinzufügen",
|
|
3337
|
+
"accessManager.removeRole": "Rolle entfernen",
|
|
3338
|
+
"accessManager.resources": "Ressourcen",
|
|
3339
|
+
"accessManager.applyDescendants": "Auf alle Nachfahren anwenden",
|
|
3340
|
+
"accessManager.empty": "Wählen Sie eine Ressource, um ihren Zugriff zu bearbeiten.",
|
|
3341
|
+
"accessManager.collapse": "Einklappen",
|
|
3342
|
+
"accessManager.expand": "Ausklappen",
|
|
3343
|
+
"tutorial.accessManager.tree.title": "Rollen & Ressourcen",
|
|
3344
|
+
"tutorial.accessManager.tree.content": "Fügen Sie Rollen hinzu oder entfernen Sie sie, und wählen Sie dann eine Ressource aus dem Baum (Module → Ansichten / Entitäten / Aktionen), um ihren Zugriff zu bearbeiten.",
|
|
3345
|
+
"tutorial.accessManager.matrix.title": "Berechtigungsmatrix",
|
|
3346
|
+
"tutorial.accessManager.matrix.content": "Gewähren Sie jeder Rolle ihre Aktionen für die ausgewählte Ressource. Nutzen Sie die Sammelaktionen oder „Auf alle Nachfahren anwenden“, um Berechtigungen im Baum nach unten zu kaskadieren.",
|
|
3347
|
+
"viewEditor.name": "Ansichtsname",
|
|
3348
|
+
"viewEditor.kindAria": "Ansichtstyp",
|
|
3349
|
+
"viewEditor.kind.form": "Formular",
|
|
3350
|
+
"viewEditor.kind.detail": "Detail",
|
|
3351
|
+
"viewEditor.kind.grid": "Raster",
|
|
3352
|
+
"viewEditor.kind.dashboard": "Dashboard",
|
|
3353
|
+
"viewEditor.kind.content": "Inhalt",
|
|
3354
|
+
"viewEditor.kind.report": "Bericht",
|
|
3355
|
+
"viewEditor.kind.print": "Druck",
|
|
3356
|
+
"viewEditor.kind.mix": "Mix",
|
|
3357
|
+
"viewEditor.fromEntity": "Neu aus Entität…",
|
|
3358
|
+
"viewEditor.fromEntityAria": "Neue Ansicht aus Entität",
|
|
3359
|
+
"viewEditor.export": "Export…",
|
|
3360
|
+
"viewEditor.exportAria": "Ansicht exportieren",
|
|
3361
|
+
"viewEditor.mode.design": "Design",
|
|
3362
|
+
"viewEditor.mode.preview": "Vorschau",
|
|
3363
|
+
"viewEditor.mode.source": "Quelle",
|
|
3364
|
+
"viewEditor.valid": "✓ Gültig",
|
|
3365
|
+
"viewEditor.save": "Speichern",
|
|
3366
|
+
"viewEditor.add": "Hinzufügen",
|
|
3367
|
+
"viewEditor.cat.Inputs": "Eingaben",
|
|
3368
|
+
"viewEditor.cat.Data": "Daten",
|
|
3369
|
+
"viewEditor.cat.BI": "BI",
|
|
3370
|
+
"viewEditor.cat.Actions": "Aktionen",
|
|
3371
|
+
"viewEditor.cat.Display": "Anzeige",
|
|
3372
|
+
"viewEditor.pal.textInput": "Text",
|
|
3373
|
+
"viewEditor.pal.textArea": "Textbereich",
|
|
3374
|
+
"viewEditor.pal.numberInput": "Zahl",
|
|
3375
|
+
"viewEditor.pal.select": "Auswahl",
|
|
3376
|
+
"viewEditor.pal.checkbox": "Kontrollkästchen",
|
|
3377
|
+
"viewEditor.pal.datePicker": "Datum",
|
|
3378
|
+
"viewEditor.pal.dataGrid": "Datenraster",
|
|
3379
|
+
"viewEditor.pal.chart": "Diagramm",
|
|
3380
|
+
"viewEditor.pal.kpi": "KPI",
|
|
3381
|
+
"viewEditor.pal.button": "Schaltfläche",
|
|
3382
|
+
"viewEditor.pal.text": "Text",
|
|
3383
|
+
"viewEditor.pal.heading": "Überschrift",
|
|
3384
|
+
"viewEditor.pal.badge": "Abzeichen",
|
|
3385
|
+
"viewEditor.pal.card": "Karte",
|
|
3386
|
+
"viewEditor.addRow": "Zeile hinzufügen",
|
|
3387
|
+
"viewEditor.canvasEmpty": "Fügen Sie eine Zeile hinzu und ziehen Sie Steuerelemente aus der Palette — oder starten Sie mit „Neu aus Entität“.",
|
|
3388
|
+
"viewEditor.removeCell": "Zelle entfernen",
|
|
3389
|
+
"viewEditor.emptyRow": "leere Zeile",
|
|
3390
|
+
"viewEditor.control": "Steuerelement",
|
|
3391
|
+
"viewEditor.cp.label": "Beschriftung",
|
|
3392
|
+
"viewEditor.cp.colSpan": "Spaltenbreite",
|
|
3393
|
+
"viewEditor.cp.binding": "Bindung",
|
|
3394
|
+
"viewEditor.cp.dataSource": "Datenquelle",
|
|
3395
|
+
"viewEditor.cp.none": "— keine —",
|
|
3396
|
+
"viewEditor.cp.field": "Feld",
|
|
3397
|
+
"viewEditor.cp.fieldPath": "Feldpfad",
|
|
3398
|
+
"viewEditor.cp.twoWay": "Bidirektional",
|
|
3399
|
+
"viewEditor.cp.permissions": "Berechtigungen",
|
|
3400
|
+
"viewEditor.cp.role": "Rolle",
|
|
3401
|
+
"viewEditor.cp.addPermission": "Berechtigung",
|
|
3402
|
+
"viewEditor.cp.events": "Ereignisse",
|
|
3403
|
+
"viewEditor.cp.eventPlaceholder": "Ereignis (onClick / onValueChange…)",
|
|
3404
|
+
"viewEditor.cp.removeEvent": "Ereignis entfernen",
|
|
3405
|
+
"viewEditor.cp.addEvent": "Ereignis",
|
|
3406
|
+
"viewEditor.remove": "Entfernen",
|
|
3407
|
+
"viewEditor.ds.title": "Datenquellen",
|
|
3408
|
+
"viewEditor.ds.hint": "Wählen Sie ein Steuerelement, um Props, Bindung & Ereignisse zu bearbeiten.",
|
|
3409
|
+
"viewEditor.ds.key": "Schlüssel",
|
|
3410
|
+
"viewEditor.ds.endpoint": "Endpunkt",
|
|
3411
|
+
"viewEditor.ds.autoLoad": "Auto-Laden",
|
|
3412
|
+
"viewEditor.ds.add": "Datenquelle",
|
|
3413
|
+
"tutorial.viewEditor.palette.title": "Palette",
|
|
3414
|
+
"tutorial.viewEditor.palette.content": "Fügen Sie Steuerelemente aus der Palette in das Raster ein — Eingaben, Datenraster, Diagramme, KPIs, Schaltflächen und Anzeigeblöcke.",
|
|
3415
|
+
"tutorial.viewEditor.canvas.title": "Arbeitsfläche",
|
|
3416
|
+
"tutorial.viewEditor.canvas.content": "Ordnen Sie Zellen in Zeilen an und legen Sie die Spaltenbreite jeder Zelle fest. Klicken Sie auf eine Zelle, um sie zu konfigurieren.",
|
|
3417
|
+
"tutorial.viewEditor.props.title": "Eigenschaften",
|
|
3418
|
+
"tutorial.viewEditor.props.content": "Konfigurieren Sie das ausgewählte Steuerelement: Props, Datenbindung, Rollenberechtigungen und Ereignisaktionen. Wenn nichts ausgewählt ist, verwalten Sie die Datenquellen der Ansicht.",
|
|
3419
|
+
"tutorial.viewEditor.modes.title": "Design / Vorschau / Quelle",
|
|
3420
|
+
"tutorial.viewEditor.modes.content": "Wechseln Sie zwischen dem visuellen Designer, einer Live-Vorschau und dem rohen NiceViewDefinition-JSON. Speichern Sie, wenn die Ansicht gültig ist.",
|
|
3421
|
+
"manifestEditor.tab.scripts": "Skripte",
|
|
3422
|
+
"manifestEditor.tab.lifecycle": "Lebenszyklus",
|
|
3423
|
+
"manifestEditor.tab.history": "Verlauf",
|
|
3424
|
+
"manifestEditor.status.valid": "✓ Gültig",
|
|
3425
|
+
"manifestEditor.status.issues": "Probleme",
|
|
3426
|
+
"manifestEditor.sections": "Abschnitte",
|
|
3427
|
+
"manifestEditor.output": "Ausgabe",
|
|
3428
|
+
"tutorial.manifestEditor.sections.title": "Abschnitte",
|
|
3429
|
+
"tutorial.manifestEditor.sections.content": "Das Manifest ist in schemabasierte Abschnitte unterteilt — wechseln Sie über die Tabs oben.",
|
|
3430
|
+
"tutorial.manifestEditor.json.title": "Formular ⇄ JSON",
|
|
3431
|
+
"tutorial.manifestEditor.json.content": "Jeder Abschnitt kann als visuelles Formular oder als rohes JSON bearbeitet werden — nutzen Sie den Umschalter im Abschnitt.",
|
|
3432
|
+
"i18nEditor.keyHead": "Schlüssel",
|
|
3433
|
+
"i18nEditor.removeLocale": "Sprache entfernen",
|
|
3434
|
+
"i18nEditor.keyAria": "Übersetzungsschlüssel",
|
|
3435
|
+
"i18nEditor.removeKey": "Schlüssel entfernen",
|
|
3436
|
+
"i18nEditor.empty": "Noch keine Übersetzungsschlüssel.",
|
|
3437
|
+
"i18nEditor.newKeyPlaceholder": "neuer.schlüssel",
|
|
3438
|
+
"i18nEditor.newKeyAria": "Neuer Schlüssel",
|
|
3439
|
+
"i18nEditor.addKey": "Schlüssel",
|
|
3440
|
+
"i18nEditor.newLocalePlaceholder": "Sprache (z. B. de)",
|
|
3441
|
+
"i18nEditor.newLocaleAria": "Neue Sprache",
|
|
3442
|
+
"i18nEditor.addLocale": "Sprache",
|
|
3443
|
+
"tutorial.i18nEditor.grid.title": "Schlüssel × Sprachen",
|
|
3444
|
+
"tutorial.i18nEditor.grid.content": "Jede Zeile ist ein Übersetzungsschlüssel und jede Spalte eine Sprache. Bearbeiten Sie eine Zelle, um eine Übersetzung festzulegen; bernsteinfarbene Zellen fehlen noch.",
|
|
3445
|
+
"tutorial.i18nEditor.add.title": "Schlüssel & Sprachen hinzufügen",
|
|
3446
|
+
"tutorial.i18nEditor.add.content": "Fügen Sie hier einen neuen Übersetzungsschlüssel oder eine neue Sprachspalte hinzu; neue Zellen sind leer und werden als fehlend markiert.",
|
|
3447
|
+
"moduleEditor.tab.entities": "Entitäten",
|
|
3448
|
+
"moduleEditor.tab.i18n": "i18n",
|
|
3449
|
+
"moduleEditor.tab.views": "Ansichten",
|
|
3450
|
+
"moduleEditor.tab.workflows": "Workflows",
|
|
3451
|
+
"moduleEditor.tab.data": "Daten",
|
|
3452
|
+
"moduleEditor.tab.permissions": "Berechtigungen",
|
|
3453
|
+
"moduleEditor.tab.scripts": "Skripte",
|
|
3454
|
+
"moduleEditor.tab.lifecycle": "Lebenszyklus",
|
|
3455
|
+
"moduleEditor.tab.history": "Verlauf",
|
|
3456
|
+
"moduleEditor.tab.source": "Quelle",
|
|
3457
|
+
"moduleEditor.status.valid": "✓ Gültig",
|
|
3458
|
+
"moduleEditor.status.issues": "Probleme",
|
|
3459
|
+
"moduleEditor.searchModules": "Module suchen…",
|
|
3460
|
+
"moduleEditor.loading": "Wird geladen…",
|
|
3461
|
+
"moduleEditor.noModules": "Keine Module. Öffnen Sie zuerst eine Quelle.",
|
|
3462
|
+
"moduleEditor.title": "Modul-Editor",
|
|
3463
|
+
"moduleEditor.refresh": "Aktualisieren",
|
|
3464
|
+
"moduleEditor.validate": "Validieren",
|
|
3465
|
+
"moduleEditor.saving": "Wird gespeichert…",
|
|
3466
|
+
"moduleEditor.save": "Speichern",
|
|
3467
|
+
"moduleEditor.output": "Ausgabe",
|
|
3468
|
+
"moduleEditor.placeholder": "Wählen Sie links ein Modul, um mit der Bearbeitung zu beginnen.",
|
|
3469
|
+
"moduleEditor.delete": "Löschen",
|
|
3470
|
+
"moduleEditor.views.select": "Ansicht wählen",
|
|
3471
|
+
"moduleEditor.views.placeholder": "— Ansicht wählen —",
|
|
3472
|
+
"moduleEditor.views.new": "Neue Ansicht",
|
|
3473
|
+
"moduleEditor.views.empty": "Keine Ansicht ausgewählt. Erstellen Sie eine und nutzen Sie „Neu aus Entität“ im Editor.",
|
|
3474
|
+
"moduleEditor.workflows.select": "Workflow wählen",
|
|
3475
|
+
"moduleEditor.workflows.placeholder": "— Workflow wählen —",
|
|
3476
|
+
"moduleEditor.workflows.new": "Neuer Workflow",
|
|
3477
|
+
"moduleEditor.workflows.empty": "Kein Workflow ausgewählt. Erstellen Sie einen, um Zustände und Übergänge zu entwerfen.",
|
|
3478
|
+
"moduleEditor.data.select": "Datenquelle wählen",
|
|
3479
|
+
"moduleEditor.data.placeholder": "— Datenquelle wählen —",
|
|
3480
|
+
"moduleEditor.data.new": "Neue Datenquelle",
|
|
3481
|
+
"moduleEditor.data.empty": "Keine Datenquelle ausgewählt. Erstellen Sie eine, um eine Abfrage aus dem Modulschema zu erstellen.",
|
|
3482
|
+
"tutorial.moduleEditor.intro.title": "Modul-Editor",
|
|
3483
|
+
"tutorial.moduleEditor.intro.content": "Entwerfen Sie ein ganzes Modul von Anfang bis Ende — Manifest, Entitäten, Übersetzungen, Ansichten, Workflows, Datenquellen und Berechtigungen — und validieren und speichern Sie dann.",
|
|
3484
|
+
"tutorial.moduleEditor.tabs.title": "Modulteile",
|
|
3485
|
+
"tutorial.moduleEditor.tabs.content": "Jeder Tab bearbeitet einen Teil des Moduls: Manifest-Abschnitte, Entitäten, i18n, Ansichten, Workflows, Datenquellen, Berechtigungen und mehr.",
|
|
3486
|
+
"tutorial.moduleEditor.output.title": "Ausgabe",
|
|
3487
|
+
"tutorial.moduleEditor.output.content": "Validierungsergebnisse sowie Lade-/Speichervorgänge werden hier protokolliert.",
|
|
3488
|
+
"tutorial.schemaForm.viewToggle.title": "Formular ⇄ JSON",
|
|
3489
|
+
"tutorial.schemaForm.viewToggle.content": "Wechseln Sie zwischen dem visuellen Formular und dem rohen JSON-Wert — praktisch für Profis und zum Kopieren.",
|
|
3490
|
+
"tutorial.schemaForm.validation.title": "Live-Validierung",
|
|
3491
|
+
"tutorial.schemaForm.validation.content": "Werte werden während der Eingabe gegen das Schema geprüft; Probleme werden unter dem Formular aufgelistet.",
|
|
3492
|
+
"schemaForm.tab.form": "Formular",
|
|
3493
|
+
"schemaForm.tab.json": "JSON",
|
|
3494
|
+
"schemaForm.tab.json.help": "Den rohen JSON-Wert direkt bearbeiten",
|
|
3495
|
+
"schemaForm.invalidJson": "Ungültiges JSON",
|
|
2572
3496
|
"tutorial.schemaForm.intro.content": "Dieses Formular wird aus einem Schema erzeugt. Pflichtfelder und Validierungsfehler werden markiert; nutzen Sie den JSON-Umschalter für die Rohbearbeitung.",
|
|
2573
3497
|
"tutorial.entityEditor.intro.title": "Entitäten-Editor",
|
|
2574
3498
|
"tutorial.entityEditor.intro.content": "Fügen Sie links Entitäten hinzu und bearbeiten Sie rechts die Metadaten jeder Entität sowie ihre Felder (Typ, Schlüssel, Einschränkungen).",
|
|
@@ -2719,7 +3643,7 @@ const x = [
|
|
|
2719
3643
|
"tutorial.dmxEditor.intro.title": "DMX-Editor",
|
|
2720
3644
|
"tutorial.dmxEditor.intro.content": "Wählen Sie das FTDI-Gerät und den Port und stellen Sie dann den Wert jedes DMX-Kanals mit den Reglern ein, um Ihre Lichtgeräte live zu steuern.",
|
|
2721
3645
|
"sidebar.prefs.order.visibilityHint": "Die Reihenfolge gilt für die obersten Einträge innerhalb jeder Quellgruppe. Klappen Sie einen Quell-Header zu, um beim Überprüfen der Änderung nur die obersten Einträge zu sehen."
|
|
2722
|
-
},
|
|
3646
|
+
}, Se = {
|
|
2723
3647
|
"tutorial.viewEditor.intro.title": "Éditeur de vues",
|
|
2724
3648
|
"tutorial.viewEditor.intro.content": "Concevez n’importe quel type de vue au même endroit : choisissez le type (ou générez depuis une entité), faites glisser des contrôles depuis la palette dans les cellules de la grille, puis configurez chaque cellule — liaison de données, permissions par rôle et actions d’événement. Basculez Conception / Aperçu / Source et enregistrez quand c’est valide.",
|
|
2725
3649
|
ok: "OK",
|
|
@@ -3445,6 +4369,314 @@ const x = [
|
|
|
3445
4369
|
"tutorial.manifestEditor.intro.title": "Éditeur de manifeste",
|
|
3446
4370
|
"tutorial.manifestEditor.intro.content": "Modifiez le manifeste par sections pilotées par schéma. Basculez entre Formulaire ⇄ JSON par section ; la validation apparaît dans la barre d’état.",
|
|
3447
4371
|
"tutorial.schemaForm.intro.title": "Formulaire de schéma",
|
|
4372
|
+
"workflowDesigner.name": "Nom",
|
|
4373
|
+
"workflowDesigner.type": "Type",
|
|
4374
|
+
"workflowDesigner.select": "— Sélectionner —",
|
|
4375
|
+
"workflowDesigner.simulate": "Simuler",
|
|
4376
|
+
"workflowDesigner.stop": "Arrêter",
|
|
4377
|
+
"workflowDesigner.test": "Test",
|
|
4378
|
+
"workflowDesigner.publish": "Publier",
|
|
4379
|
+
"workflowDesigner.export": "Exporter",
|
|
4380
|
+
"workflowDesigner.import": "Importer",
|
|
4381
|
+
"workflowDesigner.zoomIn": "Zoom avant",
|
|
4382
|
+
"workflowDesigner.zoomOut": "Zoom arrière",
|
|
4383
|
+
"workflowDesigner.resetView": "Réinitialiser la vue",
|
|
4384
|
+
"workflowDesigner.simulateFlow": "Simuler le flux",
|
|
4385
|
+
"workflowDesigner.testProcess": "Tester le processus",
|
|
4386
|
+
"workflowDesigner.publishProcess": "Publier le processus",
|
|
4387
|
+
"workflowDesigner.exportBpmn": "Exporter le XML BPMN",
|
|
4388
|
+
"workflowDesigner.importBpmn": "Importer le XML BPMN",
|
|
4389
|
+
"workflowDesigner.toolbar": "Barre d’outils du workflow",
|
|
4390
|
+
"workflowDesigner.bpmnToolbar": "Barre d’outils du concepteur BPMN",
|
|
4391
|
+
"workflowDesigner.palette": "Palette d’éléments BPMN",
|
|
4392
|
+
"workflowDesigner.canvas": "Zone de travail du workflow",
|
|
4393
|
+
"workflowDesigner.bpmnCanvas": "Zone de travail BPMN",
|
|
4394
|
+
"workflowDesigner.minimap": "Minicarte",
|
|
4395
|
+
"workflowDesigner.expand": "Développer",
|
|
4396
|
+
"workflowDesigner.collapse": "Réduire",
|
|
4397
|
+
"workflowDesigner.connect": "Connecter",
|
|
4398
|
+
"workflowDesigner.startConnect": "Démarrer la connexion",
|
|
4399
|
+
"workflowDesigner.delete": "Supprimer",
|
|
4400
|
+
"workflowDesigner.deleteElement": "Supprimer l’élément",
|
|
4401
|
+
"workflowDesigner.next": "Suivant",
|
|
4402
|
+
"workflowDesigner.connectHint": "Cliquez sur un élément cible pour connecter, ou sur un espace vide pour annuler",
|
|
4403
|
+
"workflowDesigner.properties": "Propriétés",
|
|
4404
|
+
"workflowDesigner.propertiesOf": "Propriétés : {name}",
|
|
4405
|
+
"workflowDesigner.assignee": "Affecté à",
|
|
4406
|
+
"workflowDesigner.dueDate": "Échéance",
|
|
4407
|
+
"workflowDesigner.dueDatePlaceholder": "P3D (3 jours)",
|
|
4408
|
+
"workflowDesigner.priority": "Priorité",
|
|
4409
|
+
"workflowDesigner.documentation": "Documentation",
|
|
4410
|
+
"workflowDesigner.timer": "Minuteur (ISO 8601)",
|
|
4411
|
+
"workflowDesigner.timerPlaceholder": "PT1H (1 heure) ou R3/PT1H (3 répétitions)",
|
|
4412
|
+
"workflowDesigner.defaultFlow": "Flux par défaut",
|
|
4413
|
+
"workflowDesigner.flowOf": "Flux : {name}",
|
|
4414
|
+
"workflowDesigner.condition": "Condition",
|
|
4415
|
+
"workflowDesigner.deleteFlow": "Supprimer le flux",
|
|
4416
|
+
"workflowDesigner.variables": "Variables du processus",
|
|
4417
|
+
"workflowDesigner.addVariable": "Ajouter une variable",
|
|
4418
|
+
"workflowDesigner.simActiveElement": "Simulation active — élément actuel :",
|
|
4419
|
+
"workflowDesigner.simActiveState": "Simulation active — état actuel :",
|
|
4420
|
+
"workflowDesigner.endSimulation": "Terminer la simulation",
|
|
4421
|
+
"workflowDesigner.addState": "État",
|
|
4422
|
+
"workflowDesigner.addApproval": "Approbation",
|
|
4423
|
+
"workflowDesigner.newState": "Nouvel état",
|
|
4424
|
+
"workflowDesigner.stateLabel": "État : {name}",
|
|
4425
|
+
"workflowDesigner.stateName": "Nom de l’état",
|
|
4426
|
+
"workflowDesigner.deleteState": "Supprimer l’état {name}",
|
|
4427
|
+
"workflowDesigner.stateProps": "Propriétés de l’état",
|
|
4428
|
+
"workflowDesigner.stateType": "Type d’état",
|
|
4429
|
+
"workflowDesigner.val.noInitial": "Aucun état initial",
|
|
4430
|
+
"workflowDesigner.val.multiInitial": "Plus d’un état initial",
|
|
4431
|
+
"workflowDesigner.val.noFinal": "Aucun état final",
|
|
4432
|
+
"workflowDesigner.val.deadEnd": 'L’état "{name}" n’a aucune transition sortante (impasse)',
|
|
4433
|
+
"workflowDesigner.val.orphan": 'L’état "{name}" est inaccessible (orphelin)',
|
|
4434
|
+
"workflowDesigner.val.bpmnNoStart": "Le processus doit comporter au moins un événement de début",
|
|
4435
|
+
"workflowDesigner.val.bpmnNoEnd": "Le processus doit comporter au moins un événement de fin",
|
|
4436
|
+
"workflowDesigner.val.startNoOut": 'L’événement de début "{name}" n’a aucun flux sortant',
|
|
4437
|
+
"workflowDesigner.val.endNoIn": 'L’événement de fin "{name}" n’a aucun flux entrant',
|
|
4438
|
+
"workflowDesigner.val.unreachable": 'L’élément "{name}" est inaccessible',
|
|
4439
|
+
"workflowDesigner.val.elemNoOut": 'L’élément "{name}" n’a aucun flux sortant',
|
|
4440
|
+
"workflowDesigner.val.xorNoConditions": 'La passerelle exclusive "{name}" devrait avoir des conditions sur ses flux',
|
|
4441
|
+
"tutorial.workflowDesigner.toolbar.title": "Barre d’outils",
|
|
4442
|
+
"tutorial.workflowDesigner.toolbar.content": "Ajoutez des états et des approbations, lancez une simulation, puis testez ou publiez le workflow.",
|
|
4443
|
+
"tutorial.workflowDesigner.canvas.title": "Zone de travail",
|
|
4444
|
+
"tutorial.workflowDesigner.canvas.content": "Faites glisser pour disposer les états, cliquez sur l’un pour le modifier et reliez-les en transitions.",
|
|
4445
|
+
"tutorial.workflowDesigner.minimap.title": "Minicarte",
|
|
4446
|
+
"tutorial.workflowDesigner.minimap.content": "Une vue d’ensemble de tout le flux pour une navigation rapide.",
|
|
4447
|
+
"entityEditor.col.name": "Nom",
|
|
4448
|
+
"entityEditor.col.displayName": "Nom d’affichage",
|
|
4449
|
+
"entityEditor.col.table": "Table",
|
|
4450
|
+
"entityEditor.col.fields": "Champs",
|
|
4451
|
+
"entityEditor.col.fields.help": "Nombre de champs définis sur cette entité",
|
|
4452
|
+
"entityEditor.col.flags": "Indicateurs",
|
|
4453
|
+
"entityEditor.flag.audited": "Audité — suit qui a modifié chaque enregistrement et quand",
|
|
4454
|
+
"entityEditor.flag.audited.abbr": "Audit",
|
|
4455
|
+
"entityEditor.flag.softDelete": "Suppression logique — les lignes sont marquées comme supprimées, jamais physiquement effacées",
|
|
4456
|
+
"entityEditor.flag.softDelete.abbr": "Suppr. log.",
|
|
4457
|
+
"entityEditor.search": "Rechercher des entités…",
|
|
4458
|
+
"entityEditor.empty": "Aucune entité pour l’instant. Créez-en une pour commencer.",
|
|
4459
|
+
"entityEditor.new": "Nouvelle entité",
|
|
4460
|
+
"entityEditor.back": "Entités",
|
|
4461
|
+
"entityEditor.backHint": "Retour à la liste des entités",
|
|
4462
|
+
"entityEditor.delete": "Supprimer",
|
|
4463
|
+
"entityEditor.deleteHint": "Supprimer cette entité",
|
|
4464
|
+
"entityEditor.untitled": "Entité sans titre",
|
|
4465
|
+
"entityEditor.tab.general": "Général",
|
|
4466
|
+
"entityEditor.tab.fields": "Champs",
|
|
4467
|
+
"entityEditor.tab.validation": "Validation",
|
|
4468
|
+
"entityEditor.tab.er": "Diagramme ER",
|
|
4469
|
+
"entityEditor.field.name": "Nom",
|
|
4470
|
+
"entityEditor.field.type": "Type",
|
|
4471
|
+
"entityEditor.field.flags": "Contraintes",
|
|
4472
|
+
"entityEditor.field.flags.help": "Contraintes de clé / obligatoire / unique / indexé sur ce champ",
|
|
4473
|
+
"entityEditor.flag.pk": "Clé primaire",
|
|
4474
|
+
"entityEditor.flag.fk": "Clé étrangère",
|
|
4475
|
+
"entityEditor.flag.required": "Obligatoire (NOT NULL)",
|
|
4476
|
+
"entityEditor.flag.unique": "Unique",
|
|
4477
|
+
"entityEditor.flag.indexed": "Indexé",
|
|
4478
|
+
"entityEditor.field.back": "Champs",
|
|
4479
|
+
"entityEditor.field.backHint": "Retour à la liste des champs",
|
|
4480
|
+
"entityEditor.field.untitled": "Nouveau champ",
|
|
4481
|
+
"entityEditor.field.done": "Terminé",
|
|
4482
|
+
"entityEditor.field.add": "Ajouter un champ",
|
|
4483
|
+
"entityEditor.field.search": "Rechercher des champs…",
|
|
4484
|
+
"entityEditor.field.empty": "Aucun champ pour l’instant. Ajoutez-en un pour définir cette entité.",
|
|
4485
|
+
"tutorial.themeBuilder.presets.title": "Préréglages",
|
|
4486
|
+
"tutorial.themeBuilder.presets.content": "Partez d’un préréglage intégré, puis personnalisez — le moyen le plus rapide d’obtenir une palette cohérente.",
|
|
4487
|
+
"tutorial.themeBuilder.sections.title": "Sections de tokens",
|
|
4488
|
+
"tutorial.themeBuilder.sections.content": "Modifiez les tokens par section : couleurs, arrière-plans, texte, bordures, espacements et typographie.",
|
|
4489
|
+
"tutorial.themeBuilder.preview.title": "Aperçu en direct",
|
|
4490
|
+
"tutorial.themeBuilder.preview.content": "Chaque modification est prévisualisée instantanément sur des composants d’exemple, pour juger le thème pendant sa création.",
|
|
4491
|
+
"tutorial.themeBuilder.export.title": "Nommer, appliquer et exporter",
|
|
4492
|
+
"tutorial.themeBuilder.export.content": "Nommez votre thème, appliquez-le à la page ou exportez-le en JSON / variables CSS pour le réutiliser.",
|
|
4493
|
+
"dataSourceBuilder.namePlaceholder": "Nom de la source de données…",
|
|
4494
|
+
"dataSourceBuilder.nameAria": "Nom de la source de données",
|
|
4495
|
+
"tutorial.dataSourceBuilder.name.title": "Nom et clé",
|
|
4496
|
+
"tutorial.dataSourceBuilder.name.content": "Donnez à la source de données un nom lisible ; sa clé stable (utilisée par les vues) est générée automatiquement et affichée à côté.",
|
|
4497
|
+
"lifecycleHooks.enabled": "Activé",
|
|
4498
|
+
"lifecycleHooks.handler": "Gestionnaire",
|
|
4499
|
+
"lifecycleHooks.selectHandler": "— choisir un gestionnaire —",
|
|
4500
|
+
"lifecycleHooks.handlerPlaceholder": "gestionnaire (p. ex. scripts/on-create.js)",
|
|
4501
|
+
"lifecycleHooks.conditionPlaceholder": "condition (facultative)",
|
|
4502
|
+
"lifecycleHooks.condition": "Condition",
|
|
4503
|
+
"lifecycleHooks.moveUp": "Monter",
|
|
4504
|
+
"lifecycleHooks.moveDown": "Descendre",
|
|
4505
|
+
"lifecycleHooks.removeBinding": "Supprimer la liaison",
|
|
4506
|
+
"lifecycleHooks.addHandler": "Ajouter un gestionnaire",
|
|
4507
|
+
"tutorial.lifecycleHooks.bindings.title": "Déclencheurs et liaisons",
|
|
4508
|
+
"tutorial.lifecycleHooks.bindings.content": "Chaque déclencheur liste ses gestionnaires liés. Ajoutez un gestionnaire, basculez son indicateur d’activation, réordonnez-le et définissez éventuellement une condition qui régit l’exécution.",
|
|
4509
|
+
"revisionHistory.revisions": "Versions",
|
|
4510
|
+
"revisionHistory.compare": "Comparer",
|
|
4511
|
+
"revisionHistory.restore": "Restaurer",
|
|
4512
|
+
"revisionHistory.diffEmpty": "Sélectionnez une version et choisissez-en une autre à comparer.",
|
|
4513
|
+
"tutorial.revisionHistory.list.title": "Versions",
|
|
4514
|
+
"tutorial.revisionHistory.list.content": "Sélectionnez une version, puis cliquez sur « Comparer » sur une autre pour les comparer. « Restaurer » revient à cette version.",
|
|
4515
|
+
"tutorial.revisionHistory.diff.title": "Différences",
|
|
4516
|
+
"tutorial.revisionHistory.diff.content": "Examinez les différences côte à côte entre les deux versions sélectionnées.",
|
|
4517
|
+
"accessManager.roles": "Rôles",
|
|
4518
|
+
"accessManager.newRole": "Nouveau rôle…",
|
|
4519
|
+
"accessManager.newRoleAria": "Nom du nouveau rôle",
|
|
4520
|
+
"accessManager.add": "Ajouter",
|
|
4521
|
+
"accessManager.removeRole": "Supprimer le rôle",
|
|
4522
|
+
"accessManager.resources": "Ressources",
|
|
4523
|
+
"accessManager.applyDescendants": "Appliquer à tous les descendants",
|
|
4524
|
+
"accessManager.empty": "Sélectionnez une ressource pour modifier son accès.",
|
|
4525
|
+
"accessManager.collapse": "Réduire",
|
|
4526
|
+
"accessManager.expand": "Développer",
|
|
4527
|
+
"tutorial.accessManager.tree.title": "Rôles et ressources",
|
|
4528
|
+
"tutorial.accessManager.tree.content": "Ajoutez et supprimez des rôles, puis choisissez une ressource dans l’arbre (modules → vues / entités / actions) pour modifier son accès.",
|
|
4529
|
+
"tutorial.accessManager.matrix.title": "Matrice des autorisations",
|
|
4530
|
+
"tutorial.accessManager.matrix.content": "Accordez à chaque rôle ses actions pour la ressource sélectionnée. Utilisez les contrôles groupés ou « Appliquer à tous les descendants » pour propager les autorisations dans l’arbre.",
|
|
4531
|
+
"viewEditor.name": "Nom de la vue",
|
|
4532
|
+
"viewEditor.kindAria": "Type de vue",
|
|
4533
|
+
"viewEditor.kind.form": "Formulaire",
|
|
4534
|
+
"viewEditor.kind.detail": "Détail",
|
|
4535
|
+
"viewEditor.kind.grid": "Grille",
|
|
4536
|
+
"viewEditor.kind.dashboard": "Tableau de bord",
|
|
4537
|
+
"viewEditor.kind.content": "Contenu",
|
|
4538
|
+
"viewEditor.kind.report": "Rapport",
|
|
4539
|
+
"viewEditor.kind.print": "Impression",
|
|
4540
|
+
"viewEditor.kind.mix": "Mix",
|
|
4541
|
+
"viewEditor.fromEntity": "Nouveau depuis une entité…",
|
|
4542
|
+
"viewEditor.fromEntityAria": "Nouvelle vue depuis une entité",
|
|
4543
|
+
"viewEditor.export": "Exporter…",
|
|
4544
|
+
"viewEditor.exportAria": "Exporter la vue",
|
|
4545
|
+
"viewEditor.mode.design": "Conception",
|
|
4546
|
+
"viewEditor.mode.preview": "Aperçu",
|
|
4547
|
+
"viewEditor.mode.source": "Source",
|
|
4548
|
+
"viewEditor.valid": "✓ Valide",
|
|
4549
|
+
"viewEditor.save": "Enregistrer",
|
|
4550
|
+
"viewEditor.add": "Ajouter",
|
|
4551
|
+
"viewEditor.cat.Inputs": "Saisies",
|
|
4552
|
+
"viewEditor.cat.Data": "Données",
|
|
4553
|
+
"viewEditor.cat.BI": "BI",
|
|
4554
|
+
"viewEditor.cat.Actions": "Actions",
|
|
4555
|
+
"viewEditor.cat.Display": "Affichage",
|
|
4556
|
+
"viewEditor.pal.textInput": "Texte",
|
|
4557
|
+
"viewEditor.pal.textArea": "Zone de texte",
|
|
4558
|
+
"viewEditor.pal.numberInput": "Nombre",
|
|
4559
|
+
"viewEditor.pal.select": "Sélection",
|
|
4560
|
+
"viewEditor.pal.checkbox": "Case à cocher",
|
|
4561
|
+
"viewEditor.pal.datePicker": "Date",
|
|
4562
|
+
"viewEditor.pal.dataGrid": "Grille de données",
|
|
4563
|
+
"viewEditor.pal.chart": "Graphique",
|
|
4564
|
+
"viewEditor.pal.kpi": "KPI",
|
|
4565
|
+
"viewEditor.pal.button": "Bouton",
|
|
4566
|
+
"viewEditor.pal.text": "Texte",
|
|
4567
|
+
"viewEditor.pal.heading": "Titre",
|
|
4568
|
+
"viewEditor.pal.badge": "Badge",
|
|
4569
|
+
"viewEditor.pal.card": "Carte",
|
|
4570
|
+
"viewEditor.addRow": "Ajouter une ligne",
|
|
4571
|
+
"viewEditor.canvasEmpty": "Ajoutez une ligne, puis déposez des contrôles depuis la palette — ou démarrez « Nouveau depuis une entité ».",
|
|
4572
|
+
"viewEditor.removeCell": "Supprimer la cellule",
|
|
4573
|
+
"viewEditor.emptyRow": "ligne vide",
|
|
4574
|
+
"viewEditor.control": "Contrôle",
|
|
4575
|
+
"viewEditor.cp.label": "Libellé",
|
|
4576
|
+
"viewEditor.cp.colSpan": "Largeur de colonne",
|
|
4577
|
+
"viewEditor.cp.binding": "Liaison",
|
|
4578
|
+
"viewEditor.cp.dataSource": "Source de données",
|
|
4579
|
+
"viewEditor.cp.none": "— aucune —",
|
|
4580
|
+
"viewEditor.cp.field": "Champ",
|
|
4581
|
+
"viewEditor.cp.fieldPath": "chemin du champ",
|
|
4582
|
+
"viewEditor.cp.twoWay": "Bidirectionnel",
|
|
4583
|
+
"viewEditor.cp.permissions": "Autorisations",
|
|
4584
|
+
"viewEditor.cp.role": "rôle",
|
|
4585
|
+
"viewEditor.cp.addPermission": "Autorisation",
|
|
4586
|
+
"viewEditor.cp.events": "Événements",
|
|
4587
|
+
"viewEditor.cp.eventPlaceholder": "événement (onClick / onValueChange…)",
|
|
4588
|
+
"viewEditor.cp.removeEvent": "Supprimer l’événement",
|
|
4589
|
+
"viewEditor.cp.addEvent": "Événement",
|
|
4590
|
+
"viewEditor.remove": "Supprimer",
|
|
4591
|
+
"viewEditor.ds.title": "Sources de données",
|
|
4592
|
+
"viewEditor.ds.hint": "Sélectionnez un contrôle pour modifier ses props, sa liaison et ses événements.",
|
|
4593
|
+
"viewEditor.ds.key": "clé",
|
|
4594
|
+
"viewEditor.ds.endpoint": "point de terminaison",
|
|
4595
|
+
"viewEditor.ds.autoLoad": "chargement auto",
|
|
4596
|
+
"viewEditor.ds.add": "Source de données",
|
|
4597
|
+
"tutorial.viewEditor.palette.title": "Palette",
|
|
4598
|
+
"tutorial.viewEditor.palette.content": "Ajoutez des contrôles depuis la palette dans la grille — saisies, grilles de données, graphiques, KPI, boutons et blocs d’affichage.",
|
|
4599
|
+
"tutorial.viewEditor.canvas.title": "Zone de travail",
|
|
4600
|
+
"tutorial.viewEditor.canvas.content": "Disposez les cellules en lignes et définissez la largeur de colonne de chaque cellule. Cliquez sur une cellule pour la configurer.",
|
|
4601
|
+
"tutorial.viewEditor.props.title": "Propriétés",
|
|
4602
|
+
"tutorial.viewEditor.props.content": "Configurez le contrôle sélectionné : props, liaison de données, autorisations de rôle et actions d’événement. Sans sélection, gérez les sources de données de la vue.",
|
|
4603
|
+
"tutorial.viewEditor.modes.title": "Conception / Aperçu / Source",
|
|
4604
|
+
"tutorial.viewEditor.modes.content": "Basculez entre le concepteur visuel, un aperçu en direct et le JSON brut NiceViewDefinition. Enregistrez lorsque la vue est valide.",
|
|
4605
|
+
"manifestEditor.tab.scripts": "Scripts",
|
|
4606
|
+
"manifestEditor.tab.lifecycle": "Cycle de vie",
|
|
4607
|
+
"manifestEditor.tab.history": "Historique",
|
|
4608
|
+
"manifestEditor.status.valid": "✓ Valide",
|
|
4609
|
+
"manifestEditor.status.issues": "problèmes",
|
|
4610
|
+
"manifestEditor.sections": "sections",
|
|
4611
|
+
"manifestEditor.output": "Sortie",
|
|
4612
|
+
"tutorial.manifestEditor.sections.title": "Sections",
|
|
4613
|
+
"tutorial.manifestEditor.sections.content": "Le manifeste est divisé en sections basées sur un schéma — passez de l’une à l’autre via les onglets en haut.",
|
|
4614
|
+
"tutorial.manifestEditor.json.title": "Formulaire ⇄ JSON",
|
|
4615
|
+
"tutorial.manifestEditor.json.content": "Chaque section peut être éditée comme un formulaire visuel ou en JSON brut — utilisez le bouton dans la section.",
|
|
4616
|
+
"i18nEditor.keyHead": "Clé",
|
|
4617
|
+
"i18nEditor.removeLocale": "Supprimer la langue",
|
|
4618
|
+
"i18nEditor.keyAria": "Clé de traduction",
|
|
4619
|
+
"i18nEditor.removeKey": "Supprimer la clé",
|
|
4620
|
+
"i18nEditor.empty": "Aucune clé de traduction.",
|
|
4621
|
+
"i18nEditor.newKeyPlaceholder": "nouvelle.clé",
|
|
4622
|
+
"i18nEditor.newKeyAria": "Nouvelle clé",
|
|
4623
|
+
"i18nEditor.addKey": "Clé",
|
|
4624
|
+
"i18nEditor.newLocalePlaceholder": "langue (p. ex. de)",
|
|
4625
|
+
"i18nEditor.newLocaleAria": "Nouvelle langue",
|
|
4626
|
+
"i18nEditor.addLocale": "Langue",
|
|
4627
|
+
"tutorial.i18nEditor.grid.title": "Clés × langues",
|
|
4628
|
+
"tutorial.i18nEditor.grid.content": "Chaque ligne est une clé de traduction et chaque colonne une langue. Modifiez une cellule pour définir une traduction ; les cellules ambrées sont encore manquantes.",
|
|
4629
|
+
"tutorial.i18nEditor.add.title": "Ajouter des clés et des langues",
|
|
4630
|
+
"tutorial.i18nEditor.add.content": "Ajoutez ici une nouvelle clé de traduction ou une nouvelle colonne de langue ; les nouvelles cellules sont vides et signalées comme manquantes.",
|
|
4631
|
+
"moduleEditor.tab.entities": "Entités",
|
|
4632
|
+
"moduleEditor.tab.i18n": "i18n",
|
|
4633
|
+
"moduleEditor.tab.views": "Vues",
|
|
4634
|
+
"moduleEditor.tab.workflows": "Workflows",
|
|
4635
|
+
"moduleEditor.tab.data": "Données",
|
|
4636
|
+
"moduleEditor.tab.permissions": "Autorisations",
|
|
4637
|
+
"moduleEditor.tab.scripts": "Scripts",
|
|
4638
|
+
"moduleEditor.tab.lifecycle": "Cycle de vie",
|
|
4639
|
+
"moduleEditor.tab.history": "Historique",
|
|
4640
|
+
"moduleEditor.tab.source": "Source",
|
|
4641
|
+
"moduleEditor.status.valid": "✓ Valide",
|
|
4642
|
+
"moduleEditor.status.issues": "problèmes",
|
|
4643
|
+
"moduleEditor.searchModules": "Rechercher des modules…",
|
|
4644
|
+
"moduleEditor.loading": "Chargement…",
|
|
4645
|
+
"moduleEditor.noModules": "Aucun module. Ouvrez d’abord une source.",
|
|
4646
|
+
"moduleEditor.title": "Éditeur de modules",
|
|
4647
|
+
"moduleEditor.refresh": "Actualiser",
|
|
4648
|
+
"moduleEditor.validate": "Valider",
|
|
4649
|
+
"moduleEditor.saving": "Enregistrement…",
|
|
4650
|
+
"moduleEditor.save": "Enregistrer",
|
|
4651
|
+
"moduleEditor.output": "Sortie",
|
|
4652
|
+
"moduleEditor.placeholder": "Sélectionnez un module à gauche pour commencer l’édition.",
|
|
4653
|
+
"moduleEditor.delete": "Supprimer",
|
|
4654
|
+
"moduleEditor.views.select": "Sélectionner une vue",
|
|
4655
|
+
"moduleEditor.views.placeholder": "— sélectionner une vue —",
|
|
4656
|
+
"moduleEditor.views.new": "Nouvelle vue",
|
|
4657
|
+
"moduleEditor.views.empty": "Aucune vue sélectionnée. Créez-en une, puis utilisez « Nouveau depuis une entité » dans l’éditeur.",
|
|
4658
|
+
"moduleEditor.workflows.select": "Sélectionner un workflow",
|
|
4659
|
+
"moduleEditor.workflows.placeholder": "— sélectionner un workflow —",
|
|
4660
|
+
"moduleEditor.workflows.new": "Nouveau workflow",
|
|
4661
|
+
"moduleEditor.workflows.empty": "Aucun workflow sélectionné. Créez-en un pour concevoir les états et les transitions.",
|
|
4662
|
+
"moduleEditor.data.select": "Sélectionner une source de données",
|
|
4663
|
+
"moduleEditor.data.placeholder": "— sélectionner une source de données —",
|
|
4664
|
+
"moduleEditor.data.new": "Nouvelle source de données",
|
|
4665
|
+
"moduleEditor.data.empty": "Aucune source de données sélectionnée. Créez-en une pour construire une requête à partir du schéma du module.",
|
|
4666
|
+
"tutorial.moduleEditor.intro.title": "Éditeur de modules",
|
|
4667
|
+
"tutorial.moduleEditor.intro.content": "Concevez un module entier de bout en bout — manifeste, entités, traductions, vues, workflows, sources de données et autorisations — puis validez et enregistrez.",
|
|
4668
|
+
"tutorial.moduleEditor.tabs.title": "Parties du module",
|
|
4669
|
+
"tutorial.moduleEditor.tabs.content": "Chaque onglet édite une partie du module : sections du manifeste, entités, i18n, vues, workflows, sources de données, autorisations et plus.",
|
|
4670
|
+
"tutorial.moduleEditor.output.title": "Sortie",
|
|
4671
|
+
"tutorial.moduleEditor.output.content": "Les résultats de validation et l’activité de chargement/enregistrement sont consignés ici.",
|
|
4672
|
+
"tutorial.schemaForm.viewToggle.title": "Formulaire ⇄ JSON",
|
|
4673
|
+
"tutorial.schemaForm.viewToggle.content": "Basculez entre le formulaire visuel et la valeur JSON brute — pratique pour les utilisateurs avancés et le copier-coller.",
|
|
4674
|
+
"tutorial.schemaForm.validation.title": "Validation en direct",
|
|
4675
|
+
"tutorial.schemaForm.validation.content": "Les valeurs sont validées selon le schéma au fur et à mesure ; les problèmes sont listés sous le formulaire.",
|
|
4676
|
+
"schemaForm.tab.form": "Formulaire",
|
|
4677
|
+
"schemaForm.tab.json": "JSON",
|
|
4678
|
+
"schemaForm.tab.json.help": "Modifier directement la valeur JSON brute",
|
|
4679
|
+
"schemaForm.invalidJson": "JSON invalide",
|
|
3448
4680
|
"tutorial.schemaForm.intro.content": "Ce formulaire est généré à partir d’un schéma. Les champs obligatoires et les erreurs de validation sont signalés ; utilisez le bouton JSON pour l’édition brute.",
|
|
3449
4681
|
"tutorial.entityEditor.intro.title": "Éditeur d’entités",
|
|
3450
4682
|
"tutorial.entityEditor.intro.content": "Ajoutez des entités à gauche, puis modifiez à droite les métadonnées de chaque entité et ses champs (type, clés, contraintes).",
|
|
@@ -3595,7 +4827,7 @@ const x = [
|
|
|
3595
4827
|
"tutorial.dmxEditor.intro.title": "Éditeur DMX",
|
|
3596
4828
|
"tutorial.dmxEditor.intro.content": "Choisissez le périphérique FTDI et le port, puis réglez la valeur de chaque canal DMX avec les curseurs pour piloter vos projecteurs en direct.",
|
|
3597
4829
|
"sidebar.prefs.order.visibilityHint": "L’ordre s’applique aux éléments de premier niveau dans chaque groupe de source. Repliez un en-tête de source pour ne voir que les entrées de premier niveau lors de la vérification."
|
|
3598
|
-
},
|
|
4830
|
+
}, Ce = {
|
|
3599
4831
|
"tutorial.viewEditor.intro.title": "Editor de vistas",
|
|
3600
4832
|
"tutorial.viewEditor.intro.content": "Crea cualquier tipo de vista desde un solo lugar: elige el tipo (o genéralo desde una entidad), arrastra controles desde la paleta a las celdas de la cuadrícula y configura cada celda — enlace de datos, permisos por rol y acciones de eventos. Cambia entre Diseño / Vista previa / Código y guarda cuando sea válido.",
|
|
3601
4833
|
ok: "OK",
|
|
@@ -3981,6 +5213,314 @@ const x = [
|
|
|
3981
5213
|
"tutorial.manifestEditor.intro.title": "Editor de manifiesto",
|
|
3982
5214
|
"tutorial.manifestEditor.intro.content": "Edita el manifiesto en secciones basadas en esquema. Cambia entre Formulario ⇄ JSON por sección; la validación aparece en la barra de estado.",
|
|
3983
5215
|
"tutorial.schemaForm.intro.title": "Formulario de esquema",
|
|
5216
|
+
"workflowDesigner.name": "Nombre",
|
|
5217
|
+
"workflowDesigner.type": "Tipo",
|
|
5218
|
+
"workflowDesigner.select": "— Seleccionar —",
|
|
5219
|
+
"workflowDesigner.simulate": "Simular",
|
|
5220
|
+
"workflowDesigner.stop": "Detener",
|
|
5221
|
+
"workflowDesigner.test": "Probar",
|
|
5222
|
+
"workflowDesigner.publish": "Publicar",
|
|
5223
|
+
"workflowDesigner.export": "Exportar",
|
|
5224
|
+
"workflowDesigner.import": "Importar",
|
|
5225
|
+
"workflowDesigner.zoomIn": "Acercar",
|
|
5226
|
+
"workflowDesigner.zoomOut": "Alejar",
|
|
5227
|
+
"workflowDesigner.resetView": "Restablecer vista",
|
|
5228
|
+
"workflowDesigner.simulateFlow": "Simular el flujo",
|
|
5229
|
+
"workflowDesigner.testProcess": "Probar el proceso",
|
|
5230
|
+
"workflowDesigner.publishProcess": "Publicar el proceso",
|
|
5231
|
+
"workflowDesigner.exportBpmn": "Exportar XML BPMN",
|
|
5232
|
+
"workflowDesigner.importBpmn": "Importar XML BPMN",
|
|
5233
|
+
"workflowDesigner.toolbar": "Barra de herramientas del flujo",
|
|
5234
|
+
"workflowDesigner.bpmnToolbar": "Barra de herramientas del diseñador BPMN",
|
|
5235
|
+
"workflowDesigner.palette": "Paleta de elementos BPMN",
|
|
5236
|
+
"workflowDesigner.canvas": "Lienzo del flujo",
|
|
5237
|
+
"workflowDesigner.bpmnCanvas": "Lienzo BPMN",
|
|
5238
|
+
"workflowDesigner.minimap": "Minimapa",
|
|
5239
|
+
"workflowDesigner.expand": "Expandir",
|
|
5240
|
+
"workflowDesigner.collapse": "Contraer",
|
|
5241
|
+
"workflowDesigner.connect": "Conectar",
|
|
5242
|
+
"workflowDesigner.startConnect": "Iniciar conexión",
|
|
5243
|
+
"workflowDesigner.delete": "Eliminar",
|
|
5244
|
+
"workflowDesigner.deleteElement": "Eliminar elemento",
|
|
5245
|
+
"workflowDesigner.next": "Siguiente",
|
|
5246
|
+
"workflowDesigner.connectHint": "Haz clic en un elemento de destino para conectar, o en un espacio vacío para cancelar",
|
|
5247
|
+
"workflowDesigner.properties": "Propiedades",
|
|
5248
|
+
"workflowDesigner.propertiesOf": "Propiedades: {name}",
|
|
5249
|
+
"workflowDesigner.assignee": "Asignado a",
|
|
5250
|
+
"workflowDesigner.dueDate": "Fecha límite",
|
|
5251
|
+
"workflowDesigner.dueDatePlaceholder": "P3D (3 días)",
|
|
5252
|
+
"workflowDesigner.priority": "Prioridad",
|
|
5253
|
+
"workflowDesigner.documentation": "Documentación",
|
|
5254
|
+
"workflowDesigner.timer": "Temporizador (ISO 8601)",
|
|
5255
|
+
"workflowDesigner.timerPlaceholder": "PT1H (1 hora) o R3/PT1H (3 repeticiones)",
|
|
5256
|
+
"workflowDesigner.defaultFlow": "Flujo predeterminado",
|
|
5257
|
+
"workflowDesigner.flowOf": "Flujo: {name}",
|
|
5258
|
+
"workflowDesigner.condition": "Condición",
|
|
5259
|
+
"workflowDesigner.deleteFlow": "Eliminar flujo",
|
|
5260
|
+
"workflowDesigner.variables": "Variables del proceso",
|
|
5261
|
+
"workflowDesigner.addVariable": "Añadir variable",
|
|
5262
|
+
"workflowDesigner.simActiveElement": "Simulación activa — elemento actual:",
|
|
5263
|
+
"workflowDesigner.simActiveState": "Simulación activa — estado actual:",
|
|
5264
|
+
"workflowDesigner.endSimulation": "Finalizar simulación",
|
|
5265
|
+
"workflowDesigner.addState": "Estado",
|
|
5266
|
+
"workflowDesigner.addApproval": "Aprobación",
|
|
5267
|
+
"workflowDesigner.newState": "Nuevo estado",
|
|
5268
|
+
"workflowDesigner.stateLabel": "Estado: {name}",
|
|
5269
|
+
"workflowDesigner.stateName": "Nombre del estado",
|
|
5270
|
+
"workflowDesigner.deleteState": "Eliminar estado {name}",
|
|
5271
|
+
"workflowDesigner.stateProps": "Propiedades del estado",
|
|
5272
|
+
"workflowDesigner.stateType": "Tipo de estado",
|
|
5273
|
+
"workflowDesigner.val.noInitial": "No hay estado inicial",
|
|
5274
|
+
"workflowDesigner.val.multiInitial": "Más de un estado inicial",
|
|
5275
|
+
"workflowDesigner.val.noFinal": "No hay estado final",
|
|
5276
|
+
"workflowDesigner.val.deadEnd": 'El estado "{name}" no tiene transiciones salientes (sin salida)',
|
|
5277
|
+
"workflowDesigner.val.orphan": 'El estado "{name}" es inalcanzable (huérfano)',
|
|
5278
|
+
"workflowDesigner.val.bpmnNoStart": "El proceso debe tener al menos un evento de inicio",
|
|
5279
|
+
"workflowDesigner.val.bpmnNoEnd": "El proceso debe tener al menos un evento de fin",
|
|
5280
|
+
"workflowDesigner.val.startNoOut": 'El evento de inicio "{name}" no tiene flujo saliente',
|
|
5281
|
+
"workflowDesigner.val.endNoIn": 'El evento de fin "{name}" no tiene flujo entrante',
|
|
5282
|
+
"workflowDesigner.val.unreachable": 'El elemento "{name}" es inalcanzable',
|
|
5283
|
+
"workflowDesigner.val.elemNoOut": 'El elemento "{name}" no tiene flujo saliente',
|
|
5284
|
+
"workflowDesigner.val.xorNoConditions": 'La compuerta exclusiva "{name}" debería tener condiciones en sus flujos',
|
|
5285
|
+
"tutorial.workflowDesigner.toolbar.title": "Barra de herramientas",
|
|
5286
|
+
"tutorial.workflowDesigner.toolbar.content": "Añade estados y aprobaciones, ejecuta una simulación y luego prueba o publica el flujo.",
|
|
5287
|
+
"tutorial.workflowDesigner.canvas.title": "Lienzo",
|
|
5288
|
+
"tutorial.workflowDesigner.canvas.content": "Arrastra para organizar los estados, haz clic en uno para editarlo y conéctalos en transiciones.",
|
|
5289
|
+
"tutorial.workflowDesigner.minimap.title": "Minimapa",
|
|
5290
|
+
"tutorial.workflowDesigner.minimap.content": "Una vista general de todo el flujo para una navegación rápida.",
|
|
5291
|
+
"entityEditor.col.name": "Nombre",
|
|
5292
|
+
"entityEditor.col.displayName": "Nombre visible",
|
|
5293
|
+
"entityEditor.col.table": "Tabla",
|
|
5294
|
+
"entityEditor.col.fields": "Campos",
|
|
5295
|
+
"entityEditor.col.fields.help": "Número de campos definidos en esta entidad",
|
|
5296
|
+
"entityEditor.col.flags": "Indicadores",
|
|
5297
|
+
"entityEditor.flag.audited": "Auditado — registra quién cambió cada registro y cuándo",
|
|
5298
|
+
"entityEditor.flag.audited.abbr": "Auditoría",
|
|
5299
|
+
"entityEditor.flag.softDelete": "Borrado lógico — las filas se marcan como eliminadas, nunca se borran físicamente",
|
|
5300
|
+
"entityEditor.flag.softDelete.abbr": "Borr. lóg.",
|
|
5301
|
+
"entityEditor.search": "Buscar entidades…",
|
|
5302
|
+
"entityEditor.empty": "Aún no hay entidades. Crea una para empezar.",
|
|
5303
|
+
"entityEditor.new": "Nueva entidad",
|
|
5304
|
+
"entityEditor.back": "Entidades",
|
|
5305
|
+
"entityEditor.backHint": "Volver a la lista de entidades",
|
|
5306
|
+
"entityEditor.delete": "Eliminar",
|
|
5307
|
+
"entityEditor.deleteHint": "Eliminar esta entidad",
|
|
5308
|
+
"entityEditor.untitled": "Entidad sin título",
|
|
5309
|
+
"entityEditor.tab.general": "General",
|
|
5310
|
+
"entityEditor.tab.fields": "Campos",
|
|
5311
|
+
"entityEditor.tab.validation": "Validación",
|
|
5312
|
+
"entityEditor.tab.er": "Diagrama ER",
|
|
5313
|
+
"entityEditor.field.name": "Nombre",
|
|
5314
|
+
"entityEditor.field.type": "Tipo",
|
|
5315
|
+
"entityEditor.field.flags": "Restricciones",
|
|
5316
|
+
"entityEditor.field.flags.help": "Restricciones de clave / obligatorio / único / indexado en este campo",
|
|
5317
|
+
"entityEditor.flag.pk": "Clave primaria",
|
|
5318
|
+
"entityEditor.flag.fk": "Clave foránea",
|
|
5319
|
+
"entityEditor.flag.required": "Obligatorio (NOT NULL)",
|
|
5320
|
+
"entityEditor.flag.unique": "Único",
|
|
5321
|
+
"entityEditor.flag.indexed": "Indexado",
|
|
5322
|
+
"entityEditor.field.back": "Campos",
|
|
5323
|
+
"entityEditor.field.backHint": "Volver a la lista de campos",
|
|
5324
|
+
"entityEditor.field.untitled": "Nuevo campo",
|
|
5325
|
+
"entityEditor.field.done": "Hecho",
|
|
5326
|
+
"entityEditor.field.add": "Añadir campo",
|
|
5327
|
+
"entityEditor.field.search": "Buscar campos…",
|
|
5328
|
+
"entityEditor.field.empty": "Aún no hay campos. Añade uno para definir esta entidad.",
|
|
5329
|
+
"tutorial.themeBuilder.presets.title": "Preajustes",
|
|
5330
|
+
"tutorial.themeBuilder.presets.content": "Empieza con un preajuste integrado y luego personaliza — la forma más rápida de lograr una paleta coherente.",
|
|
5331
|
+
"tutorial.themeBuilder.sections.title": "Secciones de tokens",
|
|
5332
|
+
"tutorial.themeBuilder.sections.content": "Edita los tokens por sección: colores, fondos, texto, bordes, espaciado y tipografía.",
|
|
5333
|
+
"tutorial.themeBuilder.preview.title": "Vista previa en vivo",
|
|
5334
|
+
"tutorial.themeBuilder.preview.content": "Cada cambio se previsualiza al instante en componentes de muestra, para juzgar el tema mientras lo creas.",
|
|
5335
|
+
"tutorial.themeBuilder.export.title": "Nombrar, aplicar y exportar",
|
|
5336
|
+
"tutorial.themeBuilder.export.content": "Da nombre a tu tema, aplícalo a la página o expórtalo como JSON / variables CSS para reutilizarlo.",
|
|
5337
|
+
"dataSourceBuilder.namePlaceholder": "Nombre del origen de datos…",
|
|
5338
|
+
"dataSourceBuilder.nameAria": "Nombre del origen de datos",
|
|
5339
|
+
"tutorial.dataSourceBuilder.name.title": "Nombre y clave",
|
|
5340
|
+
"tutorial.dataSourceBuilder.name.content": "Da al origen de datos un nombre legible; su clave estable (usada por las vistas) se genera automáticamente y se muestra al lado.",
|
|
5341
|
+
"lifecycleHooks.enabled": "Habilitado",
|
|
5342
|
+
"lifecycleHooks.handler": "Controlador",
|
|
5343
|
+
"lifecycleHooks.selectHandler": "— seleccionar controlador —",
|
|
5344
|
+
"lifecycleHooks.handlerPlaceholder": "controlador (p. ej. scripts/on-create.js)",
|
|
5345
|
+
"lifecycleHooks.conditionPlaceholder": "condición (opcional)",
|
|
5346
|
+
"lifecycleHooks.condition": "Condición",
|
|
5347
|
+
"lifecycleHooks.moveUp": "Subir",
|
|
5348
|
+
"lifecycleHooks.moveDown": "Bajar",
|
|
5349
|
+
"lifecycleHooks.removeBinding": "Quitar vinculación",
|
|
5350
|
+
"lifecycleHooks.addHandler": "Añadir controlador",
|
|
5351
|
+
"tutorial.lifecycleHooks.bindings.title": "Disparadores y vinculaciones",
|
|
5352
|
+
"tutorial.lifecycleHooks.bindings.content": "Cada disparador enumera sus controladores vinculados. Añade un controlador, alterna su indicador de habilitado, reordénalo y, opcionalmente, define una condición que controle la ejecución.",
|
|
5353
|
+
"revisionHistory.revisions": "Versiones",
|
|
5354
|
+
"revisionHistory.compare": "Comparar",
|
|
5355
|
+
"revisionHistory.restore": "Restaurar",
|
|
5356
|
+
"revisionHistory.diffEmpty": "Selecciona una versión y elige otra para comparar.",
|
|
5357
|
+
"tutorial.revisionHistory.list.title": "Versiones",
|
|
5358
|
+
"tutorial.revisionHistory.list.content": "Selecciona una versión y luego haz clic en «Comparar» en otra para compararlas. «Restaurar» revierte a esa versión.",
|
|
5359
|
+
"tutorial.revisionHistory.diff.title": "Diferencias",
|
|
5360
|
+
"tutorial.revisionHistory.diff.content": "Revisa las diferencias lado a lado entre las dos versiones seleccionadas.",
|
|
5361
|
+
"accessManager.roles": "Roles",
|
|
5362
|
+
"accessManager.newRole": "Nuevo rol…",
|
|
5363
|
+
"accessManager.newRoleAria": "Nombre del nuevo rol",
|
|
5364
|
+
"accessManager.add": "Añadir",
|
|
5365
|
+
"accessManager.removeRole": "Quitar rol",
|
|
5366
|
+
"accessManager.resources": "Recursos",
|
|
5367
|
+
"accessManager.applyDescendants": "Aplicar a todos los descendientes",
|
|
5368
|
+
"accessManager.empty": "Selecciona un recurso para editar su acceso.",
|
|
5369
|
+
"accessManager.collapse": "Contraer",
|
|
5370
|
+
"accessManager.expand": "Expandir",
|
|
5371
|
+
"tutorial.accessManager.tree.title": "Roles y recursos",
|
|
5372
|
+
"tutorial.accessManager.tree.content": "Añade y quita roles, luego elige un recurso del árbol (módulos → vistas / entidades / acciones) para editar su acceso.",
|
|
5373
|
+
"tutorial.accessManager.matrix.title": "Matriz de permisos",
|
|
5374
|
+
"tutorial.accessManager.matrix.content": "Concede a cada rol sus acciones para el recurso seleccionado. Usa los controles masivos o «Aplicar a todos los descendientes» para propagar los permisos por el árbol.",
|
|
5375
|
+
"viewEditor.name": "Nombre de la vista",
|
|
5376
|
+
"viewEditor.kindAria": "Tipo de vista",
|
|
5377
|
+
"viewEditor.kind.form": "Formulario",
|
|
5378
|
+
"viewEditor.kind.detail": "Detalle",
|
|
5379
|
+
"viewEditor.kind.grid": "Cuadrícula",
|
|
5380
|
+
"viewEditor.kind.dashboard": "Panel",
|
|
5381
|
+
"viewEditor.kind.content": "Contenido",
|
|
5382
|
+
"viewEditor.kind.report": "Informe",
|
|
5383
|
+
"viewEditor.kind.print": "Impresión",
|
|
5384
|
+
"viewEditor.kind.mix": "Mix",
|
|
5385
|
+
"viewEditor.fromEntity": "Nueva desde entidad…",
|
|
5386
|
+
"viewEditor.fromEntityAria": "Nueva vista desde entidad",
|
|
5387
|
+
"viewEditor.export": "Exportar…",
|
|
5388
|
+
"viewEditor.exportAria": "Exportar vista",
|
|
5389
|
+
"viewEditor.mode.design": "Diseño",
|
|
5390
|
+
"viewEditor.mode.preview": "Vista previa",
|
|
5391
|
+
"viewEditor.mode.source": "Origen",
|
|
5392
|
+
"viewEditor.valid": "✓ Válido",
|
|
5393
|
+
"viewEditor.save": "Guardar",
|
|
5394
|
+
"viewEditor.add": "Añadir",
|
|
5395
|
+
"viewEditor.cat.Inputs": "Entradas",
|
|
5396
|
+
"viewEditor.cat.Data": "Datos",
|
|
5397
|
+
"viewEditor.cat.BI": "BI",
|
|
5398
|
+
"viewEditor.cat.Actions": "Acciones",
|
|
5399
|
+
"viewEditor.cat.Display": "Visualización",
|
|
5400
|
+
"viewEditor.pal.textInput": "Texto",
|
|
5401
|
+
"viewEditor.pal.textArea": "Área de texto",
|
|
5402
|
+
"viewEditor.pal.numberInput": "Número",
|
|
5403
|
+
"viewEditor.pal.select": "Selección",
|
|
5404
|
+
"viewEditor.pal.checkbox": "Casilla",
|
|
5405
|
+
"viewEditor.pal.datePicker": "Fecha",
|
|
5406
|
+
"viewEditor.pal.dataGrid": "Cuadrícula de datos",
|
|
5407
|
+
"viewEditor.pal.chart": "Gráfico",
|
|
5408
|
+
"viewEditor.pal.kpi": "KPI",
|
|
5409
|
+
"viewEditor.pal.button": "Botón",
|
|
5410
|
+
"viewEditor.pal.text": "Texto",
|
|
5411
|
+
"viewEditor.pal.heading": "Encabezado",
|
|
5412
|
+
"viewEditor.pal.badge": "Insignia",
|
|
5413
|
+
"viewEditor.pal.card": "Tarjeta",
|
|
5414
|
+
"viewEditor.addRow": "Añadir fila",
|
|
5415
|
+
"viewEditor.canvasEmpty": "Añade una fila y luego suelta controles desde la paleta — o empieza con «Nueva desde entidad».",
|
|
5416
|
+
"viewEditor.removeCell": "Quitar celda",
|
|
5417
|
+
"viewEditor.emptyRow": "fila vacía",
|
|
5418
|
+
"viewEditor.control": "Control",
|
|
5419
|
+
"viewEditor.cp.label": "Etiqueta",
|
|
5420
|
+
"viewEditor.cp.colSpan": "Ancho de columna",
|
|
5421
|
+
"viewEditor.cp.binding": "Vinculación",
|
|
5422
|
+
"viewEditor.cp.dataSource": "Origen de datos",
|
|
5423
|
+
"viewEditor.cp.none": "— ninguno —",
|
|
5424
|
+
"viewEditor.cp.field": "Campo",
|
|
5425
|
+
"viewEditor.cp.fieldPath": "ruta del campo",
|
|
5426
|
+
"viewEditor.cp.twoWay": "Bidireccional",
|
|
5427
|
+
"viewEditor.cp.permissions": "Permisos",
|
|
5428
|
+
"viewEditor.cp.role": "rol",
|
|
5429
|
+
"viewEditor.cp.addPermission": "Permiso",
|
|
5430
|
+
"viewEditor.cp.events": "Eventos",
|
|
5431
|
+
"viewEditor.cp.eventPlaceholder": "evento (onClick / onValueChange…)",
|
|
5432
|
+
"viewEditor.cp.removeEvent": "Quitar evento",
|
|
5433
|
+
"viewEditor.cp.addEvent": "Evento",
|
|
5434
|
+
"viewEditor.remove": "Quitar",
|
|
5435
|
+
"viewEditor.ds.title": "Orígenes de datos",
|
|
5436
|
+
"viewEditor.ds.hint": "Selecciona un control para editar sus props, vinculación y eventos.",
|
|
5437
|
+
"viewEditor.ds.key": "clave",
|
|
5438
|
+
"viewEditor.ds.endpoint": "punto de conexión",
|
|
5439
|
+
"viewEditor.ds.autoLoad": "carga automática",
|
|
5440
|
+
"viewEditor.ds.add": "Origen de datos",
|
|
5441
|
+
"tutorial.viewEditor.palette.title": "Paleta",
|
|
5442
|
+
"tutorial.viewEditor.palette.content": "Añade controles desde la paleta a la cuadrícula — entradas, cuadrículas de datos, gráficos, KPI, botones y bloques de visualización.",
|
|
5443
|
+
"tutorial.viewEditor.canvas.title": "Lienzo",
|
|
5444
|
+
"tutorial.viewEditor.canvas.content": "Organiza las celdas en filas y define el ancho de columna de cada celda. Haz clic en una celda para configurarla.",
|
|
5445
|
+
"tutorial.viewEditor.props.title": "Propiedades",
|
|
5446
|
+
"tutorial.viewEditor.props.content": "Configura el control seleccionado: props, vinculación de datos, permisos de rol y acciones de evento. Sin selección, gestiona los orígenes de datos de la vista.",
|
|
5447
|
+
"tutorial.viewEditor.modes.title": "Diseño / Vista previa / Origen",
|
|
5448
|
+
"tutorial.viewEditor.modes.content": "Alterna entre el diseñador visual, una vista previa en vivo y el JSON sin procesar de NiceViewDefinition. Guarda cuando la vista sea válida.",
|
|
5449
|
+
"manifestEditor.tab.scripts": "Scripts",
|
|
5450
|
+
"manifestEditor.tab.lifecycle": "Ciclo de vida",
|
|
5451
|
+
"manifestEditor.tab.history": "Historial",
|
|
5452
|
+
"manifestEditor.status.valid": "✓ Válido",
|
|
5453
|
+
"manifestEditor.status.issues": "problemas",
|
|
5454
|
+
"manifestEditor.sections": "secciones",
|
|
5455
|
+
"manifestEditor.output": "Salida",
|
|
5456
|
+
"tutorial.manifestEditor.sections.title": "Secciones",
|
|
5457
|
+
"tutorial.manifestEditor.sections.content": "El manifiesto se divide en secciones basadas en esquema; cambia entre ellas con las pestañas de arriba.",
|
|
5458
|
+
"tutorial.manifestEditor.json.title": "Formulario ⇄ JSON",
|
|
5459
|
+
"tutorial.manifestEditor.json.content": "Cada sección se puede editar como formulario visual o como JSON sin procesar; usa el conmutador dentro de la sección.",
|
|
5460
|
+
"i18nEditor.keyHead": "Clave",
|
|
5461
|
+
"i18nEditor.removeLocale": "Quitar idioma",
|
|
5462
|
+
"i18nEditor.keyAria": "Clave de traducción",
|
|
5463
|
+
"i18nEditor.removeKey": "Quitar clave",
|
|
5464
|
+
"i18nEditor.empty": "Aún no hay claves de traducción.",
|
|
5465
|
+
"i18nEditor.newKeyPlaceholder": "nueva.clave",
|
|
5466
|
+
"i18nEditor.newKeyAria": "Nueva clave",
|
|
5467
|
+
"i18nEditor.addKey": "Clave",
|
|
5468
|
+
"i18nEditor.newLocalePlaceholder": "idioma (p. ej. de)",
|
|
5469
|
+
"i18nEditor.newLocaleAria": "Nuevo idioma",
|
|
5470
|
+
"i18nEditor.addLocale": "Idioma",
|
|
5471
|
+
"tutorial.i18nEditor.grid.title": "Claves × idiomas",
|
|
5472
|
+
"tutorial.i18nEditor.grid.content": "Cada fila es una clave de traducción y cada columna un idioma. Edita una celda para establecer una traducción; las celdas ámbar aún faltan.",
|
|
5473
|
+
"tutorial.i18nEditor.add.title": "Añadir claves e idiomas",
|
|
5474
|
+
"tutorial.i18nEditor.add.content": "Añade aquí una nueva clave de traducción o una nueva columna de idioma; las nuevas celdas están vacías y se marcan como faltantes.",
|
|
5475
|
+
"moduleEditor.tab.entities": "Entidades",
|
|
5476
|
+
"moduleEditor.tab.i18n": "i18n",
|
|
5477
|
+
"moduleEditor.tab.views": "Vistas",
|
|
5478
|
+
"moduleEditor.tab.workflows": "Flujos",
|
|
5479
|
+
"moduleEditor.tab.data": "Datos",
|
|
5480
|
+
"moduleEditor.tab.permissions": "Permisos",
|
|
5481
|
+
"moduleEditor.tab.scripts": "Scripts",
|
|
5482
|
+
"moduleEditor.tab.lifecycle": "Ciclo de vida",
|
|
5483
|
+
"moduleEditor.tab.history": "Historial",
|
|
5484
|
+
"moduleEditor.tab.source": "Origen",
|
|
5485
|
+
"moduleEditor.status.valid": "✓ Válido",
|
|
5486
|
+
"moduleEditor.status.issues": "problemas",
|
|
5487
|
+
"moduleEditor.searchModules": "Buscar módulos…",
|
|
5488
|
+
"moduleEditor.loading": "Cargando…",
|
|
5489
|
+
"moduleEditor.noModules": "No hay módulos. Abre primero un origen.",
|
|
5490
|
+
"moduleEditor.title": "Editor de módulos",
|
|
5491
|
+
"moduleEditor.refresh": "Actualizar",
|
|
5492
|
+
"moduleEditor.validate": "Validar",
|
|
5493
|
+
"moduleEditor.saving": "Guardando…",
|
|
5494
|
+
"moduleEditor.save": "Guardar",
|
|
5495
|
+
"moduleEditor.output": "Salida",
|
|
5496
|
+
"moduleEditor.placeholder": "Selecciona un módulo de la izquierda para empezar a editar.",
|
|
5497
|
+
"moduleEditor.delete": "Eliminar",
|
|
5498
|
+
"moduleEditor.views.select": "Seleccionar vista",
|
|
5499
|
+
"moduleEditor.views.placeholder": "— seleccionar vista —",
|
|
5500
|
+
"moduleEditor.views.new": "Nueva vista",
|
|
5501
|
+
"moduleEditor.views.empty": "Ninguna vista seleccionada. Crea una y luego usa «Nueva desde entidad» en el editor.",
|
|
5502
|
+
"moduleEditor.workflows.select": "Seleccionar flujo",
|
|
5503
|
+
"moduleEditor.workflows.placeholder": "— seleccionar flujo —",
|
|
5504
|
+
"moduleEditor.workflows.new": "Nuevo flujo",
|
|
5505
|
+
"moduleEditor.workflows.empty": "Ningún flujo seleccionado. Crea uno para diseñar estados y transiciones.",
|
|
5506
|
+
"moduleEditor.data.select": "Seleccionar origen de datos",
|
|
5507
|
+
"moduleEditor.data.placeholder": "— seleccionar origen de datos —",
|
|
5508
|
+
"moduleEditor.data.new": "Nuevo origen de datos",
|
|
5509
|
+
"moduleEditor.data.empty": "Ningún origen de datos seleccionado. Crea uno para construir una consulta a partir del esquema del módulo.",
|
|
5510
|
+
"tutorial.moduleEditor.intro.title": "Editor de módulos",
|
|
5511
|
+
"tutorial.moduleEditor.intro.content": "Diseña un módulo completo de principio a fin: manifiesto, entidades, traducciones, vistas, flujos, orígenes de datos y permisos; luego valida y guarda.",
|
|
5512
|
+
"tutorial.moduleEditor.tabs.title": "Partes del módulo",
|
|
5513
|
+
"tutorial.moduleEditor.tabs.content": "Cada pestaña edita una parte del módulo: secciones del manifiesto, entidades, i18n, vistas, flujos, orígenes de datos, permisos y más.",
|
|
5514
|
+
"tutorial.moduleEditor.output.title": "Salida",
|
|
5515
|
+
"tutorial.moduleEditor.output.content": "Los resultados de validación y la actividad de carga/guardado se registran aquí.",
|
|
5516
|
+
"tutorial.schemaForm.viewToggle.title": "Formulario ⇄ JSON",
|
|
5517
|
+
"tutorial.schemaForm.viewToggle.content": "Alterna entre el formulario visual y el valor JSON sin procesar — útil para usuarios avanzados y para copiar y pegar.",
|
|
5518
|
+
"tutorial.schemaForm.validation.title": "Validación en vivo",
|
|
5519
|
+
"tutorial.schemaForm.validation.content": "Los valores se validan contra el esquema mientras escribes; los problemas se enumeran debajo del formulario.",
|
|
5520
|
+
"schemaForm.tab.form": "Formulario",
|
|
5521
|
+
"schemaForm.tab.json": "JSON",
|
|
5522
|
+
"schemaForm.tab.json.help": "Editar directamente el valor JSON sin procesar",
|
|
5523
|
+
"schemaForm.invalidJson": "JSON no válido",
|
|
3984
5524
|
"tutorial.schemaForm.intro.content": "Este formulario se genera a partir de un esquema. Los campos obligatorios y los errores de validación se resaltan; usa el conmutador JSON para la edición en bruto.",
|
|
3985
5525
|
"tutorial.entityEditor.intro.title": "Editor de entidades",
|
|
3986
5526
|
"tutorial.entityEditor.intro.content": "Añade entidades a la izquierda y edita a la derecha los metadatos de cada entidad y sus campos (tipo, claves, restricciones).",
|
|
@@ -5272,7 +6812,7 @@ const x = [
|
|
|
5272
6812
|
"lang.ko": "Koreanska",
|
|
5273
6813
|
"lang.zh": "Kinesiska",
|
|
5274
6814
|
"lang.ar": "Arabiska"
|
|
5275
|
-
},
|
|
6815
|
+
}, xe = {
|
|
5276
6816
|
ok: "OK",
|
|
5277
6817
|
cancel: "Avbryt",
|
|
5278
6818
|
save: "Lagre",
|
|
@@ -5335,7 +6875,7 @@ const x = [
|
|
|
5335
6875
|
"lang.ko": "Koreansk",
|
|
5336
6876
|
"lang.zh": "Kinesisk",
|
|
5337
6877
|
"lang.ar": "Arabisk"
|
|
5338
|
-
},
|
|
6878
|
+
}, Te = {
|
|
5339
6879
|
ok: "OK",
|
|
5340
6880
|
cancel: "Annuller",
|
|
5341
6881
|
save: "Gem",
|
|
@@ -5461,7 +7001,7 @@ const x = [
|
|
|
5461
7001
|
"lang.ko": "Korea",
|
|
5462
7002
|
"lang.zh": "Kiina",
|
|
5463
7003
|
"lang.ar": "Arabia"
|
|
5464
|
-
},
|
|
7004
|
+
}, Ne = {
|
|
5465
7005
|
ok: "OK",
|
|
5466
7006
|
cancel: "Zrušit",
|
|
5467
7007
|
save: "Uložit",
|
|
@@ -5824,7 +7364,7 @@ const x = [
|
|
|
5824
7364
|
"wm.minimizeAll": "Minimalizovat vše",
|
|
5825
7365
|
"wm.newWindow": "Nové okno",
|
|
5826
7366
|
"wm.moveToFront": "Přenést dopředu"
|
|
5827
|
-
},
|
|
7367
|
+
}, Me = {
|
|
5828
7368
|
ok: "OK",
|
|
5829
7369
|
cancel: "Zrušiť",
|
|
5830
7370
|
save: "Uložiť",
|
|
@@ -5887,7 +7427,7 @@ const x = [
|
|
|
5887
7427
|
"lang.ko": "Kórejčina",
|
|
5888
7428
|
"lang.zh": "Čínština",
|
|
5889
7429
|
"lang.ar": "Arabčina"
|
|
5890
|
-
},
|
|
7430
|
+
}, Fe = {
|
|
5891
7431
|
ok: "OK",
|
|
5892
7432
|
cancel: "Mégse",
|
|
5893
7433
|
save: "Mentés",
|
|
@@ -6446,6 +7986,314 @@ const x = [
|
|
|
6446
7986
|
"tutorial.manifestEditor.intro.title": "Редактор маніфесту",
|
|
6447
7987
|
"tutorial.manifestEditor.intro.content": "Редагуйте маніфест у розділах на основі схеми. Перемикайте Форма ⇄ JSON для кожного розділу; перевірка з’являється в рядку стану.",
|
|
6448
7988
|
"tutorial.schemaForm.intro.title": "Форма за схемою",
|
|
7989
|
+
"workflowDesigner.name": "Назва",
|
|
7990
|
+
"workflowDesigner.type": "Тип",
|
|
7991
|
+
"workflowDesigner.select": "— Вибрати —",
|
|
7992
|
+
"workflowDesigner.simulate": "Симулювати",
|
|
7993
|
+
"workflowDesigner.stop": "Стоп",
|
|
7994
|
+
"workflowDesigner.test": "Тест",
|
|
7995
|
+
"workflowDesigner.publish": "Опублікувати",
|
|
7996
|
+
"workflowDesigner.export": "Експорт",
|
|
7997
|
+
"workflowDesigner.import": "Імпорт",
|
|
7998
|
+
"workflowDesigner.zoomIn": "Збільшити",
|
|
7999
|
+
"workflowDesigner.zoomOut": "Зменшити",
|
|
8000
|
+
"workflowDesigner.resetView": "Скинути вигляд",
|
|
8001
|
+
"workflowDesigner.simulateFlow": "Симулювати потік",
|
|
8002
|
+
"workflowDesigner.testProcess": "Тестувати процес",
|
|
8003
|
+
"workflowDesigner.publishProcess": "Опублікувати процес",
|
|
8004
|
+
"workflowDesigner.exportBpmn": "Експортувати BPMN XML",
|
|
8005
|
+
"workflowDesigner.importBpmn": "Імпортувати BPMN XML",
|
|
8006
|
+
"workflowDesigner.toolbar": "Панель інструментів робочого процесу",
|
|
8007
|
+
"workflowDesigner.bpmnToolbar": "Панель інструментів конструктора BPMN",
|
|
8008
|
+
"workflowDesigner.palette": "Палітра елементів BPMN",
|
|
8009
|
+
"workflowDesigner.canvas": "Полотно робочого процесу",
|
|
8010
|
+
"workflowDesigner.bpmnCanvas": "Полотно BPMN",
|
|
8011
|
+
"workflowDesigner.minimap": "Мінікарта",
|
|
8012
|
+
"workflowDesigner.expand": "Розгорнути",
|
|
8013
|
+
"workflowDesigner.collapse": "Згорнути",
|
|
8014
|
+
"workflowDesigner.connect": "З’єднати",
|
|
8015
|
+
"workflowDesigner.startConnect": "Почати з’єднання",
|
|
8016
|
+
"workflowDesigner.delete": "Видалити",
|
|
8017
|
+
"workflowDesigner.deleteElement": "Видалити елемент",
|
|
8018
|
+
"workflowDesigner.next": "Далі",
|
|
8019
|
+
"workflowDesigner.connectHint": "Натисніть на цільовий елемент, щоб з’єднати, або на порожнє місце, щоб скасувати",
|
|
8020
|
+
"workflowDesigner.properties": "Властивості",
|
|
8021
|
+
"workflowDesigner.propertiesOf": "Властивості: {name}",
|
|
8022
|
+
"workflowDesigner.assignee": "Призначено",
|
|
8023
|
+
"workflowDesigner.dueDate": "Термін",
|
|
8024
|
+
"workflowDesigner.dueDatePlaceholder": "P3D (3 дні)",
|
|
8025
|
+
"workflowDesigner.priority": "Пріоритет",
|
|
8026
|
+
"workflowDesigner.documentation": "Документація",
|
|
8027
|
+
"workflowDesigner.timer": "Таймер (ISO 8601)",
|
|
8028
|
+
"workflowDesigner.timerPlaceholder": "PT1H (1 година) або R3/PT1H (3 повторення)",
|
|
8029
|
+
"workflowDesigner.defaultFlow": "Потік за замовчуванням",
|
|
8030
|
+
"workflowDesigner.flowOf": "Потік: {name}",
|
|
8031
|
+
"workflowDesigner.condition": "Умова",
|
|
8032
|
+
"workflowDesigner.deleteFlow": "Видалити потік",
|
|
8033
|
+
"workflowDesigner.variables": "Змінні процесу",
|
|
8034
|
+
"workflowDesigner.addVariable": "Додати змінну",
|
|
8035
|
+
"workflowDesigner.simActiveElement": "Симуляція активна — поточний елемент:",
|
|
8036
|
+
"workflowDesigner.simActiveState": "Симуляція активна — поточний стан:",
|
|
8037
|
+
"workflowDesigner.endSimulation": "Завершити симуляцію",
|
|
8038
|
+
"workflowDesigner.addState": "Стан",
|
|
8039
|
+
"workflowDesigner.addApproval": "Затвердження",
|
|
8040
|
+
"workflowDesigner.newState": "Новий стан",
|
|
8041
|
+
"workflowDesigner.stateLabel": "Стан: {name}",
|
|
8042
|
+
"workflowDesigner.stateName": "Назва стану",
|
|
8043
|
+
"workflowDesigner.deleteState": "Видалити стан {name}",
|
|
8044
|
+
"workflowDesigner.stateProps": "Властивості стану",
|
|
8045
|
+
"workflowDesigner.stateType": "Тип стану",
|
|
8046
|
+
"workflowDesigner.val.noInitial": "Немає початкового стану",
|
|
8047
|
+
"workflowDesigner.val.multiInitial": "Більше одного початкового стану",
|
|
8048
|
+
"workflowDesigner.val.noFinal": "Немає кінцевого стану",
|
|
8049
|
+
"workflowDesigner.val.deadEnd": 'Стан "{name}" не має вихідних переходів (глухий кут)',
|
|
8050
|
+
"workflowDesigner.val.orphan": 'Стан "{name}" недосяжний (сирота)',
|
|
8051
|
+
"workflowDesigner.val.bpmnNoStart": "Процес повинен мати щонайменше одну початкову подію",
|
|
8052
|
+
"workflowDesigner.val.bpmnNoEnd": "Процес повинен мати щонайменше одну кінцеву подію",
|
|
8053
|
+
"workflowDesigner.val.startNoOut": 'Початкова подія "{name}" не має вихідного потоку',
|
|
8054
|
+
"workflowDesigner.val.endNoIn": 'Кінцева подія "{name}" не має вхідного потоку',
|
|
8055
|
+
"workflowDesigner.val.unreachable": 'Елемент "{name}" недосяжний',
|
|
8056
|
+
"workflowDesigner.val.elemNoOut": 'Елемент "{name}" не має вихідного потоку',
|
|
8057
|
+
"workflowDesigner.val.xorNoConditions": 'Виключний шлюз "{name}" повинен мати умови на потоках',
|
|
8058
|
+
"tutorial.workflowDesigner.toolbar.title": "Панель інструментів",
|
|
8059
|
+
"tutorial.workflowDesigner.toolbar.content": "Додавайте стани та затвердження, запустіть симуляцію, а потім протестуйте або опублікуйте робочий процес.",
|
|
8060
|
+
"tutorial.workflowDesigner.canvas.title": "Полотно",
|
|
8061
|
+
"tutorial.workflowDesigner.canvas.content": "Перетягуйте, щоб розташувати стани, клацніть один, щоб редагувати, і з’єднуйте їх у переходи.",
|
|
8062
|
+
"tutorial.workflowDesigner.minimap.title": "Мінікарта",
|
|
8063
|
+
"tutorial.workflowDesigner.minimap.content": "Огляд усього потоку з висоти пташиного польоту для швидкої навігації.",
|
|
8064
|
+
"entityEditor.col.name": "Назва",
|
|
8065
|
+
"entityEditor.col.displayName": "Відображувана назва",
|
|
8066
|
+
"entityEditor.col.table": "Таблиця",
|
|
8067
|
+
"entityEditor.col.fields": "Поля",
|
|
8068
|
+
"entityEditor.col.fields.help": "Кількість полів, визначених для цієї сутності",
|
|
8069
|
+
"entityEditor.col.flags": "Прапорці",
|
|
8070
|
+
"entityEditor.flag.audited": "Аудит — відстежує, хто і коли змінив кожен запис",
|
|
8071
|
+
"entityEditor.flag.audited.abbr": "Аудит",
|
|
8072
|
+
"entityEditor.flag.softDelete": "М’яке видалення — рядки позначаються як видалені, але фізично не вилучаються",
|
|
8073
|
+
"entityEditor.flag.softDelete.abbr": "М’яке вид.",
|
|
8074
|
+
"entityEditor.search": "Пошук сутностей…",
|
|
8075
|
+
"entityEditor.empty": "Сутностей ще немає. Створіть одну, щоб почати.",
|
|
8076
|
+
"entityEditor.new": "Нова сутність",
|
|
8077
|
+
"entityEditor.back": "Сутності",
|
|
8078
|
+
"entityEditor.backHint": "Назад до списку сутностей",
|
|
8079
|
+
"entityEditor.delete": "Видалити",
|
|
8080
|
+
"entityEditor.deleteHint": "Видалити цю сутність",
|
|
8081
|
+
"entityEditor.untitled": "Сутність без назви",
|
|
8082
|
+
"entityEditor.tab.general": "Загальне",
|
|
8083
|
+
"entityEditor.tab.fields": "Поля",
|
|
8084
|
+
"entityEditor.tab.validation": "Перевірка",
|
|
8085
|
+
"entityEditor.tab.er": "ER-діаграма",
|
|
8086
|
+
"entityEditor.field.name": "Назва",
|
|
8087
|
+
"entityEditor.field.type": "Тип",
|
|
8088
|
+
"entityEditor.field.flags": "Обмеження",
|
|
8089
|
+
"entityEditor.field.flags.help": "Обмеження ключа / обов’язковості / унікальності / індексу для цього поля",
|
|
8090
|
+
"entityEditor.flag.pk": "Первинний ключ",
|
|
8091
|
+
"entityEditor.flag.fk": "Зовнішній ключ",
|
|
8092
|
+
"entityEditor.flag.required": "Обов’язкове (NOT NULL)",
|
|
8093
|
+
"entityEditor.flag.unique": "Унікальне",
|
|
8094
|
+
"entityEditor.flag.indexed": "Індексоване",
|
|
8095
|
+
"entityEditor.field.back": "Поля",
|
|
8096
|
+
"entityEditor.field.backHint": "Назад до списку полів",
|
|
8097
|
+
"entityEditor.field.untitled": "Нове поле",
|
|
8098
|
+
"entityEditor.field.done": "Готово",
|
|
8099
|
+
"entityEditor.field.add": "Додати поле",
|
|
8100
|
+
"entityEditor.field.search": "Пошук полів…",
|
|
8101
|
+
"entityEditor.field.empty": "Полів ще немає. Додайте одне, щоб визначити цю сутність.",
|
|
8102
|
+
"tutorial.themeBuilder.presets.title": "Пресети",
|
|
8103
|
+
"tutorial.themeBuilder.presets.content": "Почніть із вбудованого пресету, потім налаштуйте — найшвидший шлях до узгодженої палітри.",
|
|
8104
|
+
"tutorial.themeBuilder.sections.title": "Секції токенів",
|
|
8105
|
+
"tutorial.themeBuilder.sections.content": "Редагуйте токени за секціями: кольори, фони, текст, межі, відступи й типографіка.",
|
|
8106
|
+
"tutorial.themeBuilder.preview.title": "Живий перегляд",
|
|
8107
|
+
"tutorial.themeBuilder.preview.content": "Кожна зміна миттєво відображається на зразкових компонентах, тож ви оцінюєте тему під час створення.",
|
|
8108
|
+
"tutorial.themeBuilder.export.title": "Назва, застосування та експорт",
|
|
8109
|
+
"tutorial.themeBuilder.export.content": "Назвіть тему, застосуйте її до сторінки або експортуйте як JSON / змінні CSS для повторного використання.",
|
|
8110
|
+
"dataSourceBuilder.namePlaceholder": "Назва джерела даних…",
|
|
8111
|
+
"dataSourceBuilder.nameAria": "Назва джерела даних",
|
|
8112
|
+
"tutorial.dataSourceBuilder.name.title": "Назва та ключ",
|
|
8113
|
+
"tutorial.dataSourceBuilder.name.content": "Дайте джерелу даних читабельну назву; його стабільний ключ (використовується поданнями) генерується автоматично та показується поруч.",
|
|
8114
|
+
"lifecycleHooks.enabled": "Увімкнено",
|
|
8115
|
+
"lifecycleHooks.handler": "Обробник",
|
|
8116
|
+
"lifecycleHooks.selectHandler": "— виберіть обробник —",
|
|
8117
|
+
"lifecycleHooks.handlerPlaceholder": "обробник (напр. scripts/on-create.js)",
|
|
8118
|
+
"lifecycleHooks.conditionPlaceholder": "умова (необов’язково)",
|
|
8119
|
+
"lifecycleHooks.condition": "Умова",
|
|
8120
|
+
"lifecycleHooks.moveUp": "Вгору",
|
|
8121
|
+
"lifecycleHooks.moveDown": "Вниз",
|
|
8122
|
+
"lifecycleHooks.removeBinding": "Видалити прив’язку",
|
|
8123
|
+
"lifecycleHooks.addHandler": "Додати обробник",
|
|
8124
|
+
"tutorial.lifecycleHooks.bindings.title": "Тригери та прив’язки",
|
|
8125
|
+
"tutorial.lifecycleHooks.bindings.content": "Кожен тригер перелічує свої прив’язані обробники. Додайте обробник, перемкніть прапорець увімкнення, змініть порядок і за потреби задайте умову, що керує виконанням.",
|
|
8126
|
+
"revisionHistory.revisions": "Версії",
|
|
8127
|
+
"revisionHistory.compare": "Порівняти",
|
|
8128
|
+
"revisionHistory.restore": "Відновити",
|
|
8129
|
+
"revisionHistory.diffEmpty": "Виберіть версію та вкажіть іншу для порівняння.",
|
|
8130
|
+
"tutorial.revisionHistory.list.title": "Версії",
|
|
8131
|
+
"tutorial.revisionHistory.list.content": "Виберіть версію, потім натисніть «Порівняти» на іншій, щоб зіставити їх. «Відновити» повертає до цієї версії.",
|
|
8132
|
+
"tutorial.revisionHistory.diff.title": "Відмінності",
|
|
8133
|
+
"tutorial.revisionHistory.diff.content": "Перегляньте відмінності між двома вибраними версіями поруч.",
|
|
8134
|
+
"accessManager.roles": "Ролі",
|
|
8135
|
+
"accessManager.newRole": "Нова роль…",
|
|
8136
|
+
"accessManager.newRoleAria": "Назва нової ролі",
|
|
8137
|
+
"accessManager.add": "Додати",
|
|
8138
|
+
"accessManager.removeRole": "Видалити роль",
|
|
8139
|
+
"accessManager.resources": "Ресурси",
|
|
8140
|
+
"accessManager.applyDescendants": "Застосувати до всіх нащадків",
|
|
8141
|
+
"accessManager.empty": "Виберіть ресурс, щоб редагувати його доступ.",
|
|
8142
|
+
"accessManager.collapse": "Згорнути",
|
|
8143
|
+
"accessManager.expand": "Розгорнути",
|
|
8144
|
+
"tutorial.accessManager.tree.title": "Ролі та ресурси",
|
|
8145
|
+
"tutorial.accessManager.tree.content": "Додавайте та видаляйте ролі, потім виберіть ресурс із дерева (модулі → подання / сутності / дії), щоб редагувати його доступ.",
|
|
8146
|
+
"tutorial.accessManager.matrix.title": "Матриця дозволів",
|
|
8147
|
+
"tutorial.accessManager.matrix.content": "Надайте кожній ролі її дії для вибраного ресурсу. Використовуйте групові елементи керування або «Застосувати до всіх нащадків», щоб каскадувати дозволи вниз по дереву.",
|
|
8148
|
+
"viewEditor.name": "Назва подання",
|
|
8149
|
+
"viewEditor.kindAria": "Тип подання",
|
|
8150
|
+
"viewEditor.kind.form": "Форма",
|
|
8151
|
+
"viewEditor.kind.detail": "Деталі",
|
|
8152
|
+
"viewEditor.kind.grid": "Сітка",
|
|
8153
|
+
"viewEditor.kind.dashboard": "Дашборд",
|
|
8154
|
+
"viewEditor.kind.content": "Вміст",
|
|
8155
|
+
"viewEditor.kind.report": "Звіт",
|
|
8156
|
+
"viewEditor.kind.print": "Друк",
|
|
8157
|
+
"viewEditor.kind.mix": "Мікс",
|
|
8158
|
+
"viewEditor.fromEntity": "Нове з сутності…",
|
|
8159
|
+
"viewEditor.fromEntityAria": "Нове подання з сутності",
|
|
8160
|
+
"viewEditor.export": "Експорт…",
|
|
8161
|
+
"viewEditor.exportAria": "Експортувати подання",
|
|
8162
|
+
"viewEditor.mode.design": "Дизайн",
|
|
8163
|
+
"viewEditor.mode.preview": "Перегляд",
|
|
8164
|
+
"viewEditor.mode.source": "Джерело",
|
|
8165
|
+
"viewEditor.valid": "✓ Дійсний",
|
|
8166
|
+
"viewEditor.save": "Зберегти",
|
|
8167
|
+
"viewEditor.add": "Додати",
|
|
8168
|
+
"viewEditor.cat.Inputs": "Поля вводу",
|
|
8169
|
+
"viewEditor.cat.Data": "Дані",
|
|
8170
|
+
"viewEditor.cat.BI": "BI",
|
|
8171
|
+
"viewEditor.cat.Actions": "Дії",
|
|
8172
|
+
"viewEditor.cat.Display": "Відображення",
|
|
8173
|
+
"viewEditor.pal.textInput": "Текст",
|
|
8174
|
+
"viewEditor.pal.textArea": "Текстова область",
|
|
8175
|
+
"viewEditor.pal.numberInput": "Число",
|
|
8176
|
+
"viewEditor.pal.select": "Вибір",
|
|
8177
|
+
"viewEditor.pal.checkbox": "Прапорець",
|
|
8178
|
+
"viewEditor.pal.datePicker": "Дата",
|
|
8179
|
+
"viewEditor.pal.dataGrid": "Сітка даних",
|
|
8180
|
+
"viewEditor.pal.chart": "Діаграма",
|
|
8181
|
+
"viewEditor.pal.kpi": "KPI",
|
|
8182
|
+
"viewEditor.pal.button": "Кнопка",
|
|
8183
|
+
"viewEditor.pal.text": "Текст",
|
|
8184
|
+
"viewEditor.pal.heading": "Заголовок",
|
|
8185
|
+
"viewEditor.pal.badge": "Бейдж",
|
|
8186
|
+
"viewEditor.pal.card": "Картка",
|
|
8187
|
+
"viewEditor.addRow": "Додати рядок",
|
|
8188
|
+
"viewEditor.canvasEmpty": "Додайте рядок, потім перетягніть контролі з палітри — або почніть із «Нове з сутності».",
|
|
8189
|
+
"viewEditor.removeCell": "Видалити клітинку",
|
|
8190
|
+
"viewEditor.emptyRow": "порожній рядок",
|
|
8191
|
+
"viewEditor.control": "Контроль",
|
|
8192
|
+
"viewEditor.cp.label": "Підпис",
|
|
8193
|
+
"viewEditor.cp.colSpan": "Ширина стовпця",
|
|
8194
|
+
"viewEditor.cp.binding": "Прив’язка",
|
|
8195
|
+
"viewEditor.cp.dataSource": "Джерело даних",
|
|
8196
|
+
"viewEditor.cp.none": "— немає —",
|
|
8197
|
+
"viewEditor.cp.field": "Поле",
|
|
8198
|
+
"viewEditor.cp.fieldPath": "шлях поля",
|
|
8199
|
+
"viewEditor.cp.twoWay": "Двостороннє",
|
|
8200
|
+
"viewEditor.cp.permissions": "Дозволи",
|
|
8201
|
+
"viewEditor.cp.role": "роль",
|
|
8202
|
+
"viewEditor.cp.addPermission": "Дозвіл",
|
|
8203
|
+
"viewEditor.cp.events": "Події",
|
|
8204
|
+
"viewEditor.cp.eventPlaceholder": "подія (onClick / onValueChange…)",
|
|
8205
|
+
"viewEditor.cp.removeEvent": "Видалити подію",
|
|
8206
|
+
"viewEditor.cp.addEvent": "Подія",
|
|
8207
|
+
"viewEditor.remove": "Видалити",
|
|
8208
|
+
"viewEditor.ds.title": "Джерела даних",
|
|
8209
|
+
"viewEditor.ds.hint": "Виберіть контроль, щоб редагувати його props, прив’язку та події.",
|
|
8210
|
+
"viewEditor.ds.key": "ключ",
|
|
8211
|
+
"viewEditor.ds.endpoint": "кінцева точка",
|
|
8212
|
+
"viewEditor.ds.autoLoad": "автозавантаження",
|
|
8213
|
+
"viewEditor.ds.add": "Джерело даних",
|
|
8214
|
+
"tutorial.viewEditor.palette.title": "Палітра",
|
|
8215
|
+
"tutorial.viewEditor.palette.content": "Додавайте контролі з палітри в сітку — поля вводу, сітки даних, діаграми, KPI, кнопки та блоки відображення.",
|
|
8216
|
+
"tutorial.viewEditor.canvas.title": "Полотно",
|
|
8217
|
+
"tutorial.viewEditor.canvas.content": "Розташовуйте клітинки в рядки та задавайте ширину стовпця кожної клітинки. Клацніть клітинку, щоб налаштувати її.",
|
|
8218
|
+
"tutorial.viewEditor.props.title": "Властивості",
|
|
8219
|
+
"tutorial.viewEditor.props.content": "Налаштуйте вибраний контроль: props, прив’язку даних, дозволи ролей і дії подій. Коли нічого не вибрано, керуйте джерелами даних подання.",
|
|
8220
|
+
"tutorial.viewEditor.modes.title": "Дизайн / Перегляд / Джерело",
|
|
8221
|
+
"tutorial.viewEditor.modes.content": "Перемикайтеся між візуальним дизайнером, живим переглядом і необробленим JSON NiceViewDefinition. Зберігайте, коли подання дійсне.",
|
|
8222
|
+
"manifestEditor.tab.scripts": "Скрипти",
|
|
8223
|
+
"manifestEditor.tab.lifecycle": "Життєвий цикл",
|
|
8224
|
+
"manifestEditor.tab.history": "Історія",
|
|
8225
|
+
"manifestEditor.status.valid": "✓ Дійсний",
|
|
8226
|
+
"manifestEditor.status.issues": "проблем",
|
|
8227
|
+
"manifestEditor.sections": "секцій",
|
|
8228
|
+
"manifestEditor.output": "Вивід",
|
|
8229
|
+
"tutorial.manifestEditor.sections.title": "Секції",
|
|
8230
|
+
"tutorial.manifestEditor.sections.content": "Маніфест поділено на секції на основі схеми — перемикайтеся між ними вкладками вгорі.",
|
|
8231
|
+
"tutorial.manifestEditor.json.title": "Форма ⇄ JSON",
|
|
8232
|
+
"tutorial.manifestEditor.json.content": "Кожну секцію можна редагувати як візуальну форму або як необроблений JSON — скористайтеся перемикачем у секції.",
|
|
8233
|
+
"i18nEditor.keyHead": "Ключ",
|
|
8234
|
+
"i18nEditor.removeLocale": "Видалити мову",
|
|
8235
|
+
"i18nEditor.keyAria": "Ключ перекладу",
|
|
8236
|
+
"i18nEditor.removeKey": "Видалити ключ",
|
|
8237
|
+
"i18nEditor.empty": "Поки немає ключів перекладу.",
|
|
8238
|
+
"i18nEditor.newKeyPlaceholder": "новий.ключ",
|
|
8239
|
+
"i18nEditor.newKeyAria": "Новий ключ",
|
|
8240
|
+
"i18nEditor.addKey": "Ключ",
|
|
8241
|
+
"i18nEditor.newLocalePlaceholder": "мова (напр. de)",
|
|
8242
|
+
"i18nEditor.newLocaleAria": "Нова мова",
|
|
8243
|
+
"i18nEditor.addLocale": "Мова",
|
|
8244
|
+
"tutorial.i18nEditor.grid.title": "Ключі × мови",
|
|
8245
|
+
"tutorial.i18nEditor.grid.content": "Кожен рядок — ключ перекладу, а кожна колонка — мова. Відредагуйте клітинку, щоб задати переклад; бурштинові клітинки досі порожні.",
|
|
8246
|
+
"tutorial.i18nEditor.add.title": "Додати ключі та мови",
|
|
8247
|
+
"tutorial.i18nEditor.add.content": "Додайте тут новий ключ перекладу або нову колонку мови; нові клітинки порожні й позначені як відсутні.",
|
|
8248
|
+
"moduleEditor.tab.entities": "Сутності",
|
|
8249
|
+
"moduleEditor.tab.i18n": "i18n",
|
|
8250
|
+
"moduleEditor.tab.views": "Подання",
|
|
8251
|
+
"moduleEditor.tab.workflows": "Процеси",
|
|
8252
|
+
"moduleEditor.tab.data": "Дані",
|
|
8253
|
+
"moduleEditor.tab.permissions": "Дозволи",
|
|
8254
|
+
"moduleEditor.tab.scripts": "Скрипти",
|
|
8255
|
+
"moduleEditor.tab.lifecycle": "Життєвий цикл",
|
|
8256
|
+
"moduleEditor.tab.history": "Історія",
|
|
8257
|
+
"moduleEditor.tab.source": "Джерело",
|
|
8258
|
+
"moduleEditor.status.valid": "✓ Дійсний",
|
|
8259
|
+
"moduleEditor.status.issues": "проблем",
|
|
8260
|
+
"moduleEditor.searchModules": "Пошук модулів…",
|
|
8261
|
+
"moduleEditor.loading": "Завантаження…",
|
|
8262
|
+
"moduleEditor.noModules": "Немає модулів. Спершу відкрийте джерело.",
|
|
8263
|
+
"moduleEditor.title": "Редактор модулів",
|
|
8264
|
+
"moduleEditor.refresh": "Оновити",
|
|
8265
|
+
"moduleEditor.validate": "Перевірити",
|
|
8266
|
+
"moduleEditor.saving": "Збереження…",
|
|
8267
|
+
"moduleEditor.save": "Зберегти",
|
|
8268
|
+
"moduleEditor.output": "Вивід",
|
|
8269
|
+
"moduleEditor.placeholder": "Виберіть модуль ліворуч, щоб почати редагування.",
|
|
8270
|
+
"moduleEditor.delete": "Видалити",
|
|
8271
|
+
"moduleEditor.views.select": "Вибрати подання",
|
|
8272
|
+
"moduleEditor.views.placeholder": "— виберіть подання —",
|
|
8273
|
+
"moduleEditor.views.new": "Нове подання",
|
|
8274
|
+
"moduleEditor.views.empty": "Подання не вибрано. Створіть його, а потім скористайтеся «Нове з сутності» в редакторі.",
|
|
8275
|
+
"moduleEditor.workflows.select": "Вибрати процес",
|
|
8276
|
+
"moduleEditor.workflows.placeholder": "— виберіть процес —",
|
|
8277
|
+
"moduleEditor.workflows.new": "Новий процес",
|
|
8278
|
+
"moduleEditor.workflows.empty": "Процес не вибрано. Створіть його, щоб проєктувати стани та переходи.",
|
|
8279
|
+
"moduleEditor.data.select": "Вибрати джерело даних",
|
|
8280
|
+
"moduleEditor.data.placeholder": "— виберіть джерело даних —",
|
|
8281
|
+
"moduleEditor.data.new": "Нове джерело даних",
|
|
8282
|
+
"moduleEditor.data.empty": "Джерело даних не вибрано. Створіть його, щоб побудувати запит зі схеми модуля.",
|
|
8283
|
+
"tutorial.moduleEditor.intro.title": "Редактор модулів",
|
|
8284
|
+
"tutorial.moduleEditor.intro.content": "Проєктуйте цілий модуль від початку до кінця — маніфест, сутності, переклади, подання, процеси, джерела даних і дозволи — потім перевіряйте та зберігайте.",
|
|
8285
|
+
"tutorial.moduleEditor.tabs.title": "Частини модуля",
|
|
8286
|
+
"tutorial.moduleEditor.tabs.content": "Кожна вкладка редагує одну частину модуля: секції маніфесту, сутності, i18n, подання, процеси, джерела даних, дозволи тощо.",
|
|
8287
|
+
"tutorial.moduleEditor.output.title": "Вивід",
|
|
8288
|
+
"tutorial.moduleEditor.output.content": "Тут реєструються результати перевірки та дії завантаження/збереження.",
|
|
8289
|
+
"tutorial.schemaForm.viewToggle.title": "Форма ⇄ JSON",
|
|
8290
|
+
"tutorial.schemaForm.viewToggle.content": "Перемикайтеся між візуальною формою та необробленим значенням JSON — зручно для досвідчених користувачів і копіювання.",
|
|
8291
|
+
"tutorial.schemaForm.validation.title": "Валідація в реальному часі",
|
|
8292
|
+
"tutorial.schemaForm.validation.content": "Значення перевіряються за схемою під час введення; будь-які проблеми перелічені під формою.",
|
|
8293
|
+
"schemaForm.tab.form": "Форма",
|
|
8294
|
+
"schemaForm.tab.json": "JSON",
|
|
8295
|
+
"schemaForm.tab.json.help": "Редагувати необроблене значення JSON напряму",
|
|
8296
|
+
"schemaForm.invalidJson": "Некоректний JSON",
|
|
6449
8297
|
"tutorial.schemaForm.intro.content": "Ця форма генерується зі схеми. Обов’язкові поля та помилки перевірки підсвічуються; використовуйте перемикач JSON для прямого редагування.",
|
|
6450
8298
|
"tutorial.entityEditor.intro.title": "Редактор сутностей",
|
|
6451
8299
|
"tutorial.entityEditor.intro.content": "Додавайте сутності ліворуч, а праворуч редагуйте метадані кожної сутності та її поля (тип, ключі, обмеження).",
|
|
@@ -7297,7 +9145,7 @@ const x = [
|
|
|
7297
9145
|
"wm.minimizeAll": "すべて最小化",
|
|
7298
9146
|
"wm.newWindow": "新しいウィンドウ",
|
|
7299
9147
|
"wm.moveToFront": "最前面に移動"
|
|
7300
|
-
},
|
|
9148
|
+
}, He = {
|
|
7301
9149
|
ok: "확인",
|
|
7302
9150
|
cancel: "취소",
|
|
7303
9151
|
save: "저장",
|
|
@@ -7660,7 +9508,7 @@ const x = [
|
|
|
7660
9508
|
"wm.minimizeAll": "모두 최소화",
|
|
7661
9509
|
"wm.newWindow": "새 창",
|
|
7662
9510
|
"wm.moveToFront": "맨 앞으로"
|
|
7663
|
-
},
|
|
9511
|
+
}, Ve = {
|
|
7664
9512
|
ok: "确定",
|
|
7665
9513
|
cancel: "取消",
|
|
7666
9514
|
save: "保存",
|
|
@@ -8397,7 +10245,7 @@ const x = [
|
|
|
8397
10245
|
error: "त्रुटि",
|
|
8398
10246
|
success: "सफलता",
|
|
8399
10247
|
search: "खोजें"
|
|
8400
|
-
},
|
|
10248
|
+
}, Ke = {
|
|
8401
10249
|
ok: "ঠিক আছে",
|
|
8402
10250
|
cancel: "বাতিল",
|
|
8403
10251
|
save: "সংরক্ষণ",
|
|
@@ -8408,7 +10256,7 @@ const x = [
|
|
|
8408
10256
|
error: "ত্রুটি",
|
|
8409
10257
|
success: "সফল",
|
|
8410
10258
|
search: "অনুসন্ধান"
|
|
8411
|
-
},
|
|
10259
|
+
}, Ue = {
|
|
8412
10260
|
ok: "ตกลง",
|
|
8413
10261
|
cancel: "ยกเลิก",
|
|
8414
10262
|
save: "บันทึก",
|
|
@@ -8419,7 +10267,7 @@ const x = [
|
|
|
8419
10267
|
error: "ข้อผิดพลาด",
|
|
8420
10268
|
success: "สำเร็จ",
|
|
8421
10269
|
search: "ค้นหา"
|
|
8422
|
-
},
|
|
10270
|
+
}, Ze = {
|
|
8423
10271
|
ok: "OK",
|
|
8424
10272
|
cancel: "Hủy",
|
|
8425
10273
|
save: "Lưu",
|
|
@@ -8430,7 +10278,7 @@ const x = [
|
|
|
8430
10278
|
error: "Lỗi",
|
|
8431
10279
|
success: "Thành công",
|
|
8432
10280
|
search: "Tìm kiếm"
|
|
8433
|
-
},
|
|
10281
|
+
}, Ge = {
|
|
8434
10282
|
ok: "OK",
|
|
8435
10283
|
cancel: "Batal",
|
|
8436
10284
|
save: "Simpan",
|
|
@@ -8474,34 +10322,34 @@ const x = [
|
|
|
8474
10322
|
error: "Ralat",
|
|
8475
10323
|
success: "Berjaya",
|
|
8476
10324
|
search: "Cari"
|
|
8477
|
-
},
|
|
10325
|
+
}, E = {
|
|
8478
10326
|
en: ke,
|
|
8479
10327
|
pl: ye,
|
|
8480
10328
|
de: ze,
|
|
8481
|
-
fr:
|
|
8482
|
-
es:
|
|
10329
|
+
fr: Se,
|
|
10330
|
+
es: Ce,
|
|
8483
10331
|
it: De,
|
|
8484
10332
|
pt: je,
|
|
8485
10333
|
nl: Ae,
|
|
8486
10334
|
sv: Pe,
|
|
8487
|
-
no:
|
|
8488
|
-
da:
|
|
10335
|
+
no: xe,
|
|
10336
|
+
da: Te,
|
|
8489
10337
|
fi: Be,
|
|
8490
|
-
cs:
|
|
8491
|
-
sk:
|
|
8492
|
-
hu:
|
|
10338
|
+
cs: Ne,
|
|
10339
|
+
sk: Me,
|
|
10340
|
+
hu: Fe,
|
|
8493
10341
|
ro: Re,
|
|
8494
10342
|
bg: Le,
|
|
8495
10343
|
uk: Oe,
|
|
8496
10344
|
ja: Ie,
|
|
8497
|
-
ko:
|
|
8498
|
-
zh:
|
|
10345
|
+
ko: He,
|
|
10346
|
+
zh: Ve,
|
|
8499
10347
|
ar: qe,
|
|
8500
10348
|
hi: We,
|
|
8501
|
-
bn:
|
|
8502
|
-
th:
|
|
8503
|
-
vi:
|
|
8504
|
-
id:
|
|
10349
|
+
bn: Ke,
|
|
10350
|
+
th: Ue,
|
|
10351
|
+
vi: Ze,
|
|
10352
|
+
id: Ge,
|
|
8505
10353
|
sw: Je,
|
|
8506
10354
|
fil: Xe,
|
|
8507
10355
|
ms: Ye
|
|
@@ -8557,29 +10405,29 @@ const x = [
|
|
|
8557
10405
|
"pl-PL": { formal: X, informal: Y },
|
|
8558
10406
|
pl: { formal: X, informal: Y }
|
|
8559
10407
|
};
|
|
8560
|
-
function
|
|
10408
|
+
function Ut(e) {
|
|
8561
10409
|
var t;
|
|
8562
|
-
return { ...
|
|
10410
|
+
return { ...E.pl, ...((t = $e.pl) == null ? void 0 : t[e]) ?? {} };
|
|
8563
10411
|
}
|
|
8564
|
-
const
|
|
10412
|
+
const Qe = (e, t) => t, te = I(Qe), Zt = ({
|
|
8565
10413
|
t: e,
|
|
8566
10414
|
lang: t = "en",
|
|
8567
10415
|
overrides: i,
|
|
8568
10416
|
children: o
|
|
8569
10417
|
}) => {
|
|
8570
|
-
const r =
|
|
10418
|
+
const r = f(() => {
|
|
8571
10419
|
if (e)
|
|
8572
10420
|
return e;
|
|
8573
|
-
const a =
|
|
10421
|
+
const a = E[t] ?? E.en, n = i ? { ...a, ...i } : a;
|
|
8574
10422
|
return (s, l) => n[s] ?? l;
|
|
8575
10423
|
}, [e, t, i]);
|
|
8576
10424
|
return /* @__PURE__ */ O(te.Provider, { value: r, children: o });
|
|
8577
10425
|
};
|
|
8578
|
-
function
|
|
10426
|
+
function Gt() {
|
|
8579
10427
|
return { t: B(te) };
|
|
8580
10428
|
}
|
|
8581
10429
|
function Jt(e = "en", t) {
|
|
8582
|
-
const i =
|
|
10430
|
+
const i = E[e] ?? E.en, o = t ? { ...i, ...t } : i;
|
|
8583
10431
|
return (r, a) => o[r] ?? a;
|
|
8584
10432
|
}
|
|
8585
10433
|
function Xt(e, t = {}) {
|
|
@@ -8595,15 +10443,15 @@ function Xt(e, t = {}) {
|
|
|
8595
10443
|
}
|
|
8596
10444
|
), i;
|
|
8597
10445
|
}
|
|
8598
|
-
function
|
|
8599
|
-
return
|
|
10446
|
+
function _e(e) {
|
|
10447
|
+
return T.includes(e);
|
|
8600
10448
|
}
|
|
8601
10449
|
function Yt() {
|
|
8602
10450
|
var t;
|
|
8603
10451
|
if (typeof navigator > "u")
|
|
8604
10452
|
return "en";
|
|
8605
10453
|
const e = (t = navigator.language) == null ? void 0 : t.split("-")[0];
|
|
8606
|
-
return
|
|
10454
|
+
return _e(e) ? e : "en";
|
|
8607
10455
|
}
|
|
8608
10456
|
function oe(e, t) {
|
|
8609
10457
|
var a;
|
|
@@ -8777,7 +10625,7 @@ function it(e, t, i) {
|
|
|
8777
10625
|
}
|
|
8778
10626
|
return new Intl.DateTimeFormat(t, r).format(o);
|
|
8779
10627
|
}
|
|
8780
|
-
function
|
|
10628
|
+
function V(e, t, i) {
|
|
8781
10629
|
return e.replace(/#/g, String(i));
|
|
8782
10630
|
}
|
|
8783
10631
|
function rt(e, t = {}, i = {}) {
|
|
@@ -8801,20 +10649,20 @@ function rt(e, t = {}, i = {}) {
|
|
|
8801
10649
|
case "plural": {
|
|
8802
10650
|
if (typeof d != "number" || !l.options)
|
|
8803
10651
|
return n;
|
|
8804
|
-
const u = oe(d, o),
|
|
8805
|
-
return
|
|
10652
|
+
const u = oe(d, o), w = `=${d}`, p = l.options[w] ?? l.options[u] ?? l.options.other ?? "";
|
|
10653
|
+
return V(p, l.name, d);
|
|
8806
10654
|
}
|
|
8807
10655
|
case "selectordinal": {
|
|
8808
10656
|
if (typeof d != "number" || !l.options)
|
|
8809
10657
|
return n;
|
|
8810
|
-
const u = ie(d, o),
|
|
8811
|
-
return
|
|
10658
|
+
const u = ie(d, o), w = l.options[u] ?? l.options.other ?? "";
|
|
10659
|
+
return V(w, l.name, d);
|
|
8812
10660
|
}
|
|
8813
10661
|
case "select": {
|
|
8814
10662
|
if (!l.options)
|
|
8815
10663
|
return n;
|
|
8816
10664
|
const u = l.options[String(d)] ?? l.options.other ?? "";
|
|
8817
|
-
return
|
|
10665
|
+
return V(u, l.name, d);
|
|
8818
10666
|
}
|
|
8819
10667
|
default:
|
|
8820
10668
|
return n;
|
|
@@ -8827,11 +10675,11 @@ function $t(e, t = "en") {
|
|
|
8827
10675
|
return a ? rt(n, a, { lang: t }) : n;
|
|
8828
10676
|
};
|
|
8829
10677
|
}
|
|
8830
|
-
function
|
|
10678
|
+
function Qt(e, t, i = "en") {
|
|
8831
10679
|
const o = oe(e, i);
|
|
8832
10680
|
return (t[o] ?? t.other).replace(/#/g, String(e));
|
|
8833
10681
|
}
|
|
8834
|
-
function
|
|
10682
|
+
function _t(e, t, i = "en") {
|
|
8835
10683
|
const o = ie(e, i);
|
|
8836
10684
|
return (t[o] ?? t.other).replace(/#/g, String(e));
|
|
8837
10685
|
}
|
|
@@ -8913,7 +10761,7 @@ function ct(e) {
|
|
|
8913
10761
|
"text-align: right": "text-align: end"
|
|
8914
10762
|
}[e] || e;
|
|
8915
10763
|
}
|
|
8916
|
-
const
|
|
10764
|
+
const Z = I({
|
|
8917
10765
|
dir: "ltr",
|
|
8918
10766
|
isRTL: !1,
|
|
8919
10767
|
flip: (e) => e,
|
|
@@ -8927,7 +10775,7 @@ const G = I({
|
|
|
8927
10775
|
L(() => {
|
|
8928
10776
|
t && st(e);
|
|
8929
10777
|
}, [e, t]);
|
|
8930
|
-
const a =
|
|
10778
|
+
const a = f(
|
|
8931
10779
|
() => ({
|
|
8932
10780
|
dir: r,
|
|
8933
10781
|
isRTL: o,
|
|
@@ -8936,13 +10784,13 @@ const G = I({
|
|
|
8936
10784
|
}),
|
|
8937
10785
|
[r, o]
|
|
8938
10786
|
);
|
|
8939
|
-
return /* @__PURE__ */ O(
|
|
10787
|
+
return /* @__PURE__ */ O(Z.Provider, { value: a, children: i });
|
|
8940
10788
|
};
|
|
8941
10789
|
function ro() {
|
|
8942
|
-
return B(
|
|
10790
|
+
return B(Z);
|
|
8943
10791
|
}
|
|
8944
10792
|
function ao() {
|
|
8945
|
-
return B(
|
|
10793
|
+
return B(Z).isRTL;
|
|
8946
10794
|
}
|
|
8947
10795
|
function no(e) {
|
|
8948
10796
|
const t = [], i = [
|
|
@@ -8975,18 +10823,18 @@ function so(e) {
|
|
|
8975
10823
|
};
|
|
8976
10824
|
}
|
|
8977
10825
|
function lo() {
|
|
8978
|
-
return Object.keys(
|
|
10826
|
+
return Object.keys(E.en);
|
|
8979
10827
|
}
|
|
8980
10828
|
function ut(e) {
|
|
8981
10829
|
if (e === "en")
|
|
8982
10830
|
return [];
|
|
8983
|
-
const t =
|
|
10831
|
+
const t = E.en, i = E[e], o = [];
|
|
8984
10832
|
for (const [r, a] of Object.entries(t))
|
|
8985
10833
|
i[r] || o.push({ key: r, englishValue: a });
|
|
8986
10834
|
return o;
|
|
8987
10835
|
}
|
|
8988
10836
|
function pt(e) {
|
|
8989
|
-
const t = Object.keys(
|
|
10837
|
+
const t = Object.keys(E.en).length, i = Object.keys(E[e]).length, o = t - i, r = Math.round(i / t * 100);
|
|
8990
10838
|
return {
|
|
8991
10839
|
lang: e,
|
|
8992
10840
|
totalKeys: t,
|
|
@@ -8996,7 +10844,7 @@ function pt(e) {
|
|
|
8996
10844
|
};
|
|
8997
10845
|
}
|
|
8998
10846
|
function mt() {
|
|
8999
|
-
return
|
|
10847
|
+
return T.map((e) => pt(e));
|
|
9000
10848
|
}
|
|
9001
10849
|
function co(e, t) {
|
|
9002
10850
|
const i = t.map((o) => {
|
|
@@ -9086,22 +10934,22 @@ function ht(e, t = "medium") {
|
|
|
9086
10934
|
const n = r instanceof Date ? r : new Date(r), s = a instanceof Date ? a : new Date(a);
|
|
9087
10935
|
return o.formatRange(n, s);
|
|
9088
10936
|
},
|
|
9089
|
-
formatRelative: (r) =>
|
|
10937
|
+
formatRelative: (r) => Et(r instanceof Date ? r : new Date(r), i)
|
|
9090
10938
|
};
|
|
9091
10939
|
}
|
|
9092
10940
|
function po(e, t = "medium") {
|
|
9093
|
-
return
|
|
10941
|
+
return f(() => ht(e, t), [e, t]);
|
|
9094
10942
|
}
|
|
9095
|
-
function
|
|
10943
|
+
function wt(e, t = "short") {
|
|
9096
10944
|
const i = D(e), o = new Intl.DateTimeFormat(i, { timeStyle: t });
|
|
9097
10945
|
return {
|
|
9098
10946
|
format: (r) => o.format(r instanceof Date ? r : new Date(r))
|
|
9099
10947
|
};
|
|
9100
10948
|
}
|
|
9101
10949
|
function mo(e, t = "short") {
|
|
9102
|
-
return
|
|
10950
|
+
return f(() => wt(e, t), [e, t]);
|
|
9103
10951
|
}
|
|
9104
|
-
function
|
|
10952
|
+
function vt(e) {
|
|
9105
10953
|
const t = D(e);
|
|
9106
10954
|
return {
|
|
9107
10955
|
format: (i) => new Intl.NumberFormat(t).format(i),
|
|
@@ -9110,18 +10958,18 @@ function ft(e) {
|
|
|
9110
10958
|
};
|
|
9111
10959
|
}
|
|
9112
10960
|
function go(e) {
|
|
9113
|
-
return
|
|
10961
|
+
return f(() => vt(e), [e]);
|
|
9114
10962
|
}
|
|
9115
|
-
function
|
|
10963
|
+
function ft(e, t = "USD") {
|
|
9116
10964
|
const i = D(e), o = new Intl.NumberFormat(i, { style: "currency", currency: t });
|
|
9117
10965
|
return {
|
|
9118
10966
|
format: (r) => o.format(r)
|
|
9119
10967
|
};
|
|
9120
10968
|
}
|
|
9121
10969
|
function ho(e, t = "USD") {
|
|
9122
|
-
return
|
|
10970
|
+
return f(() => ft(e, t), [e, t]);
|
|
9123
10971
|
}
|
|
9124
|
-
function
|
|
10972
|
+
function Et(e, t) {
|
|
9125
10973
|
const i = Date.now(), o = e.getTime() - i, r = Math.abs(o), a = new Intl.RelativeTimeFormat(t, { numeric: "auto" });
|
|
9126
10974
|
return r < 6e4 ? a.format(Math.round(o / 1e3), "second") : r < 36e5 ? a.format(Math.round(o / 6e4), "minute") : r < 864e5 ? a.format(Math.round(o / 36e5), "hour") : r < 2592e6 ? a.format(Math.round(o / 864e5), "day") : r < 31536e6 ? a.format(Math.round(o / 2592e6), "month") : a.format(Math.round(o / 31536e6), "year");
|
|
9127
10975
|
}
|
|
@@ -9277,12 +11125,12 @@ const ae = [
|
|
|
9277
11125
|
}
|
|
9278
11126
|
}
|
|
9279
11127
|
];
|
|
9280
|
-
function
|
|
11128
|
+
function bt(e, t) {
|
|
9281
11129
|
const i = ae.find((o) => o.en.toLowerCase() === e.toLowerCase());
|
|
9282
11130
|
return i == null ? void 0 : i.translations[t];
|
|
9283
11131
|
}
|
|
9284
|
-
function
|
|
9285
|
-
const o =
|
|
11132
|
+
function wo(e, t, i = 0.8) {
|
|
11133
|
+
const o = E.en, r = E[t], a = e.toLowerCase().trim();
|
|
9286
11134
|
let n;
|
|
9287
11135
|
for (const [s, l] of Object.entries(o)) {
|
|
9288
11136
|
const d = r[s];
|
|
@@ -9293,16 +11141,16 @@ function vo(e, t, i = 0.8) {
|
|
|
9293
11141
|
}
|
|
9294
11142
|
return n;
|
|
9295
11143
|
}
|
|
9296
|
-
function
|
|
11144
|
+
function vo(e) {
|
|
9297
11145
|
return ae.filter((t) => t.translations[e] != null).map((t) => ({
|
|
9298
11146
|
en: t.en,
|
|
9299
11147
|
translation: t.translations[e]
|
|
9300
11148
|
}));
|
|
9301
11149
|
}
|
|
9302
|
-
function
|
|
9303
|
-
const t =
|
|
11150
|
+
function fo(e) {
|
|
11151
|
+
const t = E[e], i = E.en, o = [];
|
|
9304
11152
|
for (const [r, a] of Object.entries(i)) {
|
|
9305
|
-
const n =
|
|
11153
|
+
const n = bt(a, e), s = t[r];
|
|
9306
11154
|
n && s && s !== n && o.push({ key: r, currentTranslation: s, glossaryTranslation: n });
|
|
9307
11155
|
}
|
|
9308
11156
|
return o;
|
|
@@ -9385,45 +11233,45 @@ const ne = {
|
|
|
9385
11233
|
"Pacific/Fiji"
|
|
9386
11234
|
]
|
|
9387
11235
|
};
|
|
9388
|
-
function
|
|
11236
|
+
function G() {
|
|
9389
11237
|
try {
|
|
9390
11238
|
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
9391
11239
|
} catch {
|
|
9392
11240
|
return "UTC";
|
|
9393
11241
|
}
|
|
9394
11242
|
}
|
|
9395
|
-
function
|
|
11243
|
+
function Eo(e) {
|
|
9396
11244
|
try {
|
|
9397
11245
|
return new Intl.DateTimeFormat("en", { timeZone: e }), !0;
|
|
9398
11246
|
} catch {
|
|
9399
11247
|
return !1;
|
|
9400
11248
|
}
|
|
9401
11249
|
}
|
|
9402
|
-
function
|
|
9403
|
-
var
|
|
11250
|
+
function N(e, t = "en", i = /* @__PURE__ */ new Date()) {
|
|
11251
|
+
var b, M;
|
|
9404
11252
|
const o = D(t), r = new Intl.DateTimeFormat(o, {
|
|
9405
11253
|
timeZone: e,
|
|
9406
11254
|
timeZoneName: "long"
|
|
9407
11255
|
}), a = new Intl.DateTimeFormat(o, {
|
|
9408
11256
|
timeZone: e,
|
|
9409
11257
|
timeZoneName: "short"
|
|
9410
|
-
}), n = r.formatToParts(i), s = a.formatToParts(i), l = ((
|
|
11258
|
+
}), n = r.formatToParts(i), s = a.formatToParts(i), l = ((b = n.find((A) => A.type === "timeZoneName")) == null ? void 0 : b.value) || e, d = ((M = s.find((A) => A.type === "timeZoneName")) == null ? void 0 : M.value) || e, u = new Date(i.toLocaleString("en-US", { timeZone: "UTC" })), w = new Date(i.toLocaleString("en-US", { timeZone: e })), p = Math.round((w.getTime() - u.getTime()) / 6e4), m = new Date(i.getFullYear(), 0, 1), v = new Date(i.getFullYear(), 6, 1), g = K(e, m), y = K(e, v), z = K(e, i), k = Math.min(g, y), j = z !== k && g !== y;
|
|
9411
11259
|
return {
|
|
9412
11260
|
id: e,
|
|
9413
11261
|
displayName: l,
|
|
9414
11262
|
shortName: d,
|
|
9415
11263
|
offsetMinutes: p,
|
|
9416
|
-
offsetString:
|
|
11264
|
+
offsetString: Ct(p),
|
|
9417
11265
|
isDST: j
|
|
9418
11266
|
};
|
|
9419
11267
|
}
|
|
9420
|
-
function
|
|
9421
|
-
return Object.values(ne).flat().map((o) =>
|
|
11268
|
+
function bo(e = "en", t = /* @__PURE__ */ new Date()) {
|
|
11269
|
+
return Object.values(ne).flat().map((o) => N(o, e, t));
|
|
9422
11270
|
}
|
|
9423
11271
|
function ko(e = "en", t = /* @__PURE__ */ new Date()) {
|
|
9424
11272
|
const i = {};
|
|
9425
11273
|
for (const [o, r] of Object.entries(ne))
|
|
9426
|
-
i[o] = r.map((a) =>
|
|
11274
|
+
i[o] = r.map((a) => N(a, e, t));
|
|
9427
11275
|
return i;
|
|
9428
11276
|
}
|
|
9429
11277
|
function se(e, t, i) {
|
|
@@ -9431,14 +11279,14 @@ function se(e, t, i) {
|
|
|
9431
11279
|
return new Date(e.getTime() + s);
|
|
9432
11280
|
}
|
|
9433
11281
|
function yt(e, t) {
|
|
9434
|
-
const i = t ||
|
|
11282
|
+
const i = t || G();
|
|
9435
11283
|
return se(e, i, "UTC");
|
|
9436
11284
|
}
|
|
9437
11285
|
function zt(e, t) {
|
|
9438
|
-
const i = t ||
|
|
11286
|
+
const i = t || G();
|
|
9439
11287
|
return se(e, "UTC", i);
|
|
9440
11288
|
}
|
|
9441
|
-
function
|
|
11289
|
+
function St(e, t, i = {}) {
|
|
9442
11290
|
const o = D(e), { dateStyle: r = "medium", timeStyle: a = "short", nameStyle: n = "short" } = i, s = new Intl.DateTimeFormat(o, {
|
|
9443
11291
|
timeZone: t,
|
|
9444
11292
|
dateStyle: r,
|
|
@@ -9455,7 +11303,7 @@ function Ct(e, t, i = {}) {
|
|
|
9455
11303
|
return {
|
|
9456
11304
|
format: (u) => s.format(u),
|
|
9457
11305
|
formatWithZone: (u) => l.format(u),
|
|
9458
|
-
getOffset: (u) =>
|
|
11306
|
+
getOffset: (u) => N(t, e, u).offsetString,
|
|
9459
11307
|
getAbbreviation: (u) => {
|
|
9460
11308
|
var p;
|
|
9461
11309
|
return ((p = d.formatToParts(u).find((m) => m.type === "timeZoneName")) == null ? void 0 : p.value) || "";
|
|
@@ -9463,7 +11311,7 @@ function Ct(e, t, i = {}) {
|
|
|
9463
11311
|
};
|
|
9464
11312
|
}
|
|
9465
11313
|
function W(e, t = /* @__PURE__ */ new Date()) {
|
|
9466
|
-
return
|
|
11314
|
+
return N(e, "en", t).isDST;
|
|
9467
11315
|
}
|
|
9468
11316
|
function yo(e, t = /* @__PURE__ */ new Date()) {
|
|
9469
11317
|
const i = W(e, t), o = new Date(t), r = new Date(t);
|
|
@@ -9482,7 +11330,7 @@ function yo(e, t = /* @__PURE__ */ new Date()) {
|
|
|
9482
11330
|
return null;
|
|
9483
11331
|
}
|
|
9484
11332
|
function zo(e, t, i) {
|
|
9485
|
-
const [o] =
|
|
11333
|
+
const [o] = x(() => G()), r = t || o, a = f(() => St(e, r, i), [e, r, i]), n = f(() => N(r, e), [r, e]);
|
|
9486
11334
|
return {
|
|
9487
11335
|
timezone: r,
|
|
9488
11336
|
info: n,
|
|
@@ -9494,15 +11342,15 @@ function zo(e, t, i) {
|
|
|
9494
11342
|
fromUTC: (s) => zt(s, r)
|
|
9495
11343
|
};
|
|
9496
11344
|
}
|
|
9497
|
-
function
|
|
11345
|
+
function K(e, t) {
|
|
9498
11346
|
const i = t.toLocaleString("en-US", { timeZone: "UTC" }), o = t.toLocaleString("en-US", { timeZone: e }), r = new Date(i), a = new Date(o);
|
|
9499
11347
|
return Math.round((a.getTime() - r.getTime()) / 6e4);
|
|
9500
11348
|
}
|
|
9501
|
-
function
|
|
11349
|
+
function Ct(e) {
|
|
9502
11350
|
const t = e >= 0 ? "+" : "-", i = Math.abs(e), o = Math.floor(i / 60), r = i % 60;
|
|
9503
11351
|
return `${t}${o.toString().padStart(2, "0")}:${r.toString().padStart(2, "0")}`;
|
|
9504
11352
|
}
|
|
9505
|
-
const
|
|
11353
|
+
const H = {
|
|
9506
11354
|
gregory: {
|
|
9507
11355
|
id: "gregory",
|
|
9508
11356
|
displayName: "Gregorian",
|
|
@@ -9680,22 +11528,22 @@ function de(e, t = "gregory", i = {}) {
|
|
|
9680
11528
|
month: "long",
|
|
9681
11529
|
day: "numeric",
|
|
9682
11530
|
era: "long"
|
|
9683
|
-
}, u = new Intl.DateTimeFormat(o, d),
|
|
11531
|
+
}, u = new Intl.DateTimeFormat(o, d), w = new Intl.DateTimeFormat(o, { calendar: t, month: "long" }), p = new Intl.DateTimeFormat(o, { calendar: t, weekday: "long" });
|
|
9684
11532
|
return {
|
|
9685
11533
|
format: (m) => l.format(m),
|
|
9686
11534
|
formatWithEra: (m) => u.format(m),
|
|
9687
|
-
getMonthName: (m) =>
|
|
11535
|
+
getMonthName: (m) => w.format(m),
|
|
9688
11536
|
getMonthNames: () => {
|
|
9689
|
-
const m = [],
|
|
11537
|
+
const m = [], v = new Date(2024, 0, 15);
|
|
9690
11538
|
for (let g = 0; g < 12; g++)
|
|
9691
|
-
|
|
11539
|
+
v.setMonth(g), m.push(w.format(v));
|
|
9692
11540
|
return m;
|
|
9693
11541
|
},
|
|
9694
11542
|
getWeekdayName: (m) => p.format(m),
|
|
9695
11543
|
getWeekdayNames: () => {
|
|
9696
|
-
const m = [],
|
|
11544
|
+
const m = [], v = new Date(2024, 0, 7);
|
|
9697
11545
|
for (let g = 0; g < 7; g++)
|
|
9698
|
-
|
|
11546
|
+
v.setDate(7 + g), m.push(p.format(v));
|
|
9699
11547
|
return m;
|
|
9700
11548
|
},
|
|
9701
11549
|
parseParts: (m) => {
|
|
@@ -9709,10 +11557,10 @@ function de(e, t = "gregory", i = {}) {
|
|
|
9709
11557
|
}).formatToParts(m);
|
|
9710
11558
|
return {
|
|
9711
11559
|
calendar: t,
|
|
9712
|
-
year: parseInt(((y = g.find((
|
|
9713
|
-
month: parseInt(((z = g.find((
|
|
9714
|
-
day: parseInt(((k = g.find((
|
|
9715
|
-
era: (j = g.find((
|
|
11560
|
+
year: parseInt(((y = g.find((b) => b.type === "year")) == null ? void 0 : y.value) || "0", 10),
|
|
11561
|
+
month: parseInt(((z = g.find((b) => b.type === "month")) == null ? void 0 : z.value) || "0", 10),
|
|
11562
|
+
day: parseInt(((k = g.find((b) => b.type === "day")) == null ? void 0 : k.value) || "0", 10),
|
|
11563
|
+
era: (j = g.find((b) => b.type === "era")) == null ? void 0 : j.value,
|
|
9716
11564
|
gregorianDate: m
|
|
9717
11565
|
};
|
|
9718
11566
|
},
|
|
@@ -9731,7 +11579,7 @@ function ce(e, t, i = "en") {
|
|
|
9731
11579
|
function Dt(e, t = "en") {
|
|
9732
11580
|
return ce(/* @__PURE__ */ new Date(), e, t);
|
|
9733
11581
|
}
|
|
9734
|
-
const
|
|
11582
|
+
const So = [
|
|
9735
11583
|
"Muharram",
|
|
9736
11584
|
"Safar",
|
|
9737
11585
|
"Rabi' al-Awwal",
|
|
@@ -9748,7 +11596,7 @@ const Co = [
|
|
|
9748
11596
|
function jt(e) {
|
|
9749
11597
|
return (11 * e + 14) % 30 < 11;
|
|
9750
11598
|
}
|
|
9751
|
-
function
|
|
11599
|
+
function Co(e, t) {
|
|
9752
11600
|
return t === 12 ? jt(e) ? 30 : 29 : t % 2 === 1 ? 30 : 29;
|
|
9753
11601
|
}
|
|
9754
11602
|
const Do = [
|
|
@@ -9782,7 +11630,7 @@ const Do = [
|
|
|
9782
11630
|
function Ao(e) {
|
|
9783
11631
|
return (7 * e + 1) % 19 < 7;
|
|
9784
11632
|
}
|
|
9785
|
-
const
|
|
11633
|
+
const U = [
|
|
9786
11634
|
{ name: "Meiji", kanji: "明治", startDate: new Date(1868, 9, 23) },
|
|
9787
11635
|
{ name: "Taisho", kanji: "大正", startDate: new Date(1912, 6, 30) },
|
|
9788
11636
|
{ name: "Showa", kanji: "昭和", startDate: new Date(1926, 11, 25) },
|
|
@@ -9790,16 +11638,16 @@ const K = [
|
|
|
9790
11638
|
{ name: "Reiwa", kanji: "令和", startDate: new Date(2019, 4, 1) }
|
|
9791
11639
|
];
|
|
9792
11640
|
function At(e) {
|
|
9793
|
-
for (let t =
|
|
9794
|
-
if (e >=
|
|
9795
|
-
return
|
|
11641
|
+
for (let t = U.length - 1; t >= 0; t--)
|
|
11642
|
+
if (e >= U[t].startDate)
|
|
11643
|
+
return U[t];
|
|
9796
11644
|
return null;
|
|
9797
11645
|
}
|
|
9798
11646
|
function Po(e) {
|
|
9799
11647
|
const t = At(e);
|
|
9800
11648
|
return t ? e.getFullYear() - t.startDate.getFullYear() + 1 : null;
|
|
9801
11649
|
}
|
|
9802
|
-
const
|
|
11650
|
+
const xo = [
|
|
9803
11651
|
"Farvardin",
|
|
9804
11652
|
"Ordibehesht",
|
|
9805
11653
|
"Khordad",
|
|
@@ -9813,7 +11661,7 @@ const To = [
|
|
|
9813
11661
|
"Bahman",
|
|
9814
11662
|
"Esfand"
|
|
9815
11663
|
];
|
|
9816
|
-
function
|
|
11664
|
+
function To(e) {
|
|
9817
11665
|
return ((e - 474) % 2820 + 2820) % 2820 * 682 % 2816 < 682;
|
|
9818
11666
|
}
|
|
9819
11667
|
const Pt = [
|
|
@@ -9833,7 +11681,7 @@ const Pt = [
|
|
|
9833
11681
|
function Bo(e) {
|
|
9834
11682
|
return Pt[(e - 4) % 12];
|
|
9835
11683
|
}
|
|
9836
|
-
const
|
|
11684
|
+
const xt = [
|
|
9837
11685
|
"Jia",
|
|
9838
11686
|
"Yi",
|
|
9839
11687
|
"Bing",
|
|
@@ -9845,14 +11693,14 @@ const Tt = [
|
|
|
9845
11693
|
"Ren",
|
|
9846
11694
|
"Gui"
|
|
9847
11695
|
];
|
|
9848
|
-
function
|
|
9849
|
-
return
|
|
11696
|
+
function No(e) {
|
|
11697
|
+
return xt[(e - 4) % 10];
|
|
9850
11698
|
}
|
|
9851
|
-
function
|
|
9852
|
-
const o = t || le[e], r =
|
|
11699
|
+
function Mo(e, t, i) {
|
|
11700
|
+
const o = t || le[e], r = f(
|
|
9853
11701
|
() => de(e, o, i),
|
|
9854
11702
|
[e, o, i]
|
|
9855
|
-
), a =
|
|
11703
|
+
), a = f(() => H[o], [o]), n = f(() => Dt(o, e), [o, e]);
|
|
9856
11704
|
return {
|
|
9857
11705
|
calendar: o,
|
|
9858
11706
|
info: a,
|
|
@@ -9868,11 +11716,11 @@ function Fo(e, t, i) {
|
|
|
9868
11716
|
toCalendar: (s) => ce(s, o, e)
|
|
9869
11717
|
};
|
|
9870
11718
|
}
|
|
9871
|
-
function
|
|
9872
|
-
return Object.keys(
|
|
11719
|
+
function Fo() {
|
|
11720
|
+
return Object.keys(H);
|
|
9873
11721
|
}
|
|
9874
11722
|
function Ro(e, t = "en") {
|
|
9875
|
-
const i = { ...
|
|
11723
|
+
const i = { ...H[e] };
|
|
9876
11724
|
try {
|
|
9877
11725
|
const o = D(t), a = new Intl.DisplayNames([o], { type: "calendar" }).of(e);
|
|
9878
11726
|
a && (i.displayName = a);
|
|
@@ -9882,7 +11730,7 @@ function Ro(e, t = "en") {
|
|
|
9882
11730
|
}
|
|
9883
11731
|
function Lo(e) {
|
|
9884
11732
|
const t = le[e], i = /* @__PURE__ */ new Set([t]);
|
|
9885
|
-
for (const [o, r] of Object.entries(
|
|
11733
|
+
for (const [o, r] of Object.entries(H))
|
|
9886
11734
|
r.associatedLanguages.includes(e) && i.add(o);
|
|
9887
11735
|
return i.add("gregory"), Array.from(i);
|
|
9888
11736
|
}
|
|
@@ -9941,7 +11789,7 @@ const J = {
|
|
|
9941
11789
|
X: "Χ",
|
|
9942
11790
|
Y: "Ÿ",
|
|
9943
11791
|
Z: "Ž"
|
|
9944
|
-
},
|
|
11792
|
+
}, Tt = {
|
|
9945
11793
|
...J,
|
|
9946
11794
|
// Additional mappings
|
|
9947
11795
|
a: "ặ",
|
|
@@ -9956,21 +11804,21 @@ const J = {
|
|
|
9956
11804
|
O: "Ộ",
|
|
9957
11805
|
U: "Ụ",
|
|
9958
11806
|
Y: "Ỵ"
|
|
9959
|
-
}, Bt = "",
|
|
11807
|
+
}, Bt = "", Nt = "", Q = "", Mt = "~∼~≈";
|
|
9960
11808
|
function Oo(e, t = !1) {
|
|
9961
|
-
const i = t ?
|
|
11809
|
+
const i = t ? Tt : J;
|
|
9962
11810
|
return e.split("").map((o) => i[o] || o).join("");
|
|
9963
11811
|
}
|
|
9964
11812
|
function Io(e, t = "[", i = "]") {
|
|
9965
11813
|
return `${t}${e}${i}`;
|
|
9966
11814
|
}
|
|
9967
|
-
function
|
|
11815
|
+
function Ft(e, t = 0.3, i = !1) {
|
|
9968
11816
|
if (i)
|
|
9969
11817
|
return Rt(e);
|
|
9970
11818
|
const r = Math.ceil(e.length * (1 + t)) - e.length;
|
|
9971
11819
|
if (r <= 0)
|
|
9972
11820
|
return e;
|
|
9973
|
-
const a =
|
|
11821
|
+
const a = Mt[0].repeat(r);
|
|
9974
11822
|
return e + a;
|
|
9975
11823
|
}
|
|
9976
11824
|
function Rt(e) {
|
|
@@ -9978,7 +11826,7 @@ function Rt(e) {
|
|
|
9978
11826
|
return e.split("").map((i) => t.has(i) ? i + i : i).join("");
|
|
9979
11827
|
}
|
|
9980
11828
|
function Lt(e, t = !1) {
|
|
9981
|
-
return t ? `${
|
|
11829
|
+
return t ? `${Nt}${e}${Q}` : `${Bt}${e}${Q}`;
|
|
9982
11830
|
}
|
|
9983
11831
|
function ue(e, t = {}) {
|
|
9984
11832
|
const {
|
|
@@ -9991,17 +11839,17 @@ function ue(e, t = {}) {
|
|
|
9991
11839
|
preserveHtml: l = !0,
|
|
9992
11840
|
prefix: d = "[",
|
|
9993
11841
|
suffix: u = "]"
|
|
9994
|
-
} = t,
|
|
11842
|
+
} = t, w = /* @__PURE__ */ new Map();
|
|
9995
11843
|
let p = e, m = 0;
|
|
9996
|
-
s && (p = p.replace(/\{[^}]+\}/g, (
|
|
11844
|
+
s && (p = p.replace(/\{[^}]+\}/g, (v) => {
|
|
9997
11845
|
const g = `__PH${m++}__`;
|
|
9998
|
-
return
|
|
9999
|
-
})), l && (p = p.replace(/<[^>]+>/g, (
|
|
11846
|
+
return w.set(g, v), g;
|
|
11847
|
+
})), l && (p = p.replace(/<[^>]+>/g, (v) => {
|
|
10000
11848
|
const g = `__PH${m++}__`;
|
|
10001
|
-
return
|
|
10002
|
-
})), r && (p = Ot(p,
|
|
10003
|
-
for (const [
|
|
10004
|
-
p = p.replace(
|
|
11849
|
+
return w.set(g, v), g;
|
|
11850
|
+
})), r && (p = Ot(p, w)), o > 0 && (p = Ft(p, o, n)), a && (p = Lt(p)), i && (p = `${d}${p}${u}`);
|
|
11851
|
+
for (const [v, g] of w.entries())
|
|
11852
|
+
p = p.replace(v, g);
|
|
10005
11853
|
return p;
|
|
10006
11854
|
}
|
|
10007
11855
|
function Ot(e, t) {
|
|
@@ -10047,7 +11895,7 @@ function P(e) {
|
|
|
10047
11895
|
};
|
|
10048
11896
|
}
|
|
10049
11897
|
}
|
|
10050
|
-
function
|
|
11898
|
+
function Ho(e, t) {
|
|
10051
11899
|
const i = {};
|
|
10052
11900
|
for (const [o, r] of Object.entries(e))
|
|
10053
11901
|
i[o] = ue(r, t);
|
|
@@ -10056,13 +11904,13 @@ function Vo(e, t) {
|
|
|
10056
11904
|
function It(e) {
|
|
10057
11905
|
return /[^\x00-\x7F]/.test(e);
|
|
10058
11906
|
}
|
|
10059
|
-
function
|
|
11907
|
+
function Ht(e) {
|
|
10060
11908
|
if (!e || /^[\d.,-]+$/.test(e) || e.startsWith("["))
|
|
10061
11909
|
return !1;
|
|
10062
11910
|
const t = /[a-zA-Z]{2,}/.test(e), i = It(e);
|
|
10063
11911
|
return t && !i;
|
|
10064
11912
|
}
|
|
10065
|
-
function
|
|
11913
|
+
function Vo(e, t) {
|
|
10066
11914
|
const i = {
|
|
10067
11915
|
totalKeys: Object.keys(e).length,
|
|
10068
11916
|
hardcodedStrings: [],
|
|
@@ -10075,8 +11923,8 @@ function Ho(e, t) {
|
|
|
10075
11923
|
i.emptyValues.push(o), i.potentialIssues++;
|
|
10076
11924
|
continue;
|
|
10077
11925
|
}
|
|
10078
|
-
if (
|
|
10079
|
-
const a =
|
|
11926
|
+
if (Ht(r) && i.hardcodedStrings.push(o), t && t[o]) {
|
|
11927
|
+
const a = _(r), n = _(t[o]), s = a.filter((d) => !n.includes(d)), l = n.filter((d) => !a.includes(d));
|
|
10080
11928
|
(s.length > 0 || l.length > 0) && (i.placeholderMismatches.push({
|
|
10081
11929
|
key: o,
|
|
10082
11930
|
placeholders: [
|
|
@@ -10088,7 +11936,7 @@ function Ho(e, t) {
|
|
|
10088
11936
|
}
|
|
10089
11937
|
return i;
|
|
10090
11938
|
}
|
|
10091
|
-
function
|
|
11939
|
+
function _(e) {
|
|
10092
11940
|
return (e.match(/\{([^}]+)\}/g) || []).map((i) => i.replace(/[{}]/g, "").split(",")[0].trim());
|
|
10093
11941
|
}
|
|
10094
11942
|
const pe = I(null);
|
|
@@ -10097,7 +11945,7 @@ function qo({
|
|
|
10097
11945
|
initialEnabled: t = !1,
|
|
10098
11946
|
initialMode: i = "full"
|
|
10099
11947
|
}) {
|
|
10100
|
-
const [o, r] =
|
|
11948
|
+
const [o, r] = x(t), [a, n] = x(i), s = f(() => P(a), [a]), l = f(() => (u) => o ? ue(u, s) : u, [o, s]), d = f(
|
|
10101
11949
|
() => ({
|
|
10102
11950
|
enabled: o,
|
|
10103
11951
|
mode: a,
|
|
@@ -10123,7 +11971,7 @@ function Wo() {
|
|
|
10123
11971
|
transform: (t) => t
|
|
10124
11972
|
};
|
|
10125
11973
|
}
|
|
10126
|
-
const
|
|
11974
|
+
const Ko = {
|
|
10127
11975
|
/** Minimal: brackets only */
|
|
10128
11976
|
MINIMAL: { addBrackets: !0, addAccents: !1, expansionFactor: 0 },
|
|
10129
11977
|
/** Accented: brackets + accents */
|
|
@@ -10141,7 +11989,7 @@ const Uo = {
|
|
|
10141
11989
|
/** CJK: Short expansion, no accents (CJK often shorter) */
|
|
10142
11990
|
CJK: { addBrackets: !0, addAccents: !1, expansionFactor: -0.1 }
|
|
10143
11991
|
};
|
|
10144
|
-
class
|
|
11992
|
+
class Vt {
|
|
10145
11993
|
constructor(t = 0) {
|
|
10146
11994
|
this.cache = /* @__PURE__ */ new Map(), this.ttl = t;
|
|
10147
11995
|
}
|
|
@@ -10194,23 +12042,23 @@ function me(e) {
|
|
|
10194
12042
|
onLoadStart: s,
|
|
10195
12043
|
onLoadComplete: l,
|
|
10196
12044
|
onLoadError: d
|
|
10197
|
-
} = e, u = new
|
|
12045
|
+
} = e, u = new Vt(o), w = /* @__PURE__ */ new Set(), p = /* @__PURE__ */ new Map();
|
|
10198
12046
|
let m = i;
|
|
10199
|
-
const
|
|
12047
|
+
const v = /* @__PURE__ */ new Set();
|
|
10200
12048
|
function g() {
|
|
10201
12049
|
const c = z();
|
|
10202
|
-
|
|
12050
|
+
v.forEach((h) => h(c));
|
|
10203
12051
|
}
|
|
10204
12052
|
function y(c, h) {
|
|
10205
12053
|
return h ? `${c}:${h}` : c;
|
|
10206
12054
|
}
|
|
10207
12055
|
function z() {
|
|
10208
12056
|
const c = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Set();
|
|
10209
|
-
for (const
|
|
10210
|
-
u.has(
|
|
10211
|
-
for (const
|
|
10212
|
-
const
|
|
10213
|
-
h.add(
|
|
12057
|
+
for (const S of T)
|
|
12058
|
+
u.has(S) && c.add(S);
|
|
12059
|
+
for (const S of w) {
|
|
12060
|
+
const F = S.split(":")[0];
|
|
12061
|
+
h.add(F);
|
|
10214
12062
|
}
|
|
10215
12063
|
return {
|
|
10216
12064
|
loadedLanguages: c,
|
|
@@ -10220,77 +12068,77 @@ function me(e) {
|
|
|
10220
12068
|
};
|
|
10221
12069
|
}
|
|
10222
12070
|
async function k(c, h) {
|
|
10223
|
-
const
|
|
10224
|
-
if (
|
|
10225
|
-
return
|
|
10226
|
-
if (
|
|
10227
|
-
return new Promise((
|
|
12071
|
+
const S = y(c, h), F = u.get(c, h);
|
|
12072
|
+
if (F)
|
|
12073
|
+
return F;
|
|
12074
|
+
if (w.has(S))
|
|
12075
|
+
return new Promise((C) => {
|
|
10228
12076
|
const R = setInterval(() => {
|
|
10229
|
-
|
|
12077
|
+
w.has(S) || (clearInterval(R), C(u.get(c, h)));
|
|
10230
12078
|
}, 50);
|
|
10231
12079
|
});
|
|
10232
|
-
|
|
12080
|
+
w.add(S), p.delete(c), s == null || s(c, h), g();
|
|
10233
12081
|
try {
|
|
10234
|
-
const
|
|
10235
|
-
return u.set(c,
|
|
10236
|
-
} catch (
|
|
10237
|
-
const R =
|
|
12082
|
+
const C = await t(c, h);
|
|
12083
|
+
return u.set(c, C, h), l == null || l(c, h), C;
|
|
12084
|
+
} catch (C) {
|
|
12085
|
+
const R = C instanceof Error ? C : new Error(String(C));
|
|
10238
12086
|
return p.set(c, R), d == null || d(c, R, h), c !== i && !h ? (console.warn(`Failed to load ${c}, falling back to ${i}`), k(i, h)) : null;
|
|
10239
12087
|
} finally {
|
|
10240
|
-
|
|
12088
|
+
w.delete(S), g();
|
|
10241
12089
|
}
|
|
10242
12090
|
}
|
|
10243
12091
|
async function j(c) {
|
|
10244
12092
|
await Promise.all(c.map((h) => k(h)));
|
|
10245
12093
|
}
|
|
10246
|
-
async function
|
|
12094
|
+
async function b() {
|
|
10247
12095
|
r.length !== 0 && await Promise.allSettled(
|
|
10248
12096
|
r.map((c) => a.length > 0 ? Promise.all(a.map((h) => k(c, h))) : k(c))
|
|
10249
12097
|
);
|
|
10250
12098
|
}
|
|
10251
|
-
function
|
|
12099
|
+
function M(c, h) {
|
|
10252
12100
|
return u.get(c, h);
|
|
10253
12101
|
}
|
|
10254
12102
|
function A(c, h) {
|
|
10255
12103
|
return u.has(c, h);
|
|
10256
12104
|
}
|
|
10257
12105
|
function he(c) {
|
|
10258
|
-
for (const h of
|
|
12106
|
+
for (const h of w)
|
|
10259
12107
|
if (h === c || h.startsWith(`${c}:`))
|
|
10260
12108
|
return !0;
|
|
10261
12109
|
return !1;
|
|
10262
12110
|
}
|
|
10263
|
-
function
|
|
12111
|
+
function we() {
|
|
10264
12112
|
return u.getStats().languages;
|
|
10265
12113
|
}
|
|
10266
|
-
function
|
|
12114
|
+
function ve(c) {
|
|
10267
12115
|
c ? u.delete(c) : u.clear(), g();
|
|
10268
12116
|
}
|
|
10269
|
-
async function
|
|
12117
|
+
async function fe(c) {
|
|
10270
12118
|
A(c) || await k(c), m = c, g();
|
|
10271
12119
|
}
|
|
10272
|
-
function
|
|
12120
|
+
function Ee() {
|
|
10273
12121
|
return m;
|
|
10274
12122
|
}
|
|
10275
|
-
function
|
|
10276
|
-
return
|
|
12123
|
+
function be(c) {
|
|
12124
|
+
return v.add(c), () => v.delete(c);
|
|
10277
12125
|
}
|
|
10278
12126
|
return {
|
|
10279
12127
|
loadLanguage: k,
|
|
10280
12128
|
loadLanguages: j,
|
|
10281
|
-
preloadLanguages:
|
|
10282
|
-
getTranslations:
|
|
12129
|
+
preloadLanguages: b,
|
|
12130
|
+
getTranslations: M,
|
|
10283
12131
|
isLoaded: A,
|
|
10284
12132
|
isLoading: he,
|
|
10285
|
-
getLoadedLanguages:
|
|
10286
|
-
clearCache:
|
|
12133
|
+
getLoadedLanguages: we,
|
|
12134
|
+
clearCache: ve,
|
|
10287
12135
|
getState: z,
|
|
10288
|
-
setLanguage:
|
|
10289
|
-
getCurrentLanguage:
|
|
10290
|
-
subscribe:
|
|
12136
|
+
setLanguage: fe,
|
|
12137
|
+
getCurrentLanguage: Ee,
|
|
12138
|
+
subscribe: be
|
|
10291
12139
|
};
|
|
10292
12140
|
}
|
|
10293
|
-
function
|
|
12141
|
+
function Uo(e, t) {
|
|
10294
12142
|
return me({
|
|
10295
12143
|
...t,
|
|
10296
12144
|
loadFn: async (i, o) => {
|
|
@@ -10301,34 +12149,34 @@ function Ko(e, t) {
|
|
|
10301
12149
|
}
|
|
10302
12150
|
});
|
|
10303
12151
|
}
|
|
10304
|
-
function
|
|
12152
|
+
function Zo(e, t) {
|
|
10305
12153
|
return me({
|
|
10306
12154
|
...t,
|
|
10307
12155
|
loadFn: async (i, o) => (await e(i, o)).default
|
|
10308
12156
|
});
|
|
10309
12157
|
}
|
|
10310
12158
|
const ge = I(null);
|
|
10311
|
-
function
|
|
12159
|
+
function Go({
|
|
10312
12160
|
children: e,
|
|
10313
12161
|
loader: t,
|
|
10314
12162
|
initialLanguage: i,
|
|
10315
12163
|
namespace: o
|
|
10316
12164
|
}) {
|
|
10317
|
-
const [r, a] =
|
|
12165
|
+
const [r, a] = x(() => t.getState()), [n, s] = x(null);
|
|
10318
12166
|
L(() => t.subscribe(a), [t]), L(() => {
|
|
10319
12167
|
i && !t.isLoaded(i, o) && t.loadLanguage(i, o).catch(s);
|
|
10320
12168
|
}, [t, i, o]);
|
|
10321
|
-
const l =
|
|
10322
|
-
async (
|
|
12169
|
+
const l = f(() => t.getTranslations(r.currentLanguage, o) || {}, [t, r.currentLanguage, o]), d = ee(
|
|
12170
|
+
async (w) => {
|
|
10323
12171
|
s(null);
|
|
10324
12172
|
try {
|
|
10325
|
-
await t.setLanguage(
|
|
12173
|
+
await t.setLanguage(w);
|
|
10326
12174
|
} catch (p) {
|
|
10327
12175
|
s(p instanceof Error ? p : new Error(String(p)));
|
|
10328
12176
|
}
|
|
10329
12177
|
},
|
|
10330
12178
|
[t]
|
|
10331
|
-
), u =
|
|
12179
|
+
), u = f(
|
|
10332
12180
|
() => ({
|
|
10333
12181
|
loader: t,
|
|
10334
12182
|
translations: l,
|
|
@@ -10397,28 +12245,28 @@ function Xo(e, t, i) {
|
|
|
10397
12245
|
async function Yo(e, t) {
|
|
10398
12246
|
const { fallback: i = "en", preferredLanguages: o = [] } = t || {};
|
|
10399
12247
|
for (const a of o)
|
|
10400
|
-
if (
|
|
12248
|
+
if (T.includes(a))
|
|
10401
12249
|
return await e.setLanguage(a), a;
|
|
10402
12250
|
const r = navigator.language.split("-")[0].toLowerCase();
|
|
10403
|
-
return
|
|
12251
|
+
return T.includes(r) ? (await e.setLanguage(r), r) : (await e.setLanguage(i), i);
|
|
10404
12252
|
}
|
|
10405
12253
|
export {
|
|
10406
|
-
|
|
10407
|
-
|
|
12254
|
+
H as CALENDAR_INFO,
|
|
12255
|
+
xt as CELESTIAL_STEMS,
|
|
10408
12256
|
Pt as CHINESE_ZODIAC,
|
|
10409
12257
|
le as DEFAULT_CALENDAR,
|
|
10410
|
-
|
|
12258
|
+
Go as DynamicI18nProvider,
|
|
10411
12259
|
Do as HEBREW_MONTHS,
|
|
10412
12260
|
jo as HEBREW_MONTHS_LEAP,
|
|
10413
|
-
|
|
10414
|
-
|
|
12261
|
+
So as HIJRI_MONTHS,
|
|
12262
|
+
U as JAPANESE_ERAS,
|
|
10415
12263
|
ae as NICE_GLOSSARY,
|
|
10416
|
-
|
|
12264
|
+
E as NICE_I18N_DICTIONARIES,
|
|
10417
12265
|
$e as NICE_I18N_VARIANTS,
|
|
10418
|
-
|
|
10419
|
-
|
|
10420
|
-
|
|
10421
|
-
|
|
12266
|
+
T as NICE_SUPPORTED_LANGS,
|
|
12267
|
+
Zt as NiceI18nProvider,
|
|
12268
|
+
xo as PERSIAN_MONTHS,
|
|
12269
|
+
Ko as PSEUDO_PRESETS,
|
|
10422
12270
|
qo as PseudoLocalizationProvider,
|
|
10423
12271
|
io as RTLProvider,
|
|
10424
12272
|
q as RTL_CSS_VARS,
|
|
@@ -10427,27 +12275,27 @@ export {
|
|
|
10427
12275
|
Oo as addAccents,
|
|
10428
12276
|
Lt as addBidiMarkers,
|
|
10429
12277
|
Io as addBrackets,
|
|
10430
|
-
|
|
12278
|
+
Vo as analyzeDictionary,
|
|
10431
12279
|
no as analyzeStylesForRTL,
|
|
10432
12280
|
It as containsNonAscii,
|
|
10433
12281
|
se as convertTimezone,
|
|
10434
12282
|
de as createCalendarFormatter,
|
|
10435
|
-
|
|
12283
|
+
ft as createCurrencyFormatter,
|
|
10436
12284
|
ht as createDateFormatter,
|
|
10437
12285
|
me as createDynamicLoader,
|
|
10438
|
-
|
|
12286
|
+
Uo as createFetchLoader,
|
|
10439
12287
|
$t as createICUTranslator,
|
|
10440
|
-
|
|
10441
|
-
|
|
10442
|
-
|
|
10443
|
-
|
|
12288
|
+
Zo as createImportLoader,
|
|
12289
|
+
vt as createNumberFormatter,
|
|
12290
|
+
wt as createTimeFormatter,
|
|
12291
|
+
St as createTimezoneFormatter,
|
|
10444
12292
|
Jt as createTranslator,
|
|
10445
12293
|
Yo as detectAndLoad,
|
|
10446
12294
|
Yt as detectBrowserLanguage,
|
|
10447
|
-
|
|
10448
|
-
|
|
10449
|
-
|
|
10450
|
-
|
|
12295
|
+
Ht as detectHardcodedText,
|
|
12296
|
+
G as detectTimezone,
|
|
12297
|
+
Ft as expandText,
|
|
12298
|
+
wo as findSimilarTranslation,
|
|
10451
12299
|
dt as flipAlignment,
|
|
10452
12300
|
oo as flipHorizontal,
|
|
10453
12301
|
rt as formatICU,
|
|
@@ -10455,16 +12303,16 @@ export {
|
|
|
10455
12303
|
zt as fromUTC,
|
|
10456
12304
|
uo as generateCoverageReport,
|
|
10457
12305
|
co as generateTranslationCode,
|
|
10458
|
-
|
|
12306
|
+
bo as getAllTimezones,
|
|
10459
12307
|
mt as getAllTranslationStats,
|
|
10460
|
-
|
|
12308
|
+
Fo as getAvailableCalendars,
|
|
10461
12309
|
Ro as getCalendarInfo,
|
|
10462
|
-
|
|
12310
|
+
No as getCelestialStem,
|
|
10463
12311
|
Bo as getChineseZodiac,
|
|
10464
12312
|
Dt as getCurrentCalendarDate,
|
|
10465
12313
|
to as getDocumentDirection,
|
|
10466
|
-
|
|
10467
|
-
|
|
12314
|
+
vo as getGlossaryForLanguage,
|
|
12315
|
+
Co as getHijriMonthDays,
|
|
10468
12316
|
At as getJapaneseEra,
|
|
10469
12317
|
Po as getJapaneseYear,
|
|
10470
12318
|
D as getLocaleTag,
|
|
@@ -10478,29 +12326,29 @@ export {
|
|
|
10478
12326
|
Lo as getRecommendedCalendars,
|
|
10479
12327
|
lo as getSourceKeys,
|
|
10480
12328
|
nt as getTextDirection,
|
|
10481
|
-
|
|
12329
|
+
N as getTimezoneInfo,
|
|
10482
12330
|
ko as getTimezonesGrouped,
|
|
10483
12331
|
pt as getTranslationStats,
|
|
10484
12332
|
W as isDSTActive,
|
|
10485
12333
|
Ao as isHebrewLeapYear,
|
|
10486
12334
|
jt as isHijriLeapYear,
|
|
10487
|
-
|
|
12335
|
+
To as isPersianLeapYear,
|
|
10488
12336
|
re as isRTLLanguage,
|
|
10489
|
-
|
|
10490
|
-
|
|
10491
|
-
|
|
10492
|
-
|
|
10493
|
-
|
|
12337
|
+
_e as isSupported,
|
|
12338
|
+
Eo as isValidTimezone,
|
|
12339
|
+
bt as lookupGlossary,
|
|
12340
|
+
_t as ordinal,
|
|
12341
|
+
Qt as plural,
|
|
10494
12342
|
Xo as preloadWithStrategy,
|
|
10495
12343
|
ue as pseudoLocalize,
|
|
10496
|
-
|
|
10497
|
-
|
|
12344
|
+
Ho as pseudoLocalizeDictionary,
|
|
12345
|
+
Ut as resolvePlVariant,
|
|
10498
12346
|
lt as rtlValue,
|
|
10499
12347
|
eo as select,
|
|
10500
12348
|
st as setDocumentDirection,
|
|
10501
12349
|
ce as toCalendar,
|
|
10502
12350
|
yt as toUTC,
|
|
10503
|
-
|
|
12351
|
+
Mo as useCalendar,
|
|
10504
12352
|
qt as useDynamicI18n,
|
|
10505
12353
|
Jo as useDynamicTranslation,
|
|
10506
12354
|
ao as useIsRTL,
|
|
@@ -10508,9 +12356,9 @@ export {
|
|
|
10508
12356
|
po as useNiceDateFormat,
|
|
10509
12357
|
go as useNiceNumberFormat,
|
|
10510
12358
|
mo as useNiceTimeFormat,
|
|
10511
|
-
|
|
12359
|
+
Gt as useNiceTranslation,
|
|
10512
12360
|
Wo as usePseudoLocalization,
|
|
10513
12361
|
ro as useRTL,
|
|
10514
12362
|
zo as useTimezone,
|
|
10515
|
-
|
|
12363
|
+
fo as validateAgainstGlossary
|
|
10516
12364
|
};
|