Browse Source

feat: add complete manage-store-data translations for all languages

- Add Website Content tab translations to English (en.json)
- Add complete manageStoreData section to German (de.json)
- Add Website Content translations to Hungarian (hu.json)
- Include all scraper-related UI elements:
  * Scraper status display and controls
  * Custom URL management with content types
  * Content viewer with filters and table
  * Toast messages for all operations
- Support for product management translations in all languages
- Complete localization for EN, DE, HU languages

Now the manage-store-data page is fully localized across all
supported languages with proper translations for both the
existing products tab and new website content functionality.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Fszontagh 4 months ago
parent
commit
e7488a8585

+ 150 - 0
shopcall.ai-main/src/i18n/locales/de.json

@@ -999,5 +999,155 @@
       "about": "Über uns",
       "about": "Über uns",
       "privacy": "Datenschutzrichtlinie"
       "privacy": "Datenschutzrichtlinie"
     }
     }
+  },
+  "manageStoreData": {
+    "title": "Shop-Daten verwalten",
+    "subtitle": "Kontrollieren Sie, welche Daten im KI-Kontext enthalten sind",
+    "loading": "Shops werden geladen...",
+    "noStores": {
+      "title": "Keine Shops verbunden",
+      "description": "Bitte verbinden Sie zuerst einen Shop, bevor Sie Daten verwalten.",
+      "button": "Zu Webshops gehen"
+    },
+    "storeSelector": {
+      "unnamedStore": "Unbenannter Shop"
+    },
+    "tabs": {
+      "products": "Produkte",
+      "website": "Website-Inhalte",
+      "dataManagement": "Datenverwaltung"
+    },
+    "search": {
+      "placeholder": "{{type}} suchen...",
+      "products": "Produkte"
+    },
+    "filters": {
+      "all": "Alle Artikel",
+      "enabled": "Nur aktiviert",
+      "disabled": "Nur deaktiviert"
+    },
+    "bulkActions": {
+      "selectedCount": "{{count}} Artikel ausgewählt",
+      "enableSelected": "Ausgewählte aktivieren",
+      "disableSelected": "Ausgewählte deaktivieren",
+      "enableAll": "Alle aktivieren",
+      "disableAll": "Alle deaktivieren"
+    },
+    "table": {
+      "name": "Name",
+      "sku": "SKU",
+      "price": "Preis",
+      "enabled": "Aktiviert",
+      "noProducts": "Keine Produkte gefunden"
+    },
+    "pagination": {
+      "itemsPerPage": "Artikel pro Seite:",
+      "page": "Seite",
+      "of": "von",
+      "total": "{{count}} gesamt"
+    },
+    "confirmDialog": {
+      "enableAllTitle": "Alle {{type}} aktivieren",
+      "enableAllDescription": "Sind Sie sicher, dass Sie alle {{type}} für den KI-Kontext aktivieren möchten?",
+      "disableAllTitle": "Alle {{type}} deaktivieren",
+      "disableAllDescription": "Sind Sie sicher, dass Sie alle {{type}} vom KI-Kontext deaktivieren möchten?",
+      "cancel": "Abbrechen",
+      "confirm": "Bestätigen"
+    },
+    "toast": {
+      "errorLoadStoresTitle": "Fehler",
+      "errorLoadStoresDescription": "Fehler beim Laden der Shops. Bitte versuchen Sie es erneut.",
+      "errorLoadDataTitle": "Fehler",
+      "errorLoadDataDescription": "Fehler beim Laden der {{type}}. Bitte versuchen Sie es erneut.",
+      "successToggleTitle": "Erfolg",
+      "successToggleEnabled": "Artikel erfolgreich aktiviert.",
+      "successToggleDisabled": "Artikel erfolgreich deaktiviert.",
+      "errorToggleTitle": "Fehler",
+      "errorToggleDescription": "Fehler beim Aktualisieren des Artikels. Bitte versuchen Sie es erneut.",
+      "successBulkTitle": "Erfolg",
+      "successBulkEnabled": "{{count}} Artikel erfolgreich aktiviert.",
+      "successBulkDisabled": "{{count}} Artikel erfolgreich deaktiviert.",
+      "errorBulkTitle": "Fehler",
+      "errorBulkDescription": "Fehler beim Aktualisieren der Artikel. Bitte versuchen Sie es erneut.",
+      "successEnableAllTitle": "Erfolg",
+      "successEnableAllDescription": "Alle {{type}} erfolgreich aktiviert.",
+      "errorEnableAllTitle": "Fehler",
+      "errorEnableAllDescription": "Fehler beim Aktivieren aller Artikel. Bitte versuchen Sie es erneut.",
+      "successDisableAllTitle": "Erfolg",
+      "successDisableAllDescription": "Alle {{type}} erfolgreich deaktiviert.",
+      "errorDisableAllTitle": "Fehler",
+      "errorDisableAllDescription": "Fehler beim Deaktivieren aller Artikel. Bitte versuchen Sie es erneut."
+    },
+    "website": {
+      "scraperStatus": {
+        "title": "Scraper-Status",
+        "registered": "Registriert",
+        "notRegistered": "Nicht registriert",
+        "enabled": "Aktiviert",
+        "disabled": "Deaktiviert",
+        "registerButton": "Bei Scraper registrieren",
+        "enableButton": "Scraping aktivieren",
+        "disableButton": "Scraping deaktivieren",
+        "registering": "Wird registriert...",
+        "enabling": "Wird aktiviert...",
+        "disabling": "Wird deaktiviert...",
+        "error": "Fehler: {{message}}"
+      },
+      "customUrls": {
+        "title": "Benutzerdefinierte URLs",
+        "description": "Fügen Sie spezifische Seiten Ihrer Website hinzu, die für zusätzliche Inhalte gescrapt werden sollen",
+        "addButton": "Benutzerdefinierte URL hinzufügen",
+        "urlPlaceholder": "https://ihrshop.de/seite",
+        "contentType": "Inhaltstyp",
+        "contentTypes": {
+          "faq": "FAQ",
+          "contact": "Kontakt",
+          "about": "Über uns",
+          "policy": "Datenschutzrichtlinie",
+          "terms": "Nutzungsbedingungen",
+          "shipping": "Versandinformationen",
+          "returns": "Rückgaberichtlinie",
+          "support": "Support",
+          "other": "Andere"
+        },
+        "addingUrl": "URL wird hinzugefügt...",
+        "noCustomUrls": "Noch keine benutzerdefinierten URLs hinzugefügt",
+        "domainError": "Die URL muss von derselben Domain wie Ihr Shop stammen"
+      },
+      "contentViewer": {
+        "title": "Gescrapte Inhalte",
+        "description": "Zeigen Sie Inhalte an, die von Ihrer Website gescrapt wurden",
+        "filters": {
+          "contentType": "Inhaltstyp",
+          "allTypes": "Alle Typen",
+          "dateRange": "Datumsbereich",
+          "lastWeek": "Letzte Woche",
+          "lastMonth": "Letzter Monat",
+          "lastThreeMonths": "Letzte 3 Monate"
+        },
+        "table": {
+          "url": "URL",
+          "type": "Typ",
+          "lastUpdated": "Zuletzt aktualisiert",
+          "viewContent": "Inhalt anzeigen"
+        },
+        "loading": "Inhalte werden geladen...",
+        "noContent": "Keine Inhalte gefunden",
+        "contentDialog": {
+          "title": "Inhaltsdetails",
+          "close": "Schließen"
+        }
+      },
+      "toast": {
+        "registrationSuccess": "Shop erfolgreich beim Scraper registriert",
+        "registrationError": "Fehler beim Registrieren des Shops beim Scraper",
+        "enableSuccess": "Scraping erfolgreich aktiviert",
+        "enableError": "Fehler beim Aktivieren des Scrapings",
+        "disableSuccess": "Scraping erfolgreich deaktiviert",
+        "disableError": "Fehler beim Deaktivieren des Scrapings",
+        "urlAddSuccess": "Benutzerdefinierte URL erfolgreich hinzugefügt",
+        "urlAddError": "Fehler beim Hinzufügen der benutzerdefinierten URL"
+      }
+    }
   }
   }
 }
 }

+ 72 - 0
shopcall.ai-main/src/i18n/locales/en.json

@@ -1170,6 +1170,7 @@
     },
     },
     "tabs": {
     "tabs": {
       "products": "Products",
       "products": "Products",
+      "website": "Website Content",
       "dataManagement": "Data Management"
       "dataManagement": "Data Management"
     },
     },
     "search": {
     "search": {
@@ -1232,6 +1233,77 @@
       "successDisableAllDescription": "All {{type}} disabled successfully.",
       "successDisableAllDescription": "All {{type}} disabled successfully.",
       "errorDisableAllTitle": "Error",
       "errorDisableAllTitle": "Error",
       "errorDisableAllDescription": "Failed to disable all items. Please try again."
       "errorDisableAllDescription": "Failed to disable all items. Please try again."
+    },
+    "website": {
+      "scraperStatus": {
+        "title": "Scraper Status",
+        "registered": "Registered",
+        "notRegistered": "Not Registered",
+        "enabled": "Enabled",
+        "disabled": "Disabled",
+        "registerButton": "Register with Scraper",
+        "enableButton": "Enable Scraping",
+        "disableButton": "Disable Scraping",
+        "registering": "Registering...",
+        "enabling": "Enabling...",
+        "disabling": "Disabling...",
+        "error": "Error: {{message}}"
+      },
+      "customUrls": {
+        "title": "Custom URLs",
+        "description": "Add specific pages from your website to be scraped for additional content",
+        "addButton": "Add Custom URL",
+        "urlPlaceholder": "https://yourstore.com/page",
+        "contentType": "Content Type",
+        "contentTypes": {
+          "faq": "FAQ",
+          "contact": "Contact",
+          "about": "About Us",
+          "policy": "Privacy Policy",
+          "terms": "Terms of Service",
+          "shipping": "Shipping Info",
+          "returns": "Returns Policy",
+          "support": "Support",
+          "other": "Other"
+        },
+        "addingUrl": "Adding URL...",
+        "noCustomUrls": "No custom URLs added yet",
+        "domainError": "URL must be from the same domain as your store"
+      },
+      "contentViewer": {
+        "title": "Scraped Content",
+        "description": "View content that has been scraped from your website",
+        "filters": {
+          "contentType": "Content Type",
+          "allTypes": "All Types",
+          "dateRange": "Date Range",
+          "lastWeek": "Last Week",
+          "lastMonth": "Last Month",
+          "lastThreeMonths": "Last 3 Months"
+        },
+        "table": {
+          "url": "URL",
+          "type": "Type",
+          "lastUpdated": "Last Updated",
+          "viewContent": "View Content"
+        },
+        "loading": "Loading content...",
+        "noContent": "No content found",
+        "contentDialog": {
+          "title": "Content Details",
+          "close": "Close"
+        }
+      },
+      "toast": {
+        "registrationSuccess": "Store registered with scraper successfully",
+        "registrationError": "Failed to register store with scraper",
+        "enableSuccess": "Scraping enabled successfully",
+        "enableError": "Failed to enable scraping",
+        "disableSuccess": "Scraping disabled successfully",
+        "disableError": "Failed to disable scraping",
+        "urlAddSuccess": "Custom URL added successfully",
+        "urlAddError": "Failed to add custom URL"
+      }
     }
     }
   },
   },
   "callDetails": {
   "callDetails": {

+ 72 - 0
shopcall.ai-main/src/i18n/locales/hu.json

@@ -1160,6 +1160,7 @@
     },
     },
     "tabs": {
     "tabs": {
       "products": "Termékek",
       "products": "Termékek",
+      "website": "Weboldal Tartalom",
       "dataManagement": "Adatkezelés"
       "dataManagement": "Adatkezelés"
     },
     },
     "search": {
     "search": {
@@ -1222,6 +1223,77 @@
       "successDisableAllDescription": "Összes {{type}} sikeresen letiltva.",
       "successDisableAllDescription": "Összes {{type}} sikeresen letiltva.",
       "errorDisableAllTitle": "Hiba",
       "errorDisableAllTitle": "Hiba",
       "errorDisableAllDescription": "Összes elem letiltása sikertelen. Kérjük, próbálja újra."
       "errorDisableAllDescription": "Összes elem letiltása sikertelen. Kérjük, próbálja újra."
+    },
+    "website": {
+      "scraperStatus": {
+        "title": "Scraper Állapot",
+        "registered": "Regisztrálva",
+        "notRegistered": "Nincs Regisztrálva",
+        "enabled": "Engedélyezve",
+        "disabled": "Letiltva",
+        "registerButton": "Regisztráció a Scraperrel",
+        "enableButton": "Scraping Engedélyezése",
+        "disableButton": "Scraping Letiltása",
+        "registering": "Regisztráció folyamatban...",
+        "enabling": "Engedélyezés...",
+        "disabling": "Letiltás...",
+        "error": "Hiba: {{message}}"
+      },
+      "customUrls": {
+        "title": "Egyedi URL-ek",
+        "description": "Adjon hozzá konkrét oldalakat weboldaláról további tartalom scraping-éhez",
+        "addButton": "Egyedi URL Hozzáadása",
+        "urlPlaceholder": "https://azaruhazmaga.hu/oldal",
+        "contentType": "Tartalom Típus",
+        "contentTypes": {
+          "faq": "GYIK",
+          "contact": "Kapcsolat",
+          "about": "Rólunk",
+          "policy": "Adatvédelmi Irányelvek",
+          "terms": "Felhasználási Feltételek",
+          "shipping": "Szállítási Információk",
+          "returns": "Visszáruitási Irányelvek",
+          "support": "Ügyfélszolgálat",
+          "other": "Egyéb"
+        },
+        "addingUrl": "URL hozzáadása...",
+        "noCustomUrls": "Még nincsenek egyedi URL-ek hozzáadva",
+        "domainError": "Az URL-nek ugyanarról a domainről kell származnia, mint az áruházának"
+      },
+      "contentViewer": {
+        "title": "Scraped Tartalom",
+        "description": "Tekintse meg a weboldaláról letöltött tartalmakat",
+        "filters": {
+          "contentType": "Tartalom Típus",
+          "allTypes": "Minden Típus",
+          "dateRange": "Dátum Tartomány",
+          "lastWeek": "Múlt Hét",
+          "lastMonth": "Múlt Hónap",
+          "lastThreeMonths": "Utolsó 3 Hónap"
+        },
+        "table": {
+          "url": "URL",
+          "type": "Típus",
+          "lastUpdated": "Utoljára Frissítve",
+          "viewContent": "Tartalom Megtekintése"
+        },
+        "loading": "Tartalom betöltése...",
+        "noContent": "Nincs tartalom található",
+        "contentDialog": {
+          "title": "Tartalom Részletei",
+          "close": "Bezárás"
+        }
+      },
+      "toast": {
+        "registrationSuccess": "Áruház sikeresen regisztrálva a scraperrel",
+        "registrationError": "Hiba az áruház scraper regisztráció során",
+        "enableSuccess": "Scraping sikeresen engedélyezve",
+        "enableError": "Hiba a scraping engedélyezése során",
+        "disableSuccess": "Scraping sikeresen letiltva",
+        "disableError": "Hiba a scraping letiltása során",
+        "urlAddSuccess": "Egyedi URL sikeresen hozzáadva",
+        "urlAddError": "Hiba az egyedi URL hozzáadása során"
+      }
     }
     }
   },
   },
   "callDetails": {
   "callDetails": {