Wie in den Nachrichten berichtet, haben wir die Website von Liberogic mehrsprachig gestaltet!
Derzeit unterstützen wir nur 6 Sprachen, aber ehrlich gesagt ist es überall gleich, wenn man eine Sprache einmal implementiert hat. Wir könnten auch alle Sprachen von Google unterstützen, wenn wir wollten.
"Lassen Sie uns zunächst versuchen zu übersetzen" – ein Experiment das damit begann
Der Auslöser war einfach.
"Wir erhalten mehr Zugriffe aus dem Ausland wegen Web-Accessibility und so weiter – warum nicht einfach übersetzen?"
Ein lockerer Gedanke.
Aber bei richtiger Umsetzung ist es überraschend aufwendig. Übersetzungs-API, Caching, Build-Prozesse, Kosten, Cache-Updates... es gab mehr "komplizierte Hintergründe" als erwartet.
Aus diesem Grund verwenden wir für die Mehrsprachigkeit Google Cloud Translation API und haben einen Mechanismus eingeführt, um während des Builds automatisch zu übersetzen.
So funktioniert der Mechanismus
Während des Builds wird scripts/translate-html-cache.mjs ausgeführt.
Wenn der Cache (translate-cache.json) bereits übersetzte Texte enthält, werden diese verwendet. Andernfalls wird die Google Translate API aufgerufen.
Neue Übersetzungen werden in den Cache eingetragen und können beim nächsten Mal wiederverwendet werden. Allerdings wird der Cache in automatisierten Bereitstellungsumgebungen nicht aktualisiert, daher ist es wichtig, lokal einmal zu bauen und zu pushen.
Auf diese Weise vermeiden wir unnötige API-Kosten. (Am Anfang schauten wir ziemlich oft auf die Google-Abrechnungsseite... lacht)
Mit den Eigenheiten der Übersetzung umgehen
Bei der Anwendung entstehen verschiedene Übersetzungsvarianten.
"Liberogic" wird manchmal zu "Liberlogic Inc." oder sogar zu "Libelogic"...
Mittlerweile weiß ich nicht mehr, wer was ist!? Ich habe auch Googles Glossary-Funktion ausprobiert, aber sie funktioniert nur auf Satzebene, daher war es schwierig, "Liberogic" einzeln zu steuern.
Letztendlich habe ich eine eigene Ersetzungslogik implementiert.
en: [
{ from: /Liberlogic/g, to: 'Liberogic' },
{ from: /Libelogic/g, to: 'Liberogic' },
],
de: [
{ from: /Liberlogic/g, to: 'Liberogic' },
{ from: /Libelogic/g, to: 'Liberogic' },
],
Darüber hinaus habe ich die Integration mit Google Sheets eingerichtet, sodass dort registrierte Regeln automatisch übernommen werden. Damit sind sowohl "Liberogic" als auch alle Varianten geschützt.
Wie man die unterstützten Sprachen auswählt
Anfangs gab es bereits Englisch, Chinesisch (traditionell und vereinfacht), Französisch, Spanisch und Japanisch – also 6 Sprachen.
Auf Slack gab es dann solche Gespräche.
"Was ist mit Russisch? Und wie steht es mit Koreanisch und Thai?"
"Arabisch ist CSS-technisch mühsam, machen wir später."
"Naja, Hindi könnten die Zugriffe massiv in die Höhe treiben – lass uns das lieber sein."
…und so haben wir die Sprachen in dieser lockeren Manier ausgewählt.
Aber angeblich decken diese 6 Sprachen über 75 % der weltweiten Nutzer ab – das habe ich irgendwo gelesen.
Läuft also insgeheim eine ziemliche Globalisierung?
Ein URL-Beispiel zum aktuellen Stand:
Wir planen, die Sprachen künftig auf etwa 30 Sprachen zu erhöhen (vermutlich).
Wir werden auch Arabic mit rechts-nach-links-Schreibrichtung (RTL-Unterstützung) in Angriff nehmen.
Wir freuen uns auf Ihre Aufmerksamkeit!
Fazit: Empfehlung für unkomplizierte Mehrsprachigkeit
Dieses System ist ideal für Kunden, die sagen: "Ich möchte zunächst eine Übersetzung ausprobieren!"
Mit Google Cloud Translation API und Caching-Management können Sie mehrsprachige Websites mit relativ geringen Kosten erstellen.
Es ist auch perfekt als Experimentierphase vor der Verfolgung einer umfassenden Lokalisierung.
✳️ Übrigens
Bei der Mehrsprachigkeit können gelegentlich seltsame Formulierungen oder Layouts auftreten, aber wir beheben diese schrittweise. Bitte schauen Sie nachsichtig zu. (Da wir die Veröffentlichung priorisieren, beheben wir die Details später mit CSS!)
🌏 Ein abschließendes Wort
"Übersetzungen müssen nicht perfekt sein, um die Welt zu erreichen." Mit dieser Haltung entwickelt Liberogic auch heute noch das Web. Auch wenn nicht alles perfekt ist, können wir andere erreichen. Deshalb versuchen wir es zunächst selbst, bevor wir es unseren Kunden zeigen. Fehler sind willkommen, Experimente sind willkommen. Liberogic führt heute noch kontinuierliche Versuche an der Vorderfront des Web durch.
Während wir das sagen, entwickelt sich Google Translate weiter! Ende.
Obwohl ich CEO bin, fungiere ich immer als Ansprechpartner. Ich liebe es, neue Technologien zu verstehen und freue mich über die Momente, in denen etwas praktischer wird. Ich bin absolut leidenschaftlich bei der Arbeit vor Ort. Ich bin begeistert von zukünftigen Technologien und möchte in jedem Alter weiterhin neue Erfahrungen genießen.
Morimoto
Projektmanager / Direktor / gegründet 2007