Zoals we al in het nieuws meldden, hebben we de website van Liberogic meertalig gemaakt!
Momenteel ondersteunen we slechts zes talen, maar als je er eenmaal één hebt gedaan, is het eigenlijk hetzelfde. In theorie kunnen we ook alle talen ondersteunen die Google aanbiedt.
Een experiment dat begon met 'laten we eerst eens vertalen'
De aanleiding was eenvoudig.
"Met alle aandacht voor webtoegankelijkheid komen er ook steeds meer bezoekers uit het buitenland, dus waarom vertalen we de site niet gewoon?"
Dat was het idee, achteloos bedacht.
Maar als je het goed wilt doen, blijkt het verrassend lastig. Vertaal-API's, caching, builds, kosten, het bijwerken van de cache... er zat veel meer "lastige achterkant" aan dan we hadden verwacht.
Daarom hebben we voor deze meertalige opzet Google Cloud Translation API gebruikt, en kozen we voor een systeem dat tijdens de build automatisch vertaalt.
Zo werkt het
Tijdens de build wordt scripts/translate-html-cache.mjs uitgevoerd.
Als er al een vertaling in de cache (in translate-cache.json) staat, wordt die gebruikt. Zo niet, dan wordt de Google Translate API aangeroepen om de tekst te vertalen.
Nieuwe vertalingen worden aan de cache toegevoegd en zijn daarna opnieuw bruikbaar. Let wel: in een automatische deployomgeving wordt de cache niet meegenomen, dus het is belangrijk om lokaal één keer te bouwen en te pushen.
Zo voorkom je onnodige API-kosten. (In het begin kijk je best vaak naar het Google-facturatiescherm... haha)
Omgaan met de eigenaardigheden van vertalingen
Als je het uitprobeert, krijg je allerlei eigenzinnige vertalingen.
"Liberogic Inc." werd bijvoorbeeld soms "Liberlogic Inc." en soms zelfs "Libelogic"...
Wie is dat nou?! Ik heb ook Google's Glossary-functie geprobeerd, maar die werkt alleen per zin, dus het is lastig om 'Liberogic Inc.' op zichzelf te beheersen.
Uiteindelijk heb ik daarom zelf een vervangingslogica gebouwd.
en: [
{ from: /Liberlogic/g, to: 'Liberogic' },
{ from: /Libelogic/g, to: 'Liberogic' },
],
de: [
{ from: /Liberlogic/g, to: 'Liberogic' },
{ from: /Libelogic/g, to: 'Liberogic' },
],
Daarnaast heb ik het gekoppeld aan Google Spreadsheets, zodat de regels die daar staan automatisch worden toegepast. Zo blijven zowel 'Liberogic' als 'Liberozee' beschermd.
Hoe je de talen kiest
Om te beginnen: Engels, Chinees (traditioneel en vereenvoudigd), Frans en Spaans, plus Japans dat er al was, dus zes talen in totaal.
Op Slack kwam ook dit gesprek voorbij.
"Wat doen we met Russisch? Of Koreaans en Thais?"
"Arabisch later, want de CSS is lastig."
"Nee, Hindi slaan we over, want het verkeer zou flink kunnen toenemen."
...Zo kwamen we in een ontspannen sfeer tot de keuze van deze talen.
Overigens schijnt deze zes talen meer dan 75% van de internetgebruikers wereldwijd te bereiken, dat stond ergens geschreven.
Eigenlijk gaat het internationaal al best ver?
Dit is het huidige URL-voorbeeld:
- 🇯🇵 Japans
- 🇬🇧 Engels
- 🇩🇪 Duits
- 🇪🇸 Spaans
- 🇨🇳 Vereenvoudigd Chinees
- 🇹🇼 Traditioneel Chinees
In de toekomst willen we het aantal talen uitbreiden naar ongeveer 30. Er staat ook al een plan klaar om
Arabisch te ondersteunen, een taal die van rechts naar links wordt gelezen (rtl-ondersteuning).
Houd ons in de gaten!
Samenvatting: meertalig maken op een eenvoudige manier
Deze aanpak is ideaal voor klanten die eerst willen uitproberen hoe vertaling werkt.
Met de Google Cloud Translation API en een cachingstrategie kun je relatief kosteneffectief een meertalige website bouwen.
Het is ook een geschikte experimentfase voordat je overstapt op een volledige lokalisatie.
✳️ Let op:
Some wording or layout may feel a bit off during this multilingual rollout. We're fixing things step by step, so we appreciate your patience. (Since we prioritized release, we'll refine the finer details in CSS later!)
🌏 A quick note
"Even if a translation isn't perfect, the message still gets across to the world."
With that mindset, Liberogic keeps building for the web today. Even when it's not perfect, something can still get through. That's why we try things ourselves before showing them to clients. Failure is part of the process, and experimenting is encouraged. Liberogic continues to test and refine at the forefront of the web today.
While we were saying all this, Google Translate kept evolving day by day, as it turns out! The end.
Hoewel hij directeur is, werkt hij altijd als gesprekspartner van de klant. Hij raakt enthousiast van het begrijpen van nieuwe technologieën en van het moment dat iets handiger wordt, en duikt daar volledig in. Een echte praktijkmens die van de werkvloer houdt. Hij blijft ook op latere leeftijd graag nieuwe ervaringen opdoen en kijkt uit naar toekomstige technologieën.
Tadanori Morimoto
Projectmanager / Director / Opgericht in 2007