Enhance i18n support by adding new language translations: Introduced Arabic, Croatian, Czech, Greek, Hungarian, Slovak, Slovenian, Swedish, Turkish, and updated existing language configurations. Updated available languages in LanguageContext and LanguageProvider to reflect the new additions, ensuring comprehensive localization across the application.

This commit is contained in:
sebseb7
2025-07-16 06:02:04 +02:00
parent 51471d4a55
commit 11a3522a97
3 changed files with 227 additions and 197 deletions

View File

@@ -5,18 +5,24 @@ import LanguageDetector from 'i18next-browser-languagedetector';
// Import all translation files // Import all translation files
import translationDE from './locales/de/translation.js'; import translationDE from './locales/de/translation.js';
import translationEN from './locales/en/translation.js'; import translationEN from './locales/en/translation.js';
import translationAR from './locales/ar/translation.js';
import translationBG from './locales/bg/translation.js'; import translationBG from './locales/bg/translation.js';
import translationCS from './locales/cs/translation.js';
import translationEL from './locales/el/translation.js';
import translationES from './locales/es/translation.js'; import translationES from './locales/es/translation.js';
import translationFR from './locales/fr/translation.js'; import translationFR from './locales/fr/translation.js';
import translationHR from './locales/hr/translation.js';
import translationHU from './locales/hu/translation.js';
import translationIT from './locales/it/translation.js'; import translationIT from './locales/it/translation.js';
import translationPL from './locales/pl/translation.js'; import translationPL from './locales/pl/translation.js';
import translationHU from './locales/hu/translation.js';
import translationSR from './locales/sr/translation.js';
import translationRU from './locales/ru/translation.js';
import translationUK from './locales/uk/translation.js';
import translationSK from './locales/sk/translation.js';
import translationCS from './locales/cs/translation.js';
import translationRO from './locales/ro/translation.js'; import translationRO from './locales/ro/translation.js';
import translationRU from './locales/ru/translation.js';
import translationSK from './locales/sk/translation.js';
import translationSL from './locales/sl/translation.js';
import translationSR from './locales/sr/translation.js';
import translationSV from './locales/sv/translation.js';
import translationTR from './locales/tr/translation.js';
import translationUK from './locales/uk/translation.js';
import translationZH from './locales/zh/translation.js'; import translationZH from './locales/zh/translation.js';
const resources = { const resources = {
@@ -26,41 +32,59 @@ const resources = {
en: { en: {
translation: translationEN translation: translationEN
}, },
ar: {
translation: translationAR
},
bg: { bg: {
translation: translationBG translation: translationBG
}, },
cs: {
translation: translationCS
},
el: {
translation: translationEL
},
es: { es: {
translation: translationES translation: translationES
}, },
fr: { fr: {
translation: translationFR translation: translationFR
}, },
hr: {
translation: translationHR
},
hu: {
translation: translationHU
},
it: { it: {
translation: translationIT translation: translationIT
}, },
pl: { pl: {
translation: translationPL translation: translationPL
}, },
hu: { ro: {
translation: translationHU translation: translationRO
},
sr: {
translation: translationSR
}, },
ru: { ru: {
translation: translationRU translation: translationRU
}, },
uk: {
translation: translationUK
},
sk: { sk: {
translation: translationSK translation: translationSK
}, },
cs: { sl: {
translation: translationCS translation: translationSL
}, },
ro: { sr: {
translation: translationRO translation: translationSR
},
sv: {
translation: translationSV
},
tr: {
translation: translationTR
},
uk: {
translation: translationUK
}, },
zh: { zh: {
translation: translationZH translation: translationZH

View File

@@ -1,231 +1,231 @@
export default { export default {
"locale": { "locale": {
"code": "cs-CZ" "code": "cs-CZ" // de-DE
}, },
"navigation": { "navigation": {
"home": "Domů", "home": "Domů", // Startseite
"aktionen": "Akce", "aktionen": "Akce", // Aktionen
"filiale": "Pobočka", "filiale": "Pobočka", // Filiale
"categories": "Kategorie", "categories": "Kategorie", // Kategorien
"categoriesOpen": "Otevřít kategorie", "categoriesOpen": "Otevřít kategorie", // Kategorien öffnen
"categoriesClose": "Zavřít kategorie", "categoriesClose": "Zavřít kategorie", // Kategorien schließen
"otherCategories": "Další kategorie" "otherCategories": "Jiné kategorie" // Andere Kategorien
}, },
"auth": { "auth": {
"login": "Přihlášení", "login": "Přihlásit se", // Anmelden
"register": "Registrace", "register": "Registrovat se", // Registrieren
"logout": "Odhlásit se", "logout": "Odhlásit se", // Abmelden
"profile": "Profil", "profile": "Profil", // Profil
"email": "E-mail", "email": "Email", // E-Mail
"password": "Heslo", "password": "Heslo", // Passwort
"confirmPassword": "Potvrdit heslo", "confirmPassword": "Potvrdit heslo", // Passwort bestätigen
"forgotPassword": "Zapomněli jste heslo?", "forgotPassword": "Zapomněli jste heslo?", // Passwort vergessen?
"loginWithGoogle": "Přihlásit se přes Google", "loginWithGoogle": "Přihlásit se přes Google", // Mit Google anmelden
"or": "NEBO", "or": "NEBO", // ODER
"privacyAccept": "Kliknutím na \"Přihlásit se přes Google\" souhlasím s", "privacyAccept": "Kliknutím na Přihlásit se přes Google souhlasím s", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die
"privacyPolicy": "Zásadami ochrany osobních údajů", "privacyPolicy": "Zásadami ochrany osobních údajů", // Datenschutzbestimmungen
"passwordMinLength": "Heslo musí mít alespoň 8 znaků", "passwordMinLength": "Heslo musí mít alespoň 8 znaků", // Das Passwort muss mindestens 8 Zeichen lang sein
"newPasswordMinLength": "Nové heslo musí mít alespoň 8 znaků", "newPasswordMinLength": "Nové heslo musí mít alespoň 8 znaků", // Das neue Passwort muss mindestens 8 Zeichen lang sein
"menu": { "menu": {
"profile": "Profil", "profile": "Profil", // Profil
"checkout": "Pokladna", "checkout": "Pokladna", // Bestellabschluss
"orders": "Objednávky", "orders": "Objednávky", // Bestellungen
"settings": "Nastavení", "settings": "Nastavení", // Einstellungen
"adminDashboard": "Administrátorská hlavní stránka", "adminDashboard": "Administrátorský panel", // Admin Dashboard
"adminUsers": "Správa uživatelů" "adminUsers": "Administrátoři" // Admin Users
} }
}, },
"cart": { "cart": {
"title": "Košík", "title": "Košík", // Warenkorb
"empty": "prázdný", "empty": "prázdný", // leer
"addToCart": "Přidat do košíku", "addToCart": "Přidat do košíku", // In den Korb
"preorderCutting": "Předobjednat jako řízky", "preorderCutting": "Předobjednat jako řízek", // Als Steckling vorbestellen
"continueShopping": "Pokračovat v nákupu", "continueShopping": "Pokračovat v nákupu", // Weiter einkaufen
"proceedToCheckout": "Pokračovat k pokladně", "proceedToCheckout": "Pokračovat k pokladně", // Weiter zur Kasse
"productCount": "{{count}} {{count, plural, one {produkt} other {produktů}}}", "productCount": "{{count}} {{count, plural, one {Produkt} other {Produkty}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}}
"removeFromCart": "Odebrat z košíku", "removeFromCart": "Odstranit z košíku", // Aus dem Warenkorb entfernen
"openCart": "Otevřít košík", "openCart": "Otevřít košík", // Warenkorb öffnen
"availableFrom": "Od {{date}}", "availableFrom": "Dostupné od {{date}}", // Ab {{date}}
"backToOrder": "← Zpět k objednávce", "backToOrder": "← Zpět k objednávce", // ← Zurück zur Bestellung
"sync": { "sync": {
"title": "Synchronizace košíku", "title": "Synchronizace košíku", // Warenkorb-Synchronisierung
"description": "Máte uložený košík ve svém účtu. Vyberte, jak chcete pokračovat:", "description": "Máte uložený košík ve svém účtu. Vyberte, jak chcete pokračovat:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten:
"deleteServer": "Smazat serverový košík", "deleteServer": "Smazat košík na serveru", // Server-Warenkorb löschen
"useServer": "Použít serverový košík", "useServer": "Použít košík ze serveru", // Server-Warenkorb übernehmen
"merge": "Sloučit košíky", "merge": "Sloučit košíky", // Warenkörbe zusammenführen
"currentCart": "Váš aktuální košík", "currentCart": "Váš aktuální košík", // Ihr aktueller Warenkorb
"serverCart": "Uložený košík ve vašem profilu" "serverCart": "Košík uložený ve vašem profilu" // In Ihrem Profil gespeicherter Warenkorb
} }
}, },
"product": { "product": {
"loading": "Načítání produktu...", "loading": "Načítání produktu...", // Produkt wird geladen...
"notFound": "Produkt nenalezen", "notFound": "Produkt nenalezen", // Produkt nicht gefunden
"notFoundDescription": "Hledaný produkt neexistuje nebo byl odstraněn.", "notFoundDescription": "Produkt, který hledáte, neexistuje nebo byl odstraněn.", // Das gesuchte Produkt existiert nicht oder wurde entfernt.
"backToHome": "Zpět na hlavní stránku", "backToHome": "Zpět na domovskou stránku", // Zurück zur Startseite
"error": "Chyba", "error": "Chyba", // Fehler
"articleNumber": "Číslo artiklu", "articleNumber": "Číslo artiklu", // Artikelnummer
"manufacturer": "Výrobce", "manufacturer": "Výrobce", // Hersteller
"inclVat": "včetně {{vat}}% DPH", "inclVat": "včetně {{vat}}% DPH", // inkl. {{vat}}% MwSt.
"priceUnit": "{{price}}/{{unit}}", "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}}
"new": "Nový", "new": "Nové", // Neu
"arriving": "Příjezd:", "arriving": "Přichází:", // Ankunft:
"inclVatFooter": "včetně {{vat}}% DPH, *", "inclVatFooter": "včetně {{vat}}% DPH,*", // incl. {{vat}}% USt.,*
"availability": "Dostupnost", "availability": "Dostupnost", // Verfügbarkeit
"inStock": "Skladem", "inStock": "skladem", // auf Lager
"comingSoon": "Brzy dostupné", "comingSoon": "Brzy k dispozici", // Bald verfügbar
"deliveryTime": "Doba doručení", "deliveryTime": "Doba doní", // Lieferzeit
"inclShort": "vč.", "inclShort": "vč.", // inkl.
"vatShort": "DPH", "vatShort": "DPH", // MwSt.
"countDisplay": { "countDisplay": {
"noProducts": "0 produktů", "noProducts": "0 produktů", // 0 Produkte
"oneProduct": "1 produkt", "oneProduct": "1 produkt", // 1 Produkt
"multipleProducts": "{{count}} produktů", "multipleProducts": "{{count}} produktů", // {{count}} Produkte
"filteredProducts": "{{filtered}} z {{total}} produktů", "filteredProducts": "{{filtered}} z {{total}} produktů", // {{filtered}} von {{total}} Produkten
"filteredOneProduct": "{{filtered}} z 1 produktu" "filteredOneProduct": "{{filtered}} z 1 produktu" // {{filtered}} von 1 Produkt
}, },
"removeFiltersToSee": "Odstraňte filtry pro zobrazení produktů", "removeFiltersToSee": "Odstraňte filtry pro zobrazení produktů", // Entferne Filter um Produkte zu sehen
"outOfStock": "Není skladem", "outOfStock": "Není skladem", // Out of Stock
"fromXProducts": "z {{count}} produktů" "fromXProducts": "od {{count}} produktů" // ab {{count}} Produkten
}, },
"search": { "search": {
"placeholder": "Mohu se zeptat na odrůdy konopí...", "placeholder": "Můžete se mě zeptat na odrůdy konopí...", // Du kannst mich nach Cannabissorten fragen...
"recording": "Nahrávám...", "recording": "Nahrává...", // Aufnahme läuft...
"searchProducts": "Hledat produkty..." "searchProducts": "Hledat produkty..." // Produkte suchen...
}, },
"sorting": { "sorting": {
"name": "Název", "name": "Název", // Name
"searchField": "Hledaný výraz", "searchField": "Hledaný výraz", // Suchbegriff
"priceLowHigh": "Cena: Od nejnižší", "priceLowHigh": "Cena: od nejnižší", // Preis: Niedrig zu Hoch
"priceHighLow": "Cena: Od nejvyšší" "priceHighLow": "Cena: od nejvyšší" // Preis: Hoch zu Niedrig
}, },
"chat": { "chat": {
"privacyRead": "Přečteno & Přijato" "privacyRead": "Přečteno a přijato" // Gelesen & Akzeptiert
}, },
"delivery": { "delivery": {
"methods": { "methods": {
"dhl": "DHL", "dhl": "DHL", // DHL
"dpd": "DPD", "dpd": "DPD", // DPD
"sperrgut": "Velké zásilky", "sperrgut": "Objemné zboží", // Sperrgut
"pickup": "Vyzvednout na prodejně" "pickup": "Osobní odběr na pobočce" // Abholung in der Filiale
}, },
"descriptions": { "descriptions": {
"standard": "Std. doručení", "standard": "Standardní doprava", // Standardversand
"standardFree": "Std. doručení - ZDARMA od zboží v hodnotě €100!", "standardFree": "Standardní doprava - ZDARMA od objednávky nad 100!", // Standardversand - KOSTENLOS ab 100€ Warenwert!
"notAvailable": "nevybratelné, protože některé položky jsou pouze k vyzvednutí", "notAvailable": "Nelze vybrat, protože jeden nebo více produktů lze pouze vyzvednout", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können
"bulky": "Pro velké a těžké zásilky" "bulky": "Pro velké a těžké položky" // Für große und schwere Artikel
}, },
"prices": { "prices": {
"free": "zdarma", "free": "zdarma", // kostenlos
"freeFrom100": "(zdarma od 100)", "freeFrom100": "(zdarma od 100)", // (kostenlos ab 100€)
"dhl": "€6.99", "dhl": "6,99 €", // 6,99 €
"dpd": "€4.90", "dpd": "4,90 €", // 4,90 €
"sperrgut": "28.99" "sperrgut": "28,99 €" // 28,99 €
}, },
"times": { "times": {
"cutting14Days": "Doba doručení: 14 dní", "cutting14Days": "Doba doní: 14 dní", // Lieferzeit: 14 Tage
"standard2to3Days": "Doba doručení: 2-3 dny", "standard2to3Days": "Doba doní: 2-3 dny", // Lieferzeit: 2-3 Tage
"supplier7to9Days": "Doba doručení: 7-9 dní" "supplier7to9Days": "Doba doní: 7-9 dní" // Lieferzeit: 7-9 Tage
} }
}, },
"checkout": { "checkout": {
"invoiceAddress": "Fakturační adresa", "invoiceAddress": "Fakturační adresa", // Rechnungsadresse
"deliveryAddress": "Dodací adresa", "deliveryAddress": "Dodací adresa", // Lieferadresse
"saveForFuture": "Uložit pro budoucí objednávky", "saveForFuture": "Uložit pro budoucí objednávky", // Für zukünftige Bestellungen speichern
"pickupDate": "Na který datum je požadováno vyzvednutí řízků?", "pickupDate": "Na který den chcete vyzvednout řízky?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht?
"note": "Poznámka", "note": "Poznámka", // Anmerkung
"sameAddress": "Dodací adresa je stejná jako fakturační", "sameAddress": "Dodací adresa je stejná jako fakturační adresa", // Lieferadresse ist identisch mit Rechnungsadresse
"termsAccept": "Přečetl/a jsem si podmínky, zásady ochrany osobních údajů a storno podmínky" "termsAccept": "Přečetl(a) jsem si Obchodní podmínky, Zásady ochrany osobních údajů a informace o právu na odstoupení od smlouvy" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen
}, },
"payment": { "payment": {
"successful": "Platba byla úspěšná!", "successful": "Platba byla úspěšná!", // Zahlung erfolgreich!
"failed": "Platba selhala", "failed": "Platba selhala", // Zahlung fehlgeschlagen
"orderCompleted": "🎉 Vaše objednávka byla úspěšně dokončena! Nyní si můžete prohlédnout své objednávky.", "orderCompleted": "🎉 Vaše objednávka byla úspěšně dokončena! Nyní můžete zobrazit své objednávky.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen.
"orderProcessing": "Vaše platba byla úspěšně zpracována. Objednávka bude automaticky dokončena.", "orderProcessing": "Vaše platba byla úspěšně zpracována. Objednávka bude automaticky dokončena.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen.
"paymentError": "Vaši platbu nelze zpracovat. Zkuste to prosím znovu nebo zvolte jinou platební metodu.", "paymentError": "Vaši platbu nebylo možné zpracovat. Zkuste to prosím znovu nebo zvolte jiný způsob platby.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode.
"viewOrders": "Zobrazit mé objednávky" "viewOrders": "Zobrazit mé objednávky" // Zu meinen Bestellungen
}, },
"filters": { "filters": {
"sorting": "Řazení", "sorting": "Řazení", // Sortierung
"perPage": "na stránku", "perPage": "na stránku", // pro Seite
"availability": "Dostupnost", "availability": "Dostupnost", // Verfügbarkeit
"manufacturer": "Výrobce" "manufacturer": "Výrobce" // Hersteller
}, },
"tax": { "tax": {
"vat": "DPH", "vat": "Daň z přidané hodnoty", // Mehrwertsteuer
"vat7": "7% DPH", "vat7": "7% daň z přidané hodnoty", // 7% Mehrwertsteuer
"vat19": "19% DPH", "vat19": "19% daň z přidané hodnoty", // 19% Mehrwertsteuer
"vat19WithShipping": "19% DPH (včetně poštovného)", "vat19WithShipping": "19% daň z přidané hodnoty (včetně dopravy)", // 19% Mehrwertsteuer (inkl. Versand)
"totalNet": "Celková netto cena", "totalNet": "Celková cena bez DPH", // Gesamtnettopreis
"totalGross": "Celková hrubá cena bez poštovného", "totalGross": "Celková cena včetně DPH bez dopravy", // Gesamtbruttopreis ohne Versand
"subtotal": "Mezisoučet" "subtotal": "Mezisoučet" // Zwischensumme
}, },
"footer": { "footer": {
"hours": "So 11-19", "hours": "So 11-19", // Sa 11-19
"address": "Trachenberger Straße 14 - Drážďany", "address": "Trachenberger Straße 14 - Drážďany", // Trachenberger Straße 14 - Dresden
"location": "Mezi zastávkou Pieschen a náměstím Trachenberger Platz", "location": "Mezi zastávkou Pieschen a Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz
"allPricesIncl": "* Všechny ceny včetně zákonné DPH, plus poštovné", "allPricesIncl": "* Všechny ceny včetně zákonné DPH, plus doprava", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand
"copyright": "© {{year}} GrowHeads.de", "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de
"legal": { "legal": {
"datenschutz": "Zásady ochrany osobních údajů", "datenschutz": "Ochrana osobních údajů", // Datenschutz
"agb": "Obchodní podmínky", "agb": "Obchodní podmínky", // AGB
"sitemap": "Mapa stránek", "sitemap": "Mapa stránek", // Sitemap
"impressum": "Impressum", "impressum": "Impressum", // Impressum
"batteriegesetzhinweise": "Upozornění na bateriová nařízení", "batteriegesetzhinweise": "Poznámky k zákonu o bateriích", // Batteriegesetzhinweise
"widerrufsrecht": "Právo na odstoupení od smlouvy" "widerrufsrecht": "Právo na odstoupení" // Widerrufsrecht
} }
}, },
"titles": { "titles": {
"home": "ine anabis eeds & uttings", "home": "Kvalitní semena a řízky konopí", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment)
"aktionen": "tuelle ktionen & gebote", "aktionen": "Aktuální akce a nabídky", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment)
"filiale": "ur iliale in resden" "filiale": "Naše pobočka v Drážďanech" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment)
}, },
"sections": { "sections": {
"seeds": "Semena", "seeds": "Semena", // Seeds
"stecklinge": "Řízky", "stecklinge": "Řízky", // Stecklinge
"oilPress": "Pronájem lisů na olej", "oilPress": "Půjčit lis na olej", // Ölpresse ausleihen
"thcTest": "Test THC", "thcTest": "THC test", // THC Test
"address1": "Trachenberger Straße 14", "address1": "Trachenberger Straße 14", // Trachenberger Straße 14
"address2": "01129 Dresden" "address2": "01129 Drážďany" // 01129 Dresden
}, },
"pages": { "pages": {
"oilPress": { "oilPress": {
"title": "Pronájem lisů na olej", "title": "Půjčit lis na olej", // Ölpresse ausleihen
"comingSoon": "Obsah brzy bude dostupný..." "comingSoon": "Obsah brzy k dispozici..." // Inhalt kommt bald...
}, },
"thcTest": { "thcTest": {
"title": "Test THC", "title": "THC test", // THC Test
"comingSoon": "Obsah brzy bude dostupný..." "comingSoon": "Obsah brzy k dispozici..." // Inhalt kommt bald...
} }
}, },
"orders": { "orders": {
"status": { "status": {
"new": "Probíhá", "new": "Zpracovává se", // in Bearbeitung
"pending": "Nová", "pending": "Nová", // Neu
"processing": "Probíhá", "processing": "Zpracovává se", // in Bearbeitung
"cancelled": "Zrušena", "cancelled": "Zrušeno", // Storniert
"shipped": "Odesláno", "shipped": "Odesláno", // Verschickt
"delivered": "Doručeno", "delivered": "Doručeno", // Geliefert
"return": "Vrácení", "return": "Vrácení", // Retoure
"partialReturn": "Částečné vrácení", "partialReturn": "Částečné vrácení", // Teil Retoure
"partialDelivered": "Částečně doručeno" "partialDelivered": "Částečně doručeno" // Teil geliefert
} }
}, },
"common": { "common": {
"loading": "Načítám...", "loading": "Načítá...", // Lädt...
"error": "Chyba", "error": "Chyba", // Fehler
"close": "Zavřít", "close": "Zavřít", // Schließen
"save": "Uložit", "save": "Uložit", // Speichern
"cancel": "Zrušit", "cancel": "Zrušit", // Abbrechen
"ok": "OK", "ok": "OK", // OK
"yes": "Ano", "yes": "Ano", // Ja
"no": "Ne", "no": "Ne", // Nein
"next": "Další", "next": "Další", // Weiter
"back": "Zpět", "back": "Zpět", // Zurück
"edit": "Upravit", "edit": "Upravit", // Bearbeiten
"delete": "Odstranit", "delete": "Smazat", // Löschen
"add": "Přidat", "add": "Přidat", // Hinzufügen
"remove": "Odebrat", "remove": "Odstranit", // Entfernen
"products": "Produkty", "products": "Produkty", // Produkte
"product": "Produkt" "product": "Produkt" // Produkt
} }
}; };

View File

@@ -10,7 +10,7 @@ export const withTranslation = (namespaces = 'translation') => (WrappedComponent
export const LanguageContext = React.createContext({ export const LanguageContext = React.createContext({
currentLanguage: 'de', currentLanguage: 'de',
changeLanguage: () => {}, changeLanguage: () => {},
availableLanguages: ['bg', 'cs', 'de', 'es', 'fr', 'hu', 'it', 'pl', 'ro', 'sr', 'ru', 'sk', 'uk', 'en', 'zh'] availableLanguages: ['ar', 'bg', 'cs', 'de', 'el', 'en', 'es', 'fr', 'hr', 'hu', 'it', 'pl', 'ro', 'ru', 'sk', 'sl', 'sr', 'sv', 'tr', 'uk', 'zh']
}); });
// Provider component for language management // Provider component for language management
@@ -23,7 +23,7 @@ export class LanguageProvider extends Component {
this.state = { this.state = {
currentLanguage, currentLanguage,
availableLanguages: ['bg', 'cs', 'de', 'es', 'fr', 'hu', 'it', 'pl', 'ro', 'sr', 'ru', 'sk', 'uk', 'en', 'zh'] availableLanguages: ['ar', 'bg', 'cs', 'de', 'el', 'en', 'es', 'fr', 'hr', 'hu', 'it', 'pl', 'ro', 'ru', 'sk', 'sl', 'sr', 'sv', 'tr', 'uk', 'zh']
}; };
} }
@@ -51,20 +51,26 @@ export class LanguageProvider extends Component {
if (window.shopConfig) { if (window.shopConfig) {
// Language code mapping for all supported languages // Language code mapping for all supported languages
const languageMap = { const languageMap = {
'ar': 'ar-EG',
'bg': 'bg-BG',
'cs': 'cs-CZ',
'de': 'de-DE', 'de': 'de-DE',
'el': 'el-GR',
'en': 'en-US', 'en': 'en-US',
'es': 'es-ES', 'es': 'es-ES',
'fr': 'fr-FR', 'fr': 'fr-FR',
'hr': 'hr-HR',
'hu': 'hu-HU',
'it': 'it-IT', 'it': 'it-IT',
'pl': 'pl-PL', 'pl': 'pl-PL',
'hu': 'hu-HU',
'sr': 'sr-RS',
'bg': 'bg-BG',
'ru': 'ru-RU',
'uk': 'uk-UA',
'sk': 'sk-SK',
'cs': 'cs-CZ',
'ro': 'ro-RO', 'ro': 'ro-RO',
'ru': 'ru-RU',
'sk': 'sk-SK',
'sl': 'sl-SI',
'sr': 'sr-RS',
'sv': 'sv-SE',
'tr': 'tr-TR',
'uk': 'uk-UA',
'zh': 'zh-CN' 'zh': 'zh-CN'
}; };
window.shopConfig.language = languageMap[lng] || 'de-DE'; window.shopConfig.language = languageMap[lng] || 'de-DE';