Uitleg

Meertaligheid op Shopify: wat er achter de schermen allemaal komt kijken

Om meertalige ondersteuning aan een Shopify-app toe te voegen, is meer nodig dan één API-aanroep. Hieronder leggen we uit wat we binnen Conflux hebben ontwikkeld om de synchronisatie van vertalingen van Ergonode naar Shopify automatisch, nauwkeurig en schaalbaar te maken.


Als je Shopify- winkel in meerdere landen verkoopt, heb je vertaalde productinformatie nodig. Wat de meeste e-commercebeheerders niet beseffen, is hoeveel werk er achter de schermen wordt verzet om dat op grote schaal betrouwbaar te laten werken.

Bij Memo bouwen en onderhouden we Conflux, onze eigen Shopify-app die productgegevens van Ergonode naar Shopify synchroniseert. Deze app omvat alles, van producttitels en -beschrijvingen tot attributen, metavelden en variantgegevens. Nadat het kernproduct goed draaide, was de meest gevraagde functie van onze klanten duidelijk: ondersteuning voor meerdere talen.

Dus hebben we die gebouwd. Wat volgde waren twee weken puzzelen, één stille foutmelding en een paar belangrijke lessen over hoe Shopify achter de schermen met vertalingen omgaat.

Waarom dit belangrijk is voor jouw winkel

Het runnen van een meertalige Shopify-winkel is niet alleen een technische opgave. Het heeft direct invloed op de conversie, SEO en het vertrouwen van klanten. Een productpagina in de verkeerde taal, of met ontbrekende vertalingen in belangrijke velden, kan je omzet kosten. Wanneer je een grote catalogus beheert en een PIM zoals Ergonode gebruikt om je productgegevens bij te houden, heb je behoefte aan vertaalsynchronisatie die automatisch, nauwkeurig en consistent is. Handmatig werk op catalogusniveau is simpelweg geen optie.

Dat is precies het probleem dat Conflux oplost. Maar om dat te bereiken, moesten we precies begrijpen hoe Shopify intern met vertalingen omgaat, en dat bleek complexer dan verwacht.

Hoe andere platforms het aanpakken

Ter vergelijking: we werken ook met Shopware. Daar maken vertalingen deel uit van de productupdate zelf. Wanneer je een product naar Shopware stuurt, neem je alle taalversies op in dezelfde API-aanroep. Eén verzoek dekt alle markten. We verwachtten dat Shopify op dezelfde manier zou werken. Dat is echter niet het geval.

Hoe Shopify in werkelijkheid werkt

Shopify houdt productgegevens en vertaalgegevens volledig gescheiden. Je kunt een product en de bijbehorende vertalingen niet in één verzoek bijwerken. Dat betekent dat er een volledig aparte workflow moet worden opgezet, die na elke productsynchronisatie wordt uitgevoerd, alleen om de talen te verwerken.

Hieronder wordt in eenvoudige bewoordingen uitgelegd hoe die workflow eruitziet.

Stap 1: Synchroniseer de producten en verzamel hun ID’s. Nadat je productgegevens van Ergonode naar Shopify hebt gepusht, retourneert Shopify een globale identificatiecode (GID) voor elk product. Zie dit als een uniek adres voor elk item in het systeem.

Stap 2: Vraag de ID’s op van elk vertaalbaar veld. Met behulp van die product-GID’s moet je vervolgens apart de GID’s opvragen van elk veld dat vertaald kan worden. Dit omvat producttitels, beschrijvingen, opties, optiewaarden, metavelden en variantmetavelden. Elk veld krijgt zijn eigen identificatiecode.

Stap 3: Haal de vertaalbare bronnen op. Met al die veld-GID’s vraag je wat Shopify ‘vertaalbare bronnen’ noemt op. Elke bron bevat de veldnaam, de huidige waarde, de taal en iets dat een ‘digest’ wordt genoemd. De ‘digest’ is een unieke vingerafdruk van de oorspronkelijke inhoud. Zonder deze ‘digest’ registreert Shopify geen nieuwe vertaling, zelfs als al het andere correct is.

Stap 4: Koppel alles weer aan je brongegevens. Hier wordt het lastig. De vertaalbare bronnen worden door Shopify teruggestuurd zonder verwijzing naar het oorspronkelijke product. Er is geen label, geen productnaam, niets dat aangeeft welke bron bij welk artikel hoort. Je moet het volledige antwoord vergelijken met de oorspronkelijke Ergonode-gegevens en de geconfigureerde veldtoewijzing om uit te zoeken wat waar hoort en in welke taal. Alleen al deze stap kostte de meeste tijd om goed te krijgen.

Stap 5: Maak de vertaalobjecten aan. Zodra alles is gekoppeld, kun je de daadwerkelijke vertaalgegevens aanmaken. Elk object bevat vier onderdelen: de doeltaal, de vertaalde tekst, de samenvatting en de veldnaam.

Stap 6: Upload alles in bulk. Ten slotte stuur je alle vertaalgegevens in één bulkaanvraag naar Shopify.

Het probleem waar niemand ons voor had gewaarschuwd

Na het voltooien van alle zes stappen verschenen de vertalingen niet in de winkel. Het bulkverzoek leverde geen fouten op. Geen waarschuwingen. Niets. Nadat we de code herhaaldelijk hadden gecontroleerd, voerden we één enkele vertaalupdate uit in plaats van de bulkmethode. Dat leverde een duidelijke machtigingsfout op. De scope `write_translations` ontbrak in de app-configuratie.

De bulkmethode had de fout stilletjes opgeslokt en meldde dat de update was geslaagd. Het is een kleine configuratieaanpassing, maar zonder een duidelijke foutmelding is het bijna onmogelijk om de oorzaak te achterhalen. Dit kostte ons tijd die met één enkele regel feedback van Shopify had kunnen worden voorkomen.

Wat dit ons vertelt over de volwassenheid van het platform

Elk platform maakt keuzes over hoe centraal lokalisatie staat in de architectuur. Shopware heeft het in het kerngegevensmodel ingebouwd. Bij Shopify staat het naast het productsysteem in plaats van erin.

Geen van beide benaderingen is verkeerd, maar de gevolgen voor iedereen die op het platform bouwt, zijn aanzienlijk. Hoe meer stappen er nodig zijn om een eenvoudig resultaat te bereiken, hoe meer er mis kan gaan en hoe zorgvuldiger het moet worden ontworpen.

Wat dit betekent voor Conflux-klanten

De complexiteit wordt nu binnen Conflux afgehandeld. U hoeft niet na te denken over GID’s, digests of bulkmutaties. Je configureert je veldtoewijzing één keer, in een eenvoudige interface, en Conflux regelt automatisch de volledige synchronisatie van vertalingen telkens wanneer je Ergonode-gegevens worden bijgewerkt. Producttitels, beschrijvingen, attributen, metavelden en variantgegevens worden gesynchroniseerd in elke taal die je winkel nodig heeft. Nauwkeurig, automatisch en op catalogusniveau.

Als je een meertalige Shopify-winkel beheert en Ergonode als je PIM gebruikt, is dit precies waarvoor Conflux is ontwikkeld.

Meer informatie over Conflux

Learn More about Multi-language on Shopify

Similar posts

Latest news and updates straight to your inbox

Stay connected with our latest news, expert tips, and success stories. Our newsletter keeps you updated on industry trends, upcoming events, and exclusive insights straight from our team.