@open-mercato/sync-akeneo 0.4.7-develop-75b882ccb8 → 0.4.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-mercato/sync-akeneo",
3
- "version": "0.4.7-develop-75b882ccb8",
3
+ "version": "0.4.7",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -52,18 +52,18 @@
52
52
  }
53
53
  },
54
54
  "dependencies": {
55
- "@open-mercato/core": "0.4.7-develop-75b882ccb8",
56
- "@open-mercato/ui": "0.4.7-develop-75b882ccb8",
55
+ "@open-mercato/core": "workspace:*",
56
+ "@open-mercato/ui": "workspace:*",
57
57
  "node-html-markdown": "^2.0.0"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "@mikro-orm/postgresql": "^6.6.2",
61
- "@open-mercato/shared": "0.4.7-develop-75b882ccb8",
61
+ "@open-mercato/shared": "workspace:*",
62
62
  "react": "^19.0.0",
63
63
  "react-dom": "^19.0.0"
64
64
  },
65
65
  "devDependencies": {
66
- "@open-mercato/shared": "0.4.7-develop-75b882ccb8",
66
+ "@open-mercato/shared": "workspace:*",
67
67
  "@types/jest": "^30.0.0",
68
68
  "esbuild": "^0.25.0",
69
69
  "glob": "^13.0.6",
@@ -72,6 +72,5 @@
72
72
  },
73
73
  "publishConfig": {
74
74
  "access": "public"
75
- },
76
- "stableVersion": "1.0.0"
77
- }
75
+ }
76
+ }
@@ -1,28 +1,151 @@
1
1
  {
2
- "sync_akeneo.description": "Import Akeneo product catalogs, family-driven attributes, and products into Open Mercato with resilient batch sync.",
3
- "sync_akeneo.feature.configure": "Configure Akeneo sync settings",
4
- "sync_akeneo.feature.view": "View Akeneo sync configuration",
5
- "sync_akeneo.firstImport.action": "Run the first full import",
6
- "sync_akeneo.firstImport.completed": "The first full Akeneo import finished successfully.",
7
- "sync_akeneo.firstImport.errors.cancelled": "The sync run was cancelled.",
8
- "sync_akeneo.firstImport.errors.failed": "The sync run failed.",
9
- "sync_akeneo.firstImport.errors.generic": "The first full Akeneo import could not be completed.",
10
- "sync_akeneo.firstImport.errors.progress": "Failed to load sync run progress.",
11
- "sync_akeneo.firstImport.errors.start": "Failed to start the sync run.",
12
- "sync_akeneo.firstImport.help": "Launch the standard Akeneo sync sequence in the recommended order: categories first, attributes second, products last.",
13
- "sync_akeneo.firstImport.integrationDisabled": "Enable the integration and save valid Akeneo credentials before starting the first full import.",
14
- "sync_akeneo.firstImport.missingCredentials": "Save valid Akeneo credentials before starting the first full import.",
15
- "sync_akeneo.firstImport.progressCount": "{processed} of {total} items processed in the current run.",
16
- "sync_akeneo.firstImport.progressUnknown": "The current run is active. Live progress also appears in the global operations bar.",
17
- "sync_akeneo.firstImport.running": "Running full import sequence...",
18
- "sync_akeneo.firstImport.status.completed": "Full import completed",
19
- "sync_akeneo.firstImport.status.failed": "Full import failed",
20
- "sync_akeneo.firstImport.status.running": "Full import sequence running",
21
- "sync_akeneo.firstImport.steps.attributes": "Attributes",
22
- "sync_akeneo.firstImport.steps.categories": "Categories",
23
- "sync_akeneo.firstImport.steps.products": "Products",
24
- "sync_akeneo.firstImport.title": "Run the first full import",
25
- "sync_akeneo.setup.scheduleTab": "Run once and recurring schedules now live in the dedicated Sync schedules tab, shared by all data sync integrations.",
26
- "sync_akeneo.tabs.settings": "Akeneo sync settings",
2
+ "sync_akeneo.customFields.actions.add": "Zeile hinzufügen",
3
+ "sync_akeneo.customFields.actions.createMissing": "Fehlende Felder jetzt erstellen",
4
+ "sync_akeneo.customFields.actions.creating": "Wird erstellt...",
5
+ "sync_akeneo.customFields.actions.remove": "Entfernen",
6
+ "sync_akeneo.customFields.columns.actions": "Aktionen",
7
+ "sync_akeneo.customFields.columns.attribute": "Akeneo-Attribut",
8
+ "sync_akeneo.customFields.columns.key": "Feldschlüssel",
9
+ "sync_akeneo.customFields.columns.kind": "Typ",
10
+ "sync_akeneo.customFields.columns.skip": "Import überspringen",
11
+ "sync_akeneo.customFields.columns.status": "Status",
12
+ "sync_akeneo.customFields.columns.target": "Ziel",
13
+ "sync_akeneo.customFields.createNothing": "Es gibt keine nicht-übersprungenen Benutzerdefinierte-Feld-Zuordnungen zum Erstellen.",
14
+ "sync_akeneo.customFields.created": "Akeneo-gestützte benutzerdefinierte Felder erstellt.",
15
+ "sync_akeneo.customFields.dialog.apply": "Anwenden",
16
+ "sync_akeneo.customFields.dialog.close": "Schließen",
17
+ "sync_akeneo.customFields.dialog.description": "Bearbeiten Sie strukturierte Zuordnungen benutzerdefinierter Felder, prüfen Sie welche lokalen Felddefinitionen bereits existieren, generieren Sie fehlende sofort oder markieren Sie bestimmte Akeneo-Attribute zum Überspringen beim Import.",
18
+ "sync_akeneo.customFields.dialog.summary.missing": "{count} Zeilen ohne lokale Felder",
19
+ "sync_akeneo.customFields.dialog.summary.ready": "Alles in dieser Zuordnung existiert bereits lokal",
20
+ "sync_akeneo.customFields.dialog.summary.total": "{count} Zuordnungszeilen",
21
+ "sync_akeneo.customFields.dialog.title": "Akeneo-Editor für benutzerdefinierte Felder",
22
+ "sync_akeneo.customFields.empty": "Noch keine benutzerdefinierten Akeneo-Felder zugeordnet. Verwenden Sie die folgenden Vorschläge oder fügen Sie manuell eine Zeile hinzu.",
23
+ "sync_akeneo.customFields.kinds.auto": "Auto",
24
+ "sync_akeneo.customFields.status.missing": "Fehlt",
25
+ "sync_akeneo.customFields.status.ready": "Vorhanden",
26
+ "sync_akeneo.customFields.status.skipped": "Übersprungen",
27
+ "sync_akeneo.customFields.suggestions.help": "Schnelles Hinzufügen entdeckter Attribute, die noch nicht Teil der Akeneo-Zuordnung benutzerdefinierter Felder sind.",
28
+ "sync_akeneo.customFields.suggestions.title": "Vorgeschlagene Akeneo-Attribute",
29
+ "sync_akeneo.customFields.targets.product": "Produkt",
30
+ "sync_akeneo.customFields.targets.variant": "Variante",
31
+ "sync_akeneo.deleteImportedProducts.action": "Alle importierten Produkte erzwungen löschen",
32
+ "sync_akeneo.deleteImportedProducts.cancel": "Abbrechen",
33
+ "sync_akeneo.deleteImportedProducts.cancelled": "Löschung importierter Akeneo-Produkte wurde abgebrochen.",
34
+ "sync_akeneo.deleteImportedProducts.completed": "Löschung importierter Akeneo-Produkte abgeschlossen.",
35
+ "sync_akeneo.deleteImportedProducts.confirmAction": "Erzwungenes Löschen",
36
+ "sync_akeneo.deleteImportedProducts.confirmText": "Dies löscht dauerhaft die von der Akeneo-Integration importierten Produkte für die aktuelle Organisation, zusammen mit ihren importierten Varianten und zugehörigen Katalogdaten. Der Akeneo-Produktcursor wird ebenfalls zurückgesetzt, damit ein neuer Import von Grund auf beginnen kann.",
37
+ "sync_akeneo.deleteImportedProducts.confirmTitle": "Alle importierten Akeneo-Produkte erzwungen löschen?",
38
+ "sync_akeneo.deleteImportedProducts.failed": "Löschung importierter Akeneo-Produkte fehlgeschlagen.",
39
+ "sync_akeneo.deleteImportedProducts.inProgress": "Löschung läuft...",
40
+ "sync_akeneo.deleteImportedProducts.pending": "Der Löschauftrag wird vorbereitet.",
41
+ "sync_akeneo.deleteImportedProducts.preparing": "Wird vorbereitet...",
42
+ "sync_akeneo.deleteImportedProducts.progressTitle": "Importierte Akeneo-Produkte werden gelöscht",
43
+ "sync_akeneo.description": "Importieren Sie Akeneo-Produktkataloge, familiengesteuerte Attribute und Produkte in Open Mercato mit widerstandsfähiger Batch-Synchronisation.",
44
+ "sync_akeneo.discovery.attributes": "Attribute",
45
+ "sync_akeneo.discovery.channels": "Kanäle",
46
+ "sync_akeneo.discovery.families": "Familien",
47
+ "sync_akeneo.discovery.heading": "Entdeckte Akeneo-Felder",
48
+ "sync_akeneo.discovery.help": "Diese Werte stammen aus den aktuellen Akeneo-Anmeldedaten und können sicher in die Zuordnungseingaben eingefügt werden.",
49
+ "sync_akeneo.discovery.localChannels": "Open Mercato-Kanäle",
50
+ "sync_akeneo.discovery.locales": "Sprachen",
51
+ "sync_akeneo.discovery.priceKinds": "Katalogpreisarten",
52
+ "sync_akeneo.discovery.rediscovered": "Akeneo-Felder aktualisiert und fehlende Zuordnungen hinzugefügt.",
53
+ "sync_akeneo.feature.configure": "Akeneo-Synchronisierungseinstellungen konfigurieren",
54
+ "sync_akeneo.feature.view": "Akeneo-Synchronisierungskonfiguration anzeigen",
55
+ "sync_akeneo.firstImport.action": "Ersten vollständigen Import starten",
56
+ "sync_akeneo.firstImport.completed": "Der erste vollständige Akeneo-Import wurde erfolgreich abgeschlossen.",
57
+ "sync_akeneo.firstImport.errors.cancelled": "Die Synchronisation wurde abgebrochen.",
58
+ "sync_akeneo.firstImport.errors.failed": "Die Synchronisation ist fehlgeschlagen.",
59
+ "sync_akeneo.firstImport.errors.generic": "Der erste vollständige Akeneo-Import konnte nicht abgeschlossen werden.",
60
+ "sync_akeneo.firstImport.errors.progress": "Synchronisationsfortschritt konnte nicht geladen werden.",
61
+ "sync_akeneo.firstImport.errors.start": "Synchronisation konnte nicht gestartet werden.",
62
+ "sync_akeneo.firstImport.help": "Starten Sie die Standard-Akeneo-Synchronisationssequenz in der empfohlenen Reihenfolge: zuerst Kategorien, dann Attribute, zuletzt Produkte.",
63
+ "sync_akeneo.firstImport.integrationDisabled": "Aktivieren Sie die Integration und speichern Sie gültige Akeneo-Anmeldedaten, bevor Sie den ersten vollständigen Import starten.",
64
+ "sync_akeneo.firstImport.missingCredentials": "Speichern Sie gültige Akeneo-Anmeldedaten, bevor Sie den ersten vollständigen Import starten.",
65
+ "sync_akeneo.firstImport.progressCount": "{processed} von {total} Elementen im aktuellen Durchlauf verarbeitet.",
66
+ "sync_akeneo.firstImport.progressUnknown": "Der aktuelle Durchlauf ist aktiv. Live-Fortschritt erscheint auch in der globalen Operationsleiste.",
67
+ "sync_akeneo.firstImport.running": "Vollständige Importsequenz wird ausgeführt...",
68
+ "sync_akeneo.firstImport.status.completed": "Vollständiger Import abgeschlossen",
69
+ "sync_akeneo.firstImport.status.failed": "Vollständiger Import fehlgeschlagen",
70
+ "sync_akeneo.firstImport.status.running": "Vollständige Importsequenz läuft",
71
+ "sync_akeneo.firstImport.steps.attributes": "Attribute",
72
+ "sync_akeneo.firstImport.steps.categories": "Kategorien",
73
+ "sync_akeneo.firstImport.steps.products": "Produkte",
74
+ "sync_akeneo.firstImport.title": "Ersten vollständigen Import starten",
75
+ "sync_akeneo.links.auth": "Akeneo-Authentifizierungsdokumentation",
76
+ "sync_akeneo.links.pagination": "Akeneo-Paginierungsdokumentation",
77
+ "sync_akeneo.mapping.addRow": "Zeile hinzufügen",
78
+ "sync_akeneo.mapping.akeneoChannel": "Akeneo-Kanal",
79
+ "sync_akeneo.mapping.categoryLocale": "Sprache der Kategorielabels",
80
+ "sync_akeneo.mapping.channelPlaceholder": "Optional",
81
+ "sync_akeneo.mapping.createMissingChannels": "Standardmäßig fehlende Open Mercato-Vertriebskanäle aus Akeneo-Bereichen erstellen",
82
+ "sync_akeneo.mapping.customFields": "Zuordnungen benutzerdefinierter Felder",
83
+ "sync_akeneo.mapping.customFields.autoCreate": "Der Akeneo-Produktimport erstellt auch automatisch fehlende zugeordnete Felder. Verwenden Sie die manuelle Aktion nur, wenn Sie diese vor dem ersten Import bereitstellen möchten.",
84
+ "sync_akeneo.mapping.customFields.createMissing": "Fehlende Felder erstellen",
85
+ "sync_akeneo.mapping.customFields.creating": "Wird erstellt...",
86
+ "sync_akeneo.mapping.customFields.editor": "Editor öffnen",
87
+ "sync_akeneo.mapping.customFields.help": "Eine Zuordnung pro Zeile: attribute_code,target(product|variant),field_key[,kind][,skip]. Nach dem Speichern gültiger Akeneo-Anmeldedaten erkennt Open Mercato Zuordnungen automatisch: Variantenachsen bleiben als Produktoptionen, und andere relevante Akeneo-Attribute werden automatisch als benutzerdefinierte Felder zugeordnet, sofern Sie sie nicht überschreiben. Verwenden Sie das Skip-Kontrollkästchen im Editor, wenn ein Akeneo-Attribut beim Import vollständig ignoriert werden soll. Produktimporte erstellen oder aktualisieren automatisch fehlende benutzerdefinierte Felddefinitionen in Open Mercato und speichern die Akeneo-Metadaten, Validierungsregeln und Gruppen in diesen Feldern.",
88
+ "sync_akeneo.mapping.customFields.missing": "{count} fehlen lokal",
89
+ "sync_akeneo.mapping.customFields.ready": "Alle zugeordneten Felder existieren bereits",
90
+ "sync_akeneo.mapping.customFields.skipped": "{count} übersprungen",
91
+ "sync_akeneo.mapping.customFields.total": "{count} zugeordnet",
92
+ "sync_akeneo.mapping.emptyFieldsets": "Noch keine Familien-Feldset-Zuordnungen entdeckt. Speichern Sie Anmeldedaten und verwenden Sie Entdeckung aktualisieren, um sie zu generieren.",
93
+ "sync_akeneo.mapping.emptyMedia": "Noch keine Medienzuordnungen konfiguriert.",
94
+ "sync_akeneo.mapping.emptyPrices": "Noch keine Preiszuordnungen konfiguriert.",
95
+ "sync_akeneo.mapping.familyFilter": "Familienfilter für Attributsynchronisierung",
96
+ "sync_akeneo.mapping.familyFilter.help": "Leer lassen, um familiengesteuerte Schemata für alle Akeneo-Familien zu synchronisieren.",
97
+ "sync_akeneo.mapping.familyFilterPlaceholder": "familie_a, familie_b",
98
+ "sync_akeneo.mapping.fieldsetCode": "Feldset-Code",
99
+ "sync_akeneo.mapping.fieldsetDescription": "Beschreibung",
100
+ "sync_akeneo.mapping.fieldsetLabel": "Feldset-Bezeichnung",
101
+ "sync_akeneo.mapping.fieldsets": "Familien-zu-Feldset-Zuordnungen",
102
+ "sync_akeneo.mapping.fieldsets.help": "Entdeckte Akeneo-Familien werden automatisch zu Open Mercato-Feldsets. Passen Sie Code, Bezeichnung oder Beschreibung des Feldsets hier an und fügen Sie manuelle Familienvarianten-Zeilen hinzu, wenn eine bestimmte Akeneo-Familienvariante ein anderes Varianten-Feldset verwenden soll.",
103
+ "sync_akeneo.mapping.from": "Von",
104
+ "sync_akeneo.mapping.heading": "Feldzuordnung",
105
+ "sync_akeneo.mapping.help": "Zuordnungen werden automatisch aus den gespeicherten Akeneo-Anmeldedaten erkannt. Verwenden Sie Entdeckung aktualisieren, um die neuesten Akeneo-Metadaten abzurufen und fehlende Zuordnungen hinzuzufügen, ohne Ihre bestehenden Überschreibungen zu löschen.",
106
+ "sync_akeneo.mapping.importChannels": "Importierte Akeneo-Kanäle",
107
+ "sync_akeneo.mapping.importChannels.all": "Alle Akeneo-Kanäle importieren",
108
+ "sync_akeneo.mapping.importChannels.help": "Wählen Sie, welche Akeneo-Kanäle für kanalspezifische Daten wie Angebote und Preise importiert werden sollen. Sprache bleibt Einzelauswahl.",
109
+ "sync_akeneo.mapping.includeNumeric": "Numerische und metrische Attribute in generierte Familienschemata einbeziehen",
110
+ "sync_akeneo.mapping.includeText": "Textattribute in generierte Familienschemata einbeziehen",
111
+ "sync_akeneo.mapping.localChannel": "Open Mercato-Kanal",
112
+ "sync_akeneo.mapping.localChannelPlaceholder": "Open Mercato-Kanal auswählen",
113
+ "sync_akeneo.mapping.media": "Medien- und Anhangszuordnungen",
114
+ "sync_akeneo.mapping.media.help": "Eine Zuordnung pro Zeile: attribute_code,target(product|variant),kind(image|file). Bildzuordnungen werden in Open Mercato-Anhänge überführt und können Standardmedien werden; Dateizuordnungen werden als Anhänge importiert.",
115
+ "sync_akeneo.mapping.mediaKinds.file": "Datei",
116
+ "sync_akeneo.mapping.mediaKinds.image": "Bild",
117
+ "sync_akeneo.mapping.priceKind": "Preisart",
118
+ "sync_akeneo.mapping.priceKindPlaceholder": "Preisart auswählen",
119
+ "sync_akeneo.mapping.prices": "Preis- und Angebotszuordnungen",
120
+ "sync_akeneo.mapping.prices.help": "Eine Zuordnung pro Zeile: price_attribute,price_kind_code,akeneo_channel,local_channel_code. Jeder einzelne lokale Kanal erstellt oder aktualisiert ein Angebot, und jeder Preissammlungseintrag wird zu einem Katalogproduktpreis in der entsprechenden Währung.",
121
+ "sync_akeneo.mapping.productChannel": "Primärer Inhaltskanal",
122
+ "sync_akeneo.mapping.productChannel.help": "Dieser einzelne Akeneo-Kanal wird für den grundlegenden Produktinhalt, benutzerdefinierte Felder, Medien und Variantenbezeichnungen verwendet, wenn Attribute kanalspezifisch sind.",
123
+ "sync_akeneo.mapping.productLocale": "Produktsprache",
124
+ "sync_akeneo.mapping.productLocale.help": "Derzeit wird nur diese Akeneo-Sprache in die grundlegenden Open Mercato-Felder importiert. Andere Sprachen werden ignoriert, bis der Übersetzungsimport hinzugefügt wird.",
125
+ "sync_akeneo.mapping.reconciliation.help": "Diese Bereinigungsregeln gelten bei vollständigen Synchronisationen. Inkrementelle Synchronisationen aktualisieren weiterhin geänderte Datensätze, während veraltete Akeneo-verwaltete Angebote, Preise und Medien pro Produkt bei jedem Produktimport abgeglichen werden.",
126
+ "sync_akeneo.mapping.reconciliation.title": "Abgleich und Löschungen",
127
+ "sync_akeneo.mapping.refresh": "Entdeckung aktualisieren",
128
+ "sync_akeneo.mapping.save": "Zuordnungen speichern",
129
+ "sync_akeneo.mapping.saving": "Wird gespeichert...",
130
+ "sync_akeneo.mapping.sourceCode": "Akeneo-Code",
131
+ "sync_akeneo.mapping.sourceType": "Quelltyp",
132
+ "sync_akeneo.mapping.sourceType.family": "Familie",
133
+ "sync_akeneo.mapping.sourceType.familyVariant": "Familienvariante",
134
+ "sync_akeneo.mapping.syncAssociations": "Akeneo-Verknüpfungen in Produkt-/Varianten-Beziehungsdatensätze importieren",
135
+ "sync_akeneo.saved": "Akeneo-Synchronisierungseinstellungen gespeichert.",
136
+ "sync_akeneo.setup.credentials.step1": "Öffnen Sie in Akeneo Einstellungen -> Verbindungen und erstellen Sie eine neue API-Verbindung oder verbundene App für Open Mercato.",
137
+ "sync_akeneo.setup.credentials.step2": "Kopieren Sie die Akeneo-Basis-URL, Client-ID und Client-Secret in den Tab Integrations-Anmeldedaten in Open Mercato.",
138
+ "sync_akeneo.setup.credentials.step3": "Erstellen Sie einen dedizierten Akeneo-API-Benutzer, weisen Sie ihm die richtigen Katalogberechtigungen zu und verwenden Sie Benutzername/Passwort im Anmeldedatenformular.",
139
+ "sync_akeneo.setup.credentials.step4": "Gewähren Sie dem API-Benutzer Zugriff auf Produkte, Kategorien, Attribute, Familien, Familienvarianten, Sprachen und Kanäle. Beschränken Sie Schreibberechtigungen, wenn Sie nur importieren.",
140
+ "sync_akeneo.setup.credentials.title": "API-Anmeldedaten in Akeneo erstellen",
141
+ "sync_akeneo.setup.docs.note1": "Die Akeneo-Authentifizierung verwendet Client-ID, Client-Secret, Benutzername und Passwort. Open Mercato tauscht diese automatisch gegen Zugriffs-/Aktualisierungstoken aus.",
142
+ "sync_akeneo.setup.docs.note2": "Halten Sie bei großen Katalogen die Stapelgrößen bei 100 und bevorzugen Sie inkrementelle Produktsynchronisationen. Der Importer setzt an dem zuletzt verarbeiteten Akeneo-Aktualisierungszeitstempel plus search_after-Paginierungsstatus fort.",
143
+ "sync_akeneo.setup.docs.note3": "Einfache Akeneo-Produkte erstellen weiterhin eine Standard-Open-Mercato-Variante. Varianten-Akeneo-Produkte vereinfachen den vollständigen Akeneo-Produktmodellbaum zu einem konfigurierbaren Produkt plus Kindvarianten.",
144
+ "sync_akeneo.setup.docs.note4": "Wenn Sie Kanalangebote und Preise möchten, erstellen Sie zuerst entsprechende Vertriebskanäle und Katalogpreisarten in Open Mercato und referenzieren Sie deren Codes in den folgenden Zuordnungsblöcken.",
145
+ "sync_akeneo.setup.docs.title": "Betriebshinweise",
146
+ "sync_akeneo.setup.heading": "Akeneo-API-Einrichtung",
147
+ "sync_akeneo.setup.order.title": "Empfohlene Synchronisationsreihenfolge",
148
+ "sync_akeneo.setup.scheduleTab": "Einmalige und wiederkehrende Zeitpläne befinden sich jetzt im dedizierten Tab Synchronisationszeitpläne, der von allen Datensynchronisierungsintegrationen gemeinsam genutzt wird.",
149
+ "sync_akeneo.tabs.settings": "Akeneo-Synchronisierungseinstellungen",
27
150
  "sync_akeneo.title": "Akeneo PIM"
28
151
  }
@@ -1,10 +1,60 @@
1
1
  {
2
+ "sync_akeneo.customFields.actions.add": "Add row",
3
+ "sync_akeneo.customFields.actions.createMissing": "Pre-create missing fields now",
4
+ "sync_akeneo.customFields.actions.creating": "Creating...",
5
+ "sync_akeneo.customFields.actions.remove": "Remove",
6
+ "sync_akeneo.customFields.columns.actions": "Actions",
7
+ "sync_akeneo.customFields.columns.attribute": "Akeneo attribute",
8
+ "sync_akeneo.customFields.columns.key": "Field key",
9
+ "sync_akeneo.customFields.columns.kind": "Kind",
10
+ "sync_akeneo.customFields.columns.skip": "Skip import",
11
+ "sync_akeneo.customFields.columns.status": "Status",
12
+ "sync_akeneo.customFields.columns.target": "Target",
13
+ "sync_akeneo.customFields.createNothing": "There are no non-skipped custom-field mappings to create.",
14
+ "sync_akeneo.customFields.created": "Akeneo-backed custom fields created.",
15
+ "sync_akeneo.customFields.dialog.apply": "Apply",
16
+ "sync_akeneo.customFields.dialog.close": "Close",
17
+ "sync_akeneo.customFields.dialog.description": "Edit structured custom-field mappings, review which local field definitions already exist, generate missing ones immediately, or mark specific Akeneo attributes to be skipped during import.",
18
+ "sync_akeneo.customFields.dialog.summary.missing": "{count} rows missing local fields",
19
+ "sync_akeneo.customFields.dialog.summary.ready": "Everything in this mapping already exists locally",
20
+ "sync_akeneo.customFields.dialog.summary.total": "{count} mapping rows",
21
+ "sync_akeneo.customFields.dialog.title": "Akeneo custom field editor",
22
+ "sync_akeneo.customFields.empty": "No Akeneo custom fields are mapped yet. Use the suggestions below or add a row manually.",
23
+ "sync_akeneo.customFields.kinds.auto": "Auto",
24
+ "sync_akeneo.customFields.status.missing": "Missing",
25
+ "sync_akeneo.customFields.status.ready": "Exists",
26
+ "sync_akeneo.customFields.status.skipped": "Skipped",
27
+ "sync_akeneo.customFields.suggestions.help": "Quick-add discovered attributes that are not yet part of the Akeneo custom-field mapping.",
28
+ "sync_akeneo.customFields.suggestions.title": "Suggested Akeneo attributes",
29
+ "sync_akeneo.customFields.targets.product": "Product",
30
+ "sync_akeneo.customFields.targets.variant": "Variant",
31
+ "sync_akeneo.deleteImportedProducts.action": "Force delete all imported products",
32
+ "sync_akeneo.deleteImportedProducts.cancel": "Cancel",
33
+ "sync_akeneo.deleteImportedProducts.cancelled": "Imported Akeneo product deletion was cancelled.",
34
+ "sync_akeneo.deleteImportedProducts.completed": "Imported Akeneo product deletion completed.",
35
+ "sync_akeneo.deleteImportedProducts.confirmAction": "Force delete",
36
+ "sync_akeneo.deleteImportedProducts.confirmText": "This will permanently delete products imported by the Akeneo integration for the current organization, together with their imported variants and related catalog data. The Akeneo product cursor will also be reset so a fresh import can start from scratch.",
37
+ "sync_akeneo.deleteImportedProducts.confirmTitle": "Force delete all imported Akeneo products?",
38
+ "sync_akeneo.deleteImportedProducts.failed": "Imported Akeneo product deletion failed.",
39
+ "sync_akeneo.deleteImportedProducts.inProgress": "Deletion in progress...",
40
+ "sync_akeneo.deleteImportedProducts.pending": "The deletion job is being prepared.",
41
+ "sync_akeneo.deleteImportedProducts.preparing": "Preparing...",
42
+ "sync_akeneo.deleteImportedProducts.progressTitle": "Deleting imported Akeneo products",
2
43
  "sync_akeneo.description": "Import Akeneo product catalogs, family-driven attributes, and products into Open Mercato with resilient batch sync.",
44
+ "sync_akeneo.discovery.attributes": "Attributes",
45
+ "sync_akeneo.discovery.channels": "Channels",
46
+ "sync_akeneo.discovery.families": "Families",
47
+ "sync_akeneo.discovery.heading": "Discovered Akeneo fields",
48
+ "sync_akeneo.discovery.help": "These values come from the current Akeneo credentials and are safe to paste into the mapping inputs.",
49
+ "sync_akeneo.discovery.localChannels": "Open Mercato channels",
50
+ "sync_akeneo.discovery.locales": "Locales",
51
+ "sync_akeneo.discovery.priceKinds": "Catalog price kinds",
52
+ "sync_akeneo.discovery.rediscovered": "Akeneo fields refreshed and missing mappings added.",
3
53
  "sync_akeneo.feature.configure": "Configure Akeneo sync settings",
4
54
  "sync_akeneo.feature.view": "View Akeneo sync configuration",
5
55
  "sync_akeneo.firstImport.action": "Run the first full import",
6
56
  "sync_akeneo.firstImport.completed": "The first full Akeneo import finished successfully.",
7
- "sync_akeneo.firstImport.errors.cancelled": "The sync run was cancelled.",
57
+ "sync_akeneo.firstImport.errors.cancelled": "The first full Akeneo import was cancelled.",
8
58
  "sync_akeneo.firstImport.errors.failed": "The sync run failed.",
9
59
  "sync_akeneo.firstImport.errors.generic": "The first full Akeneo import could not be completed.",
10
60
  "sync_akeneo.firstImport.errors.progress": "Failed to load sync run progress.",
@@ -22,6 +72,79 @@
22
72
  "sync_akeneo.firstImport.steps.categories": "Categories",
23
73
  "sync_akeneo.firstImport.steps.products": "Products",
24
74
  "sync_akeneo.firstImport.title": "Run the first full import",
75
+ "sync_akeneo.links.auth": "Akeneo authentication docs",
76
+ "sync_akeneo.links.pagination": "Akeneo pagination docs",
77
+ "sync_akeneo.mapping.addRow": "Add row",
78
+ "sync_akeneo.mapping.akeneoChannel": "Akeneo channel",
79
+ "sync_akeneo.mapping.categoryLocale": "Category label locale",
80
+ "sync_akeneo.mapping.channelPlaceholder": "Optional",
81
+ "sync_akeneo.mapping.createMissingChannels": "Create missing Open Mercato sales channels from Akeneo scopes by default",
82
+ "sync_akeneo.mapping.customFields": "Custom field mappings",
83
+ "sync_akeneo.mapping.customFields.autoCreate": "Running the Akeneo product import also creates any missing mapped fields automatically. Use the manual action only when you want to provision them before the first import.",
84
+ "sync_akeneo.mapping.customFields.createMissing": "Pre-create missing fields",
85
+ "sync_akeneo.mapping.customFields.creating": "Creating...",
86
+ "sync_akeneo.mapping.customFields.editor": "Open editor",
87
+ "sync_akeneo.mapping.customFields.help": "One mapping per line: attribute_code,target(product|variant),field_key[,kind][,skip]. After valid Akeneo credentials are saved, Open Mercato discovers mappings automatically: variant axes stay as product options, and other relevant Akeneo attributes are auto-mapped as custom fields unless you override them here. Use the editor skip checkbox when an Akeneo attribute should be ignored entirely. Product imports create or update missing Open Mercato custom field definitions automatically and store the Akeneo metadata, validation rules, and groups on those fields.",
88
+ "sync_akeneo.mapping.customFields.missing": "{count} missing locally",
89
+ "sync_akeneo.mapping.customFields.ready": "All mapped fields already exist",
90
+ "sync_akeneo.mapping.customFields.skipped": "{count} skipped",
91
+ "sync_akeneo.mapping.customFields.total": "{count} mapped",
92
+ "sync_akeneo.mapping.emptyFieldsets": "No family fieldset mappings discovered yet. Save credentials and use Refresh discovery to generate them.",
93
+ "sync_akeneo.mapping.emptyMedia": "No media mappings configured yet.",
94
+ "sync_akeneo.mapping.emptyPrices": "No price mappings configured yet.",
95
+ "sync_akeneo.mapping.familyFilter": "Attribute sync family filter",
96
+ "sync_akeneo.mapping.familyFilter.help": "Leave empty to sync family-driven schemas for all Akeneo families.",
97
+ "sync_akeneo.mapping.familyFilterPlaceholder": "family_a, family_b",
98
+ "sync_akeneo.mapping.fieldsetCode": "Fieldset code",
99
+ "sync_akeneo.mapping.fieldsetDescription": "Description",
100
+ "sync_akeneo.mapping.fieldsetLabel": "Fieldset label",
101
+ "sync_akeneo.mapping.fieldsets": "Family to fieldset mappings",
102
+ "sync_akeneo.mapping.fieldsets.help": "Discovered Akeneo families become Open Mercato fieldsets automatically. Adjust the fieldset code, label, or description here, and add manual family-variant rows when a specific Akeneo family variant should use a different variant fieldset.",
103
+ "sync_akeneo.mapping.from": "From",
104
+ "sync_akeneo.mapping.heading": "Field mapping",
105
+ "sync_akeneo.mapping.help": "Mappings are discovered automatically from the saved Akeneo credentials. Use refresh discovery to pull the latest Akeneo metadata and add any missing mappings without deleting your existing overrides.",
106
+ "sync_akeneo.mapping.importChannels": "Imported Akeneo channels",
107
+ "sync_akeneo.mapping.importChannels.all": "Import all Akeneo channels",
108
+ "sync_akeneo.mapping.importChannels.help": "Choose which Akeneo channels should be imported for channel-scoped data like offers and prices. Locale stays single-select.",
109
+ "sync_akeneo.mapping.includeNumeric": "Include numeric and metric attributes in generated family schemas",
110
+ "sync_akeneo.mapping.includeText": "Include text attributes in generated family schemas",
111
+ "sync_akeneo.mapping.localChannel": "Open Mercato channel",
112
+ "sync_akeneo.mapping.localChannelPlaceholder": "Select Open Mercato channel",
113
+ "sync_akeneo.mapping.media": "Media and attachment mappings",
114
+ "sync_akeneo.mapping.media.help": "One mapping per line: attribute_code,target(product|variant),kind(image|file). Image mappings are re-hosted into Open Mercato attachments and can become default media; file mappings are imported as attachments.",
115
+ "sync_akeneo.mapping.mediaKinds.file": "File",
116
+ "sync_akeneo.mapping.mediaKinds.image": "Image",
117
+ "sync_akeneo.mapping.priceKind": "Price kind",
118
+ "sync_akeneo.mapping.priceKindPlaceholder": "Select price kind",
119
+ "sync_akeneo.mapping.prices": "Price and offer mappings",
120
+ "sync_akeneo.mapping.prices.help": "One mapping per line: price_attribute,price_kind_code,akeneo_channel,local_channel_code. Each distinct local channel creates or updates an offer, and each price collection entry becomes a Catalog Product Price in the matching currency.",
121
+ "sync_akeneo.mapping.productChannel": "Primary content channel",
122
+ "sync_akeneo.mapping.productChannel.help": "This single Akeneo channel is used for base product content, custom fields, media, and variant labels when attributes are channel-scoped.",
123
+ "sync_akeneo.mapping.productLocale": "Product locale",
124
+ "sync_akeneo.mapping.productLocale.help": "Only this Akeneo locale is imported into the base Open Mercato fields for now. Other locales are ignored until translation import is added.",
125
+ "sync_akeneo.mapping.reconciliation.help": "These cleanup rules apply during full syncs. Incremental syncs continue to upsert changed records, while stale Akeneo-managed offers, prices, and media are reconciled per product on every product import.",
126
+ "sync_akeneo.mapping.reconciliation.title": "Reconciliation and deletions",
127
+ "sync_akeneo.mapping.refresh": "Refresh discovery",
128
+ "sync_akeneo.mapping.save": "Save mappings",
129
+ "sync_akeneo.mapping.saving": "Saving...",
130
+ "sync_akeneo.mapping.sourceCode": "Akeneo code",
131
+ "sync_akeneo.mapping.sourceType": "Source type",
132
+ "sync_akeneo.mapping.sourceType.family": "Family",
133
+ "sync_akeneo.mapping.sourceType.familyVariant": "Family variant",
134
+ "sync_akeneo.mapping.syncAssociations": "Import Akeneo associations into product/variant relation records",
135
+ "sync_akeneo.saved": "Akeneo sync settings saved.",
136
+ "sync_akeneo.setup.credentials.step1": "In Akeneo, open Settings -> Connections and create a new API connection or connected app for Open Mercato.",
137
+ "sync_akeneo.setup.credentials.step2": "Copy the Akeneo base URL, client id, and client secret into the Integration credentials tab in Open Mercato.",
138
+ "sync_akeneo.setup.credentials.step3": "Create a dedicated Akeneo API user, assign it to the right catalog permissions, and use that username/password in the credential form.",
139
+ "sync_akeneo.setup.credentials.step4": "Grant the API user access to products, categories, attributes, families, family variants, locales, and channels. Limit write permissions if you only import.",
140
+ "sync_akeneo.setup.credentials.title": "Create API credentials in Akeneo",
141
+ "sync_akeneo.setup.docs.note1": "Akeneo authentication uses client id, client secret, username, and password. Open Mercato exchanges those for access/refresh tokens automatically.",
142
+ "sync_akeneo.setup.docs.note2": "For large catalogs, keep batch sizes at 100 and prefer incremental product syncs. The importer resumes from the last processed Akeneo updated timestamp plus search_after pagination state.",
143
+ "sync_akeneo.setup.docs.note3": "Simple Akeneo products still create a default Open Mercato variant. Variant Akeneo products flatten the full Akeneo product-model tree into one configurable product plus child variants.",
144
+ "sync_akeneo.setup.docs.note4": "If you want channel offers and prices, create matching Sales Channels and Catalog Price Kinds in Open Mercato first, then reference their codes in the mapping blocks below.",
145
+ "sync_akeneo.setup.docs.title": "Operational notes",
146
+ "sync_akeneo.setup.heading": "Akeneo API setup",
147
+ "sync_akeneo.setup.order.title": "Recommended sync order",
25
148
  "sync_akeneo.setup.scheduleTab": "Run once and recurring schedules now live in the dedicated Sync schedules tab, shared by all data sync integrations.",
26
149
  "sync_akeneo.tabs.settings": "Akeneo sync settings",
27
150
  "sync_akeneo.title": "Akeneo PIM"
@@ -1,28 +1,151 @@
1
1
  {
2
- "sync_akeneo.description": "Import Akeneo product catalogs, family-driven attributes, and products into Open Mercato with resilient batch sync.",
3
- "sync_akeneo.feature.configure": "Configure Akeneo sync settings",
4
- "sync_akeneo.feature.view": "View Akeneo sync configuration",
5
- "sync_akeneo.firstImport.action": "Run the first full import",
6
- "sync_akeneo.firstImport.completed": "The first full Akeneo import finished successfully.",
7
- "sync_akeneo.firstImport.errors.cancelled": "The sync run was cancelled.",
8
- "sync_akeneo.firstImport.errors.failed": "The sync run failed.",
9
- "sync_akeneo.firstImport.errors.generic": "The first full Akeneo import could not be completed.",
10
- "sync_akeneo.firstImport.errors.progress": "Failed to load sync run progress.",
11
- "sync_akeneo.firstImport.errors.start": "Failed to start the sync run.",
12
- "sync_akeneo.firstImport.help": "Launch the standard Akeneo sync sequence in the recommended order: categories first, attributes second, products last.",
13
- "sync_akeneo.firstImport.integrationDisabled": "Enable the integration and save valid Akeneo credentials before starting the first full import.",
14
- "sync_akeneo.firstImport.missingCredentials": "Save valid Akeneo credentials before starting the first full import.",
15
- "sync_akeneo.firstImport.progressCount": "{processed} of {total} items processed in the current run.",
16
- "sync_akeneo.firstImport.progressUnknown": "The current run is active. Live progress also appears in the global operations bar.",
17
- "sync_akeneo.firstImport.running": "Running full import sequence...",
18
- "sync_akeneo.firstImport.status.completed": "Full import completed",
19
- "sync_akeneo.firstImport.status.failed": "Full import failed",
20
- "sync_akeneo.firstImport.status.running": "Full import sequence running",
21
- "sync_akeneo.firstImport.steps.attributes": "Attributes",
22
- "sync_akeneo.firstImport.steps.categories": "Categories",
23
- "sync_akeneo.firstImport.steps.products": "Products",
24
- "sync_akeneo.firstImport.title": "Run the first full import",
25
- "sync_akeneo.setup.scheduleTab": "Run once and recurring schedules now live in the dedicated Sync schedules tab, shared by all data sync integrations.",
26
- "sync_akeneo.tabs.settings": "Akeneo sync settings",
2
+ "sync_akeneo.customFields.actions.add": "Agregar fila",
3
+ "sync_akeneo.customFields.actions.createMissing": "Crear campos faltantes ahora",
4
+ "sync_akeneo.customFields.actions.creating": "Creando...",
5
+ "sync_akeneo.customFields.actions.remove": "Eliminar",
6
+ "sync_akeneo.customFields.columns.actions": "Acciones",
7
+ "sync_akeneo.customFields.columns.attribute": "Atributo Akeneo",
8
+ "sync_akeneo.customFields.columns.key": "Clave del campo",
9
+ "sync_akeneo.customFields.columns.kind": "Tipo",
10
+ "sync_akeneo.customFields.columns.skip": "Omitir importación",
11
+ "sync_akeneo.customFields.columns.status": "Estado",
12
+ "sync_akeneo.customFields.columns.target": "Destino",
13
+ "sync_akeneo.customFields.createNothing": "No hay asignaciones de campos personalizados no omitidos para crear.",
14
+ "sync_akeneo.customFields.created": "Campos personalizados respaldados por Akeneo creados.",
15
+ "sync_akeneo.customFields.dialog.apply": "Aplicar",
16
+ "sync_akeneo.customFields.dialog.close": "Cerrar",
17
+ "sync_akeneo.customFields.dialog.description": "Edite asignaciones estructuradas de campos personalizados, revise qué definiciones de campos locales ya existen, genere las faltantes de inmediato o marque atributos Akeneo específicos para omitir durante la importación.",
18
+ "sync_akeneo.customFields.dialog.summary.missing": "{count} filas sin campos locales",
19
+ "sync_akeneo.customFields.dialog.summary.ready": "Todo en esta asignación ya existe localmente",
20
+ "sync_akeneo.customFields.dialog.summary.total": "{count} filas de asignación",
21
+ "sync_akeneo.customFields.dialog.title": "Editor de campos personalizados Akeneo",
22
+ "sync_akeneo.customFields.empty": "Aún no hay campos personalizados Akeneo asignados. Use las sugerencias a continuación o agregue una fila manualmente.",
23
+ "sync_akeneo.customFields.kinds.auto": "Auto",
24
+ "sync_akeneo.customFields.status.missing": "Faltante",
25
+ "sync_akeneo.customFields.status.ready": "Existe",
26
+ "sync_akeneo.customFields.status.skipped": "Omitido",
27
+ "sync_akeneo.customFields.suggestions.help": "Agregue rápidamente atributos descubiertos que aún no son parte de la asignación de campos personalizados Akeneo.",
28
+ "sync_akeneo.customFields.suggestions.title": "Atributos Akeneo sugeridos",
29
+ "sync_akeneo.customFields.targets.product": "Producto",
30
+ "sync_akeneo.customFields.targets.variant": "Variante",
31
+ "sync_akeneo.deleteImportedProducts.action": "Forzar eliminación de todos los productos importados",
32
+ "sync_akeneo.deleteImportedProducts.cancel": "Cancelar",
33
+ "sync_akeneo.deleteImportedProducts.cancelled": "La eliminación de productos Akeneo importados fue cancelada.",
34
+ "sync_akeneo.deleteImportedProducts.completed": "Eliminación de productos Akeneo importados completada.",
35
+ "sync_akeneo.deleteImportedProducts.confirmAction": "Forzar eliminación",
36
+ "sync_akeneo.deleteImportedProducts.confirmText": "Esto eliminará permanentemente los productos importados por la integración Akeneo para la organización actual, junto con sus variantes importadas y datos de catálogo relacionados. El cursor de productos Akeneo también se restablecerá para que pueda comenzar una importación nueva desde cero.",
37
+ "sync_akeneo.deleteImportedProducts.confirmTitle": "¿Forzar eliminación de todos los productos Akeneo importados?",
38
+ "sync_akeneo.deleteImportedProducts.failed": "La eliminación de productos Akeneo importados falló.",
39
+ "sync_akeneo.deleteImportedProducts.inProgress": "Eliminación en progreso...",
40
+ "sync_akeneo.deleteImportedProducts.pending": "El trabajo de eliminación se está preparando.",
41
+ "sync_akeneo.deleteImportedProducts.preparing": "Preparando...",
42
+ "sync_akeneo.deleteImportedProducts.progressTitle": "Eliminando productos Akeneo importados",
43
+ "sync_akeneo.description": "Importe catálogos de productos Akeneo, atributos basados en familias y productos a Open Mercato con sincronización por lotes resiliente.",
44
+ "sync_akeneo.discovery.attributes": "Atributos",
45
+ "sync_akeneo.discovery.channels": "Canales",
46
+ "sync_akeneo.discovery.families": "Familias",
47
+ "sync_akeneo.discovery.heading": "Campos Akeneo descubiertos",
48
+ "sync_akeneo.discovery.help": "Estos valores provienen de las credenciales Akeneo actuales y se pueden pegar con seguridad en los campos de asignación.",
49
+ "sync_akeneo.discovery.localChannels": "Canales Open Mercato",
50
+ "sync_akeneo.discovery.locales": "Idiomas",
51
+ "sync_akeneo.discovery.priceKinds": "Tipos de precios de catálogo",
52
+ "sync_akeneo.discovery.rediscovered": "Campos Akeneo actualizados y asignaciones faltantes agregadas.",
53
+ "sync_akeneo.feature.configure": "Configurar ajustes de sincronización Akeneo",
54
+ "sync_akeneo.feature.view": "Ver configuración de sincronización Akeneo",
55
+ "sync_akeneo.firstImport.action": "Ejecutar la primera importación completa",
56
+ "sync_akeneo.firstImport.completed": "La primera importación completa de Akeneo finalizó exitosamente.",
57
+ "sync_akeneo.firstImport.errors.cancelled": "La sincronización fue cancelada.",
58
+ "sync_akeneo.firstImport.errors.failed": "La sincronización falló.",
59
+ "sync_akeneo.firstImport.errors.generic": "La primera importación completa de Akeneo no pudo completarse.",
60
+ "sync_akeneo.firstImport.errors.progress": "No se pudo cargar el progreso de la sincronización.",
61
+ "sync_akeneo.firstImport.errors.start": "No se pudo iniciar la sincronización.",
62
+ "sync_akeneo.firstImport.help": "Inicie la secuencia estándar de sincronización Akeneo en el orden recomendado: primero categorías, segundo atributos, último productos.",
63
+ "sync_akeneo.firstImport.integrationDisabled": "Habilite la integración y guarde credenciales Akeneo válidas antes de iniciar la primera importación completa.",
64
+ "sync_akeneo.firstImport.missingCredentials": "Guarde credenciales Akeneo válidas antes de iniciar la primera importación completa.",
65
+ "sync_akeneo.firstImport.progressCount": "{processed} de {total} elementos procesados en la ejecución actual.",
66
+ "sync_akeneo.firstImport.progressUnknown": "La ejecución actual está activa. El progreso en vivo también aparece en la barra de operaciones global.",
67
+ "sync_akeneo.firstImport.running": "Ejecutando secuencia de importación completa...",
68
+ "sync_akeneo.firstImport.status.completed": "Importación completa finalizada",
69
+ "sync_akeneo.firstImport.status.failed": "Importación completa fallida",
70
+ "sync_akeneo.firstImport.status.running": "Secuencia de importación completa en ejecución",
71
+ "sync_akeneo.firstImport.steps.attributes": "Atributos",
72
+ "sync_akeneo.firstImport.steps.categories": "Categorías",
73
+ "sync_akeneo.firstImport.steps.products": "Productos",
74
+ "sync_akeneo.firstImport.title": "Ejecutar la primera importación completa",
75
+ "sync_akeneo.links.auth": "Documentación de autenticación Akeneo",
76
+ "sync_akeneo.links.pagination": "Documentación de paginación Akeneo",
77
+ "sync_akeneo.mapping.addRow": "Agregar fila",
78
+ "sync_akeneo.mapping.akeneoChannel": "Canal Akeneo",
79
+ "sync_akeneo.mapping.categoryLocale": "Idioma de etiquetas de categoría",
80
+ "sync_akeneo.mapping.channelPlaceholder": "Opcional",
81
+ "sync_akeneo.mapping.createMissingChannels": "Crear por defecto canales de venta Open Mercato faltantes desde ámbitos Akeneo",
82
+ "sync_akeneo.mapping.customFields": "Asignaciones de campos personalizados",
83
+ "sync_akeneo.mapping.customFields.autoCreate": "La importación de productos Akeneo también crea automáticamente los campos asignados faltantes. Use la acción manual solo cuando desee aprovisionarlos antes de la primera importación.",
84
+ "sync_akeneo.mapping.customFields.createMissing": "Crear campos faltantes",
85
+ "sync_akeneo.mapping.customFields.creating": "Creando...",
86
+ "sync_akeneo.mapping.customFields.editor": "Abrir editor",
87
+ "sync_akeneo.mapping.customFields.help": "Una asignación por línea: attribute_code,target(product|variant),field_key[,kind][,skip]. Después de guardar credenciales Akeneo válidas, Open Mercato descubre asignaciones automáticamente: los ejes de variantes permanecen como opciones de producto, y otros atributos Akeneo relevantes se asignan automáticamente como campos personalizados a menos que los anule aquí. Use la casilla skip del editor cuando un atributo Akeneo deba ignorarse por completo. Las importaciones de productos crean o actualizan automáticamente las definiciones de campos personalizados faltantes de Open Mercato y almacenan los metadatos, reglas de validación y grupos de Akeneo en esos campos.",
88
+ "sync_akeneo.mapping.customFields.missing": "{count} faltan localmente",
89
+ "sync_akeneo.mapping.customFields.ready": "Todos los campos asignados ya existen",
90
+ "sync_akeneo.mapping.customFields.skipped": "{count} omitidos",
91
+ "sync_akeneo.mapping.customFields.total": "{count} asignados",
92
+ "sync_akeneo.mapping.emptyFieldsets": "Aún no se descubrieron asignaciones de conjuntos de campos familiares. Guarde las credenciales y use Actualizar descubrimiento para generarlas.",
93
+ "sync_akeneo.mapping.emptyMedia": "Aún no hay asignaciones de medios configuradas.",
94
+ "sync_akeneo.mapping.emptyPrices": "Aún no hay asignaciones de precios configuradas.",
95
+ "sync_akeneo.mapping.familyFilter": "Filtro de familias para sincronización de atributos",
96
+ "sync_akeneo.mapping.familyFilter.help": "Deje vacío para sincronizar esquemas basados en familias para todas las familias Akeneo.",
97
+ "sync_akeneo.mapping.familyFilterPlaceholder": "familia_a, familia_b",
98
+ "sync_akeneo.mapping.fieldsetCode": "Código del conjunto de campos",
99
+ "sync_akeneo.mapping.fieldsetDescription": "Descripción",
100
+ "sync_akeneo.mapping.fieldsetLabel": "Etiqueta del conjunto de campos",
101
+ "sync_akeneo.mapping.fieldsets": "Asignaciones de familias a conjuntos de campos",
102
+ "sync_akeneo.mapping.fieldsets.help": "Las familias Akeneo descubiertas se convierten automáticamente en conjuntos de campos de Open Mercato. Ajuste el código, etiqueta o descripción del conjunto de campos aquí, y agregue filas manuales de variantes de familia cuando una variante de familia Akeneo específica deba usar un conjunto de campos de variante diferente.",
103
+ "sync_akeneo.mapping.from": "Desde",
104
+ "sync_akeneo.mapping.heading": "Asignación de campos",
105
+ "sync_akeneo.mapping.help": "Las asignaciones se descubren automáticamente desde las credenciales Akeneo guardadas. Use actualizar descubrimiento para obtener los metadatos Akeneo más recientes y agregar asignaciones faltantes sin eliminar sus anulaciones existentes.",
106
+ "sync_akeneo.mapping.importChannels": "Canales Akeneo importados",
107
+ "sync_akeneo.mapping.importChannels.all": "Importar todos los canales Akeneo",
108
+ "sync_akeneo.mapping.importChannels.help": "Elija qué canales Akeneo deben importarse para datos con ámbito de canal como ofertas y precios. El idioma permanece como selección única.",
109
+ "sync_akeneo.mapping.includeNumeric": "Incluir atributos numéricos y métricos en esquemas de familias generados",
110
+ "sync_akeneo.mapping.includeText": "Incluir atributos de texto en esquemas de familias generados",
111
+ "sync_akeneo.mapping.localChannel": "Canal Open Mercato",
112
+ "sync_akeneo.mapping.localChannelPlaceholder": "Seleccionar canal Open Mercato",
113
+ "sync_akeneo.mapping.media": "Asignaciones de medios y adjuntos",
114
+ "sync_akeneo.mapping.media.help": "Una asignación por línea: attribute_code,target(product|variant),kind(image|file). Las asignaciones de imágenes se realojan en adjuntos de Open Mercato y pueden convertirse en medios predeterminados; las asignaciones de archivos se importan como adjuntos.",
115
+ "sync_akeneo.mapping.mediaKinds.file": "Archivo",
116
+ "sync_akeneo.mapping.mediaKinds.image": "Imagen",
117
+ "sync_akeneo.mapping.priceKind": "Tipo de precio",
118
+ "sync_akeneo.mapping.priceKindPlaceholder": "Seleccionar tipo de precio",
119
+ "sync_akeneo.mapping.prices": "Asignaciones de precios y ofertas",
120
+ "sync_akeneo.mapping.prices.help": "Una asignación por línea: price_attribute,price_kind_code,akeneo_channel,local_channel_code. Cada canal local distinto crea o actualiza una oferta, y cada entrada de la colección de precios se convierte en un precio de producto de catálogo en la moneda correspondiente.",
121
+ "sync_akeneo.mapping.productChannel": "Canal de contenido principal",
122
+ "sync_akeneo.mapping.productChannel.help": "Este único canal Akeneo se usa para el contenido base del producto, campos personalizados, medios y etiquetas de variantes cuando los atributos tienen ámbito de canal.",
123
+ "sync_akeneo.mapping.productLocale": "Idioma del producto",
124
+ "sync_akeneo.mapping.productLocale.help": "Actualmente solo este idioma Akeneo se importa a los campos base de Open Mercato. Los demás idiomas se ignoran hasta que se agregue la importación de traducciones.",
125
+ "sync_akeneo.mapping.reconciliation.help": "Estas reglas de limpieza se aplican durante sincronizaciones completas. Las sincronizaciones incrementales continúan actualizando registros modificados, mientras que las ofertas, precios y medios obsoletos gestionados por Akeneo se concilian por producto en cada importación de producto.",
126
+ "sync_akeneo.mapping.reconciliation.title": "Conciliación y eliminaciones",
127
+ "sync_akeneo.mapping.refresh": "Actualizar descubrimiento",
128
+ "sync_akeneo.mapping.save": "Guardar asignaciones",
129
+ "sync_akeneo.mapping.saving": "Guardando...",
130
+ "sync_akeneo.mapping.sourceCode": "Código Akeneo",
131
+ "sync_akeneo.mapping.sourceType": "Tipo de origen",
132
+ "sync_akeneo.mapping.sourceType.family": "Familia",
133
+ "sync_akeneo.mapping.sourceType.familyVariant": "Variante de familia",
134
+ "sync_akeneo.mapping.syncAssociations": "Importar asociaciones Akeneo en registros de relaciones de productos/variantes",
135
+ "sync_akeneo.saved": "Ajustes de sincronización Akeneo guardados.",
136
+ "sync_akeneo.setup.credentials.step1": "En Akeneo, abra Configuración -> Conexiones y cree una nueva conexión API o aplicación conectada para Open Mercato.",
137
+ "sync_akeneo.setup.credentials.step2": "Copie la URL base de Akeneo, el ID de cliente y el secreto de cliente en la pestaña de credenciales de integración en Open Mercato.",
138
+ "sync_akeneo.setup.credentials.step3": "Cree un usuario API dedicado de Akeneo, asígnele los permisos de catálogo correctos y use ese nombre de usuario/contraseña en el formulario de credenciales.",
139
+ "sync_akeneo.setup.credentials.step4": "Otorgue al usuario API acceso a productos, categorías, atributos, familias, variantes de familia, idiomas y canales. Limite los permisos de escritura si solo importa.",
140
+ "sync_akeneo.setup.credentials.title": "Crear credenciales API en Akeneo",
141
+ "sync_akeneo.setup.docs.note1": "La autenticación de Akeneo usa ID de cliente, secreto de cliente, nombre de usuario y contraseña. Open Mercato los intercambia por tokens de acceso/actualización automáticamente.",
142
+ "sync_akeneo.setup.docs.note2": "Para catálogos grandes, mantenga los tamaños de lote en 100 y prefiera sincronizaciones incrementales de productos. El importador reanuda desde la última marca de tiempo de actualización procesada de Akeneo más el estado de paginación search_after.",
143
+ "sync_akeneo.setup.docs.note3": "Los productos simples de Akeneo aún crean una variante predeterminada de Open Mercato. Los productos variantes de Akeneo aplanan el árbol completo de modelo de producto de Akeneo en un producto configurable más variantes hijas.",
144
+ "sync_akeneo.setup.docs.note4": "Si desea ofertas y precios de canal, primero cree canales de venta y tipos de precios de catálogo correspondientes en Open Mercato, luego referencie sus códigos en los bloques de asignación a continuación.",
145
+ "sync_akeneo.setup.docs.title": "Notas operativas",
146
+ "sync_akeneo.setup.heading": "Configuración de API Akeneo",
147
+ "sync_akeneo.setup.order.title": "Orden de sincronización recomendado",
148
+ "sync_akeneo.setup.scheduleTab": "Los programas únicos y recurrentes ahora están en la pestaña dedicada de programación de sincronización, compartida por todas las integraciones de sincronización de datos.",
149
+ "sync_akeneo.tabs.settings": "Ajustes de sincronización Akeneo",
27
150
  "sync_akeneo.title": "Akeneo PIM"
28
151
  }
@@ -1,28 +1,151 @@
1
1
  {
2
- "sync_akeneo.description": "Import Akeneo product catalogs, family-driven attributes, and products into Open Mercato with resilient batch sync.",
3
- "sync_akeneo.feature.configure": "Configure Akeneo sync settings",
4
- "sync_akeneo.feature.view": "View Akeneo sync configuration",
5
- "sync_akeneo.firstImport.action": "Run the first full import",
6
- "sync_akeneo.firstImport.completed": "The first full Akeneo import finished successfully.",
7
- "sync_akeneo.firstImport.errors.cancelled": "The sync run was cancelled.",
8
- "sync_akeneo.firstImport.errors.failed": "The sync run failed.",
9
- "sync_akeneo.firstImport.errors.generic": "The first full Akeneo import could not be completed.",
10
- "sync_akeneo.firstImport.errors.progress": "Failed to load sync run progress.",
11
- "sync_akeneo.firstImport.errors.start": "Failed to start the sync run.",
12
- "sync_akeneo.firstImport.help": "Launch the standard Akeneo sync sequence in the recommended order: categories first, attributes second, products last.",
13
- "sync_akeneo.firstImport.integrationDisabled": "Enable the integration and save valid Akeneo credentials before starting the first full import.",
14
- "sync_akeneo.firstImport.missingCredentials": "Save valid Akeneo credentials before starting the first full import.",
15
- "sync_akeneo.firstImport.progressCount": "{processed} of {total} items processed in the current run.",
16
- "sync_akeneo.firstImport.progressUnknown": "The current run is active. Live progress also appears in the global operations bar.",
17
- "sync_akeneo.firstImport.running": "Running full import sequence...",
18
- "sync_akeneo.firstImport.status.completed": "Full import completed",
19
- "sync_akeneo.firstImport.status.failed": "Full import failed",
20
- "sync_akeneo.firstImport.status.running": "Full import sequence running",
21
- "sync_akeneo.firstImport.steps.attributes": "Attributes",
22
- "sync_akeneo.firstImport.steps.categories": "Categories",
23
- "sync_akeneo.firstImport.steps.products": "Products",
24
- "sync_akeneo.firstImport.title": "Run the first full import",
25
- "sync_akeneo.setup.scheduleTab": "Run once and recurring schedules now live in the dedicated Sync schedules tab, shared by all data sync integrations.",
26
- "sync_akeneo.tabs.settings": "Akeneo sync settings",
2
+ "sync_akeneo.customFields.actions.add": "Dodaj wiersz",
3
+ "sync_akeneo.customFields.actions.createMissing": "Utwórz brakujące pola",
4
+ "sync_akeneo.customFields.actions.creating": "Tworzenie...",
5
+ "sync_akeneo.customFields.actions.remove": "Usuń",
6
+ "sync_akeneo.customFields.columns.actions": "Akcje",
7
+ "sync_akeneo.customFields.columns.attribute": "Atrybut Akeneo",
8
+ "sync_akeneo.customFields.columns.key": "Klucz pola",
9
+ "sync_akeneo.customFields.columns.kind": "Typ",
10
+ "sync_akeneo.customFields.columns.skip": "Pomiń import",
11
+ "sync_akeneo.customFields.columns.status": "Status",
12
+ "sync_akeneo.customFields.columns.target": "Cel",
13
+ "sync_akeneo.customFields.createNothing": "Brak nieskipowanych mapowań pól niestandardowych do utworzenia.",
14
+ "sync_akeneo.customFields.created": "Pola niestandardowe Akeneo zostały utworzone.",
15
+ "sync_akeneo.customFields.dialog.apply": "Zastosuj",
16
+ "sync_akeneo.customFields.dialog.close": "Zamknij",
17
+ "sync_akeneo.customFields.dialog.description": "Edytuj strukturalne mapowania pól niestandardowych, sprawdź które lokalne definicje pól już istnieją, wygeneruj brakujące natychmiast lub oznacz konkretne atrybuty Akeneo do pominięcia podczas importu.",
18
+ "sync_akeneo.customFields.dialog.summary.missing": "{count} wierszy bez lokalnych pól",
19
+ "sync_akeneo.customFields.dialog.summary.ready": "Wszystkie mapowania istnieją już lokalnie",
20
+ "sync_akeneo.customFields.dialog.summary.total": "{count} wierszy mapowań",
21
+ "sync_akeneo.customFields.dialog.title": "Edytor pól niestandardowych Akeneo",
22
+ "sync_akeneo.customFields.empty": "Brak zmapowanych pól niestandardowych Akeneo. Użyj poniższych sugestii lub dodaj wiersz ręcznie.",
23
+ "sync_akeneo.customFields.kinds.auto": "Auto",
24
+ "sync_akeneo.customFields.status.missing": "Brakuje",
25
+ "sync_akeneo.customFields.status.ready": "Istnieje",
26
+ "sync_akeneo.customFields.status.skipped": "Pominięty",
27
+ "sync_akeneo.customFields.suggestions.help": "Szybkie dodawanie odkrytych atrybutów, które nie są jeszcze częścią mapowania pól niestandardowych Akeneo.",
28
+ "sync_akeneo.customFields.suggestions.title": "Sugerowane atrybuty Akeneo",
29
+ "sync_akeneo.customFields.targets.product": "Produkt",
30
+ "sync_akeneo.customFields.targets.variant": "Wariant",
31
+ "sync_akeneo.deleteImportedProducts.action": "Wymuś usunięcie wszystkich zaimportowanych produktów",
32
+ "sync_akeneo.deleteImportedProducts.cancel": "Anuluj",
33
+ "sync_akeneo.deleteImportedProducts.cancelled": "Usuwanie zaimportowanych produktów Akeneo zostało anulowane.",
34
+ "sync_akeneo.deleteImportedProducts.completed": "Usuwanie zaimportowanych produktów Akeneo zakończone.",
35
+ "sync_akeneo.deleteImportedProducts.confirmAction": "Wymuś usunięcie",
36
+ "sync_akeneo.deleteImportedProducts.confirmText": "Spowoduje to trwałe usunięcie produktów zaimportowanych przez integrację Akeneo dla bieżącej organizacji, wraz z ich wariantami i powiązanymi danymi katalogowymi. Kursor produktów Akeneo zostanie również zresetowany, aby można było rozpocząć świeży import od zera.",
37
+ "sync_akeneo.deleteImportedProducts.confirmTitle": "Wymusić usunięcie wszystkich zaimportowanych produktów Akeneo?",
38
+ "sync_akeneo.deleteImportedProducts.failed": "Usuwanie zaimportowanych produktów Akeneo nie powiodło się.",
39
+ "sync_akeneo.deleteImportedProducts.inProgress": "Usuwanie w toku...",
40
+ "sync_akeneo.deleteImportedProducts.pending": "Zadanie usuwania jest przygotowywane.",
41
+ "sync_akeneo.deleteImportedProducts.preparing": "Przygotowywanie...",
42
+ "sync_akeneo.deleteImportedProducts.progressTitle": "Usuwanie zaimportowanych produktów Akeneo",
43
+ "sync_akeneo.description": "Importuj katalogi produktów, atrybuty oparte na rodzinach i produkty z Akeneo do Open Mercato z odporną synchronizacją wsadową.",
44
+ "sync_akeneo.discovery.attributes": "Atrybuty",
45
+ "sync_akeneo.discovery.channels": "Kanały",
46
+ "sync_akeneo.discovery.families": "Rodziny",
47
+ "sync_akeneo.discovery.heading": "Odkryte pola Akeneo",
48
+ "sync_akeneo.discovery.help": "Te wartości pochodzą z bieżących danych uwierzytelniających Akeneo i można je bezpiecznie wkleić do pól mapowania.",
49
+ "sync_akeneo.discovery.localChannels": "Kanały Open Mercato",
50
+ "sync_akeneo.discovery.locales": "Lokalizacje",
51
+ "sync_akeneo.discovery.priceKinds": "Rodzaje cen katalogowych",
52
+ "sync_akeneo.discovery.rediscovered": "Pola Akeneo odświeżone i brakujące mapowania dodane.",
53
+ "sync_akeneo.feature.configure": "Konfiguracja ustawień synchronizacji Akeneo",
54
+ "sync_akeneo.feature.view": "Podgląd konfiguracji synchronizacji Akeneo",
55
+ "sync_akeneo.firstImport.action": "Uruchom pierwszy pełny import",
56
+ "sync_akeneo.firstImport.completed": "Pierwszy pełny import z Akeneo zakończony pomyślnie.",
57
+ "sync_akeneo.firstImport.errors.cancelled": "Synchronizacja została anulowana.",
58
+ "sync_akeneo.firstImport.errors.failed": "Synchronizacja nie powiodła się.",
59
+ "sync_akeneo.firstImport.errors.generic": "Pierwszy pełny import z Akeneo nie mógł zostać ukończony.",
60
+ "sync_akeneo.firstImport.errors.progress": "Nie udało się załadować postępu synchronizacji.",
61
+ "sync_akeneo.firstImport.errors.start": "Nie udało się rozpocząć synchronizacji.",
62
+ "sync_akeneo.firstImport.help": "Uruchom standardową sekwencję synchronizacji Akeneo w zalecanej kolejności: najpierw kategorie, potem atrybuty, na końcu produkty.",
63
+ "sync_akeneo.firstImport.integrationDisabled": "Włącz integrację i zapisz prawidłowe dane uwierzytelniające Akeneo przed rozpoczęciem pierwszego pełnego importu.",
64
+ "sync_akeneo.firstImport.missingCredentials": "Zapisz prawidłowe dane uwierzytelniające Akeneo przed rozpoczęciem pierwszego pełnego importu.",
65
+ "sync_akeneo.firstImport.progressCount": "{processed} z {total} elementów przetworzonych w bieżącym uruchomieniu.",
66
+ "sync_akeneo.firstImport.progressUnknown": "Bieżące uruchomienie jest aktywne. Postęp na żywo widoczny jest również na pasku operacji globalnych.",
67
+ "sync_akeneo.firstImport.running": "Uruchamianie pełnej sekwencji importu...",
68
+ "sync_akeneo.firstImport.status.completed": "Pełny import zakończony",
69
+ "sync_akeneo.firstImport.status.failed": "Pełny import nie powiódł się",
70
+ "sync_akeneo.firstImport.status.running": "Sekwencja pełnego importu w toku",
71
+ "sync_akeneo.firstImport.steps.attributes": "Atrybuty",
72
+ "sync_akeneo.firstImport.steps.categories": "Kategorie",
73
+ "sync_akeneo.firstImport.steps.products": "Produkty",
74
+ "sync_akeneo.firstImport.title": "Uruchom pierwszy pełny import",
75
+ "sync_akeneo.links.auth": "Dokumentacja uwierzytelniania Akeneo",
76
+ "sync_akeneo.links.pagination": "Dokumentacja paginacji Akeneo",
77
+ "sync_akeneo.mapping.addRow": "Dodaj wiersz",
78
+ "sync_akeneo.mapping.akeneoChannel": "Kanał Akeneo",
79
+ "sync_akeneo.mapping.categoryLocale": "Język etykiet kategorii",
80
+ "sync_akeneo.mapping.channelPlaceholder": "Opcjonalnie",
81
+ "sync_akeneo.mapping.createMissingChannels": "Domyślnie twórz brakujące kanały sprzedaży Open Mercato z zakresów Akeneo",
82
+ "sync_akeneo.mapping.customFields": "Mapowania pól niestandardowych",
83
+ "sync_akeneo.mapping.customFields.autoCreate": "Import produktów Akeneo automatycznie tworzy również brakujące zmapowane pola. Użyj ręcznej akcji tylko wtedy, gdy chcesz je przygotować przed pierwszym importem.",
84
+ "sync_akeneo.mapping.customFields.createMissing": "Utwórz brakujące pola",
85
+ "sync_akeneo.mapping.customFields.creating": "Tworzenie...",
86
+ "sync_akeneo.mapping.customFields.editor": "Otwórz edytor",
87
+ "sync_akeneo.mapping.customFields.help": "Jedno mapowanie na linię: attribute_code,target(product|variant),field_key[,kind][,skip]. Po zapisaniu prawidłowych danych uwierzytelniających Akeneo, Open Mercato automatycznie odkrywa mapowania: osie wariantów pozostają jako opcje produktu, a inne odpowiednie atrybuty Akeneo są automatycznie mapowane jako pola niestandardowe, chyba że je nadpiszesz. Użyj pola skip w edytorze, gdy atrybut Akeneo powinien być całkowicie ignorowany. Import produktów automatycznie tworzy lub aktualizuje brakujące definicje pól niestandardowych Open Mercato i przechowuje metadane, reguły walidacji i grupy Akeneo w tych polach.",
88
+ "sync_akeneo.mapping.customFields.missing": "{count} brakuje lokalnie",
89
+ "sync_akeneo.mapping.customFields.ready": "Wszystkie zmapowane pola już istnieją",
90
+ "sync_akeneo.mapping.customFields.skipped": "{count} pominiętych",
91
+ "sync_akeneo.mapping.customFields.total": "{count} zmapowanych",
92
+ "sync_akeneo.mapping.emptyFieldsets": "Nie odkryto jeszcze mapowań zestawów pól rodzin. Zapisz dane uwierzytelniające i użyj Odśwież odkrywanie, aby je wygenerować.",
93
+ "sync_akeneo.mapping.emptyMedia": "Nie skonfigurowano jeszcze mapowań mediów.",
94
+ "sync_akeneo.mapping.emptyPrices": "Nie skonfigurowano jeszcze mapowań cen.",
95
+ "sync_akeneo.mapping.familyFilter": "Filtr rodzin do synchronizacji atrybutów",
96
+ "sync_akeneo.mapping.familyFilter.help": "Pozostaw puste, aby synchronizować schematy oparte na rodzinach dla wszystkich rodzin Akeneo.",
97
+ "sync_akeneo.mapping.familyFilterPlaceholder": "rodzina_a, rodzina_b",
98
+ "sync_akeneo.mapping.fieldsetCode": "Kod zestawu pól",
99
+ "sync_akeneo.mapping.fieldsetDescription": "Opis",
100
+ "sync_akeneo.mapping.fieldsetLabel": "Etykieta zestawu pól",
101
+ "sync_akeneo.mapping.fieldsets": "Mapowania rodzin do zestawów pól",
102
+ "sync_akeneo.mapping.fieldsets.help": "Odkryte rodziny Akeneo stają się automatycznie zestawami pól Open Mercato. Dostosuj kod, etykietę lub opis zestawu pól tutaj, a dodaj ręczne wiersze wariantów rodzin, gdy konkretny wariant rodziny Akeneo powinien używać innego zestawu pól wariantu.",
103
+ "sync_akeneo.mapping.from": "Z",
104
+ "sync_akeneo.mapping.heading": "Mapowanie pól",
105
+ "sync_akeneo.mapping.help": "Mapowania są odkrywane automatycznie na podstawie zapisanych danych uwierzytelniających Akeneo. Użyj odświeżenia odkrywania, aby pobrać najnowsze metadane Akeneo i dodać brakujące mapowania bez usuwania istniejących nadpisań.",
106
+ "sync_akeneo.mapping.importChannels": "Importowane kanały Akeneo",
107
+ "sync_akeneo.mapping.importChannels.all": "Importuj wszystkie kanały Akeneo",
108
+ "sync_akeneo.mapping.importChannels.help": "Wybierz, które kanały Akeneo powinny być importowane dla danych o zakresie kanału, takich jak oferty i ceny. Język pozostaje jednokrotnego wyboru.",
109
+ "sync_akeneo.mapping.includeNumeric": "Dołącz atrybuty numeryczne i metryczne do generowanych schematów rodzin",
110
+ "sync_akeneo.mapping.includeText": "Dołącz atrybuty tekstowe do generowanych schematów rodzin",
111
+ "sync_akeneo.mapping.localChannel": "Kanał Open Mercato",
112
+ "sync_akeneo.mapping.localChannelPlaceholder": "Wybierz kanał Open Mercato",
113
+ "sync_akeneo.mapping.media": "Mapowania mediów i załączników",
114
+ "sync_akeneo.mapping.media.help": "Jedno mapowanie na linię: attribute_code,target(product|variant),kind(image|file). Mapowania obrazów są przenoszone do załączników Open Mercato i mogą stać się domyślnymi mediami; mapowania plików są importowane jako załączniki.",
115
+ "sync_akeneo.mapping.mediaKinds.file": "Plik",
116
+ "sync_akeneo.mapping.mediaKinds.image": "Obraz",
117
+ "sync_akeneo.mapping.priceKind": "Rodzaj ceny",
118
+ "sync_akeneo.mapping.priceKindPlaceholder": "Wybierz rodzaj ceny",
119
+ "sync_akeneo.mapping.prices": "Mapowania cen i ofert",
120
+ "sync_akeneo.mapping.prices.help": "Jedno mapowanie na linię: price_attribute,price_kind_code,akeneo_channel,local_channel_code. Każdy odrębny lokalny kanał tworzy lub aktualizuje ofertę, a każdy wpis kolekcji cen staje się ceną produktu katalogowego w odpowiedniej walucie.",
121
+ "sync_akeneo.mapping.productChannel": "Główny kanał treści",
122
+ "sync_akeneo.mapping.productChannel.help": "Ten pojedynczy kanał Akeneo jest używany do podstawowej treści produktu, pól niestandardowych, mediów i etykiet wariantów, gdy atrybuty mają zakres kanału.",
123
+ "sync_akeneo.mapping.productLocale": "Język produktu",
124
+ "sync_akeneo.mapping.productLocale.help": "Obecnie tylko ten język Akeneo jest importowany do podstawowych pól Open Mercato. Inne języki są ignorowane do czasu dodania importu tłumaczeń.",
125
+ "sync_akeneo.mapping.reconciliation.help": "Te reguły porządkowania stosują się podczas pełnych synchronizacji. Synchronizacje przyrostowe kontynuują upsert zmienionych rekordów, podczas gdy nieaktualne oferty, ceny i media zarządzane przez Akeneo są uzgadniane na produkt przy każdym imporcie produktu.",
126
+ "sync_akeneo.mapping.reconciliation.title": "Uzgadnianie i usuwanie",
127
+ "sync_akeneo.mapping.refresh": "Odśwież odkrywanie",
128
+ "sync_akeneo.mapping.save": "Zapisz mapowania",
129
+ "sync_akeneo.mapping.saving": "Zapisywanie...",
130
+ "sync_akeneo.mapping.sourceCode": "Kod Akeneo",
131
+ "sync_akeneo.mapping.sourceType": "Typ źródła",
132
+ "sync_akeneo.mapping.sourceType.family": "Rodzina",
133
+ "sync_akeneo.mapping.sourceType.familyVariant": "Wariant rodziny",
134
+ "sync_akeneo.mapping.syncAssociations": "Importuj powiązania Akeneo do rekordów relacji produktów/wariantów",
135
+ "sync_akeneo.saved": "Ustawienia synchronizacji Akeneo zapisane.",
136
+ "sync_akeneo.setup.credentials.step1": "W Akeneo otwórz Ustawienia -> Połączenia i utwórz nowe połączenie API lub połączoną aplikację dla Open Mercato.",
137
+ "sync_akeneo.setup.credentials.step2": "Skopiuj bazowy URL Akeneo, identyfikator klienta i sekret klienta do zakładki danych uwierzytelniających integracji w Open Mercato.",
138
+ "sync_akeneo.setup.credentials.step3": "Utwórz dedykowanego użytkownika API Akeneo, przypisz mu odpowiednie uprawnienia do katalogu i użyj nazwy użytkownika/hasła w formularzu danych uwierzytelniających.",
139
+ "sync_akeneo.setup.credentials.step4": "Nadaj użytkownikowi API dostęp do produktów, kategorii, atrybutów, rodzin, wariantów rodzin, lokalizacji i kanałów. Ogranicz uprawnienia zapisu, jeśli tylko importujesz.",
140
+ "sync_akeneo.setup.credentials.title": "Utwórz dane uwierzytelniające API w Akeneo",
141
+ "sync_akeneo.setup.docs.note1": "Uwierzytelnianie Akeneo używa identyfikatora klienta, sekretu klienta, nazwy użytkownika i hasła. Open Mercato automatycznie wymienia je na tokeny dostępu/odświeżania.",
142
+ "sync_akeneo.setup.docs.note2": "Dla dużych katalogów utrzymuj rozmiary partii na poziomie 100 i preferuj synchronizacje przyrostowe produktów. Importer wznawia od ostatniego przetworzonego znacznika czasu aktualizacji Akeneo plus stanu paginacji search_after.",
143
+ "sync_akeneo.setup.docs.note3": "Proste produkty Akeneo nadal tworzą domyślny wariant Open Mercato. Wariantowe produkty Akeneo spłaszczają pełne drzewo modelu produktu Akeneo do jednego konfigurowalnego produktu plus warianty potomne.",
144
+ "sync_akeneo.setup.docs.note4": "Jeśli chcesz oferty i ceny kanałowe, najpierw utwórz odpowiednie kanały sprzedaży i rodzaje cen katalogowych w Open Mercato, a następnie użyj ich kodów w poniższych blokach mapowania.",
145
+ "sync_akeneo.setup.docs.title": "Uwagi operacyjne",
146
+ "sync_akeneo.setup.heading": "Konfiguracja API Akeneo",
147
+ "sync_akeneo.setup.order.title": "Zalecana kolejność synchronizacji",
148
+ "sync_akeneo.setup.scheduleTab": "Jednorazowe i cykliczne harmonogramy znajdują się teraz w dedykowanej zakładce Harmonogramy synchronizacji, współdzielonej przez wszystkie integracje synchronizacji danych.",
149
+ "sync_akeneo.tabs.settings": "Ustawienia synchronizacji Akeneo",
27
150
  "sync_akeneo.title": "Akeneo PIM"
28
151
  }