Topics

Fortsetzung der Meldung zur Mehrsprachigkeit mit der Google Cloud Translation API: Versuch und Irrtum bei Liberogic

  • column

Wie bereits in der Meldung angekündigt, haben wir die Website von Liberogic mehrsprachig gemacht!

Derzeit unterstützen wir nur sechs Sprachen. Doch sobald man eine Sprache umgesetzt hat, ist es im Grunde egal, wie viele es sind. Theoretisch könnte man daher auch alle Sprachen unterstützen, die Google anbietet.

Ein Experiment, das mit „Probieren wir einfach mal die Übersetzung aus“ begann

Der Auslöser war eigentlich ganz simpel.
„Mit der Web-Barrierefreiheit kommen inzwischen auch mehr Zugriffe aus dem Ausland. Sollen wir es nicht einfach mal übersetzen?“
– so eine lockere Idee.
Doch wenn man es richtig machen will, wird es überraschend aufwendig. Übersetzungs-API, Caching, Build-Prozess, Kosten, Cache-Aktualisierung und vieles mehr: Es steckt deutlich mehr komplizierte Technik dahinter, als man zunächst vermutet.
Deshalb setzen wir für die Mehrsprachigkeit nun die Google Cloud Translation API ein und haben ein System integriert, das die Übersetzung automatisch zur Build-Zeit erzeugt.

So funktioniert es

Zur Build-Zeit wird scripts/translate-html-cache.mjs ausgeführt.
Ist eine bereits übersetzte Textpassage im Cache (translate-cache.json) vorhanden, wird sie verwendet. Andernfalls wird die Google-Übersetzungs-API aufgerufen.
Neue Übersetzungen werden dem Cache hinzugefügt und bei späteren Builds wiederverwendet. Allerdings wird der Cache in der automatischen Deployment-Umgebung nicht berücksichtigt. Deshalb ist es wichtig, einmal lokal zu bauen und die Änderungen zu pushen.

So lassen sich unnötige API-Kosten vermeiden. (Am Anfang landet man allerdings ziemlich oft auf der Google-Abrechnungsseite … lacht)

Der Kampf mit den Eigenheiten der Übersetzung

Beim Ausprobieren kommen recht eigenwillige Übersetzungen heraus.
„Liberogic Inc.“ wurde zum Beispiel einmal zu „Liberlogic Inc.“ und manchmal sogar zu „Libelogic“.

Wer soll das sein?! Ich habe auch Googles Glossar-Funktion ausprobiert, aber sie wirkt nur auf Satzebene. Dadurch ließ sich "Liberogic Inc." allein kaum kontrollieren.
Deshalb habe ich am Ende 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' },
],

Zusätzlich habe ich eine Verbindung mit Google Sheets eingerichtet, sodass die dort hinterlegten Regeln automatisch übernommen werden. Damit sind sowohl "Liberogic" als auch "Liberozee" geschützt.

Auswahl der unterstützten Sprachen

Zu Beginn sind es Englisch, Chinesisch (traditionell und vereinfacht), Französisch und Spanisch. Japanisch ist ohnehin schon vorhanden, also sechs Sprachen.
Im Slack gab es übrigens auch diesen Austausch.

"Wie wäre es mit Russisch? Oder vielleicht Koreanisch und Thai?"

"Arabisch lassen wir erst mal weg, wegen des aufwendigen CSS."

"Nein, Hindi lassen wir besser weg, dort würden die Zugriffe wahrscheinlich stark steigen."

So wurde die Sprachauswahl eher locker getroffen.
Laut einer Quelle, die ich gelesen habe, sollen diese sechs Sprachen mehr als 75 % der Internetnutzer weltweit abdecken.

Wir werden also tatsächlich ziemlich global?

Beispiel für die aktuelle URL-Struktur:

Künftig planen wir, die Anzahl der unterstützten Sprachen auf etwa 30 zu erhöhen (?).
Außerdem wollen wir uns demnächst an Arabisch versuchen, das von rechts nach links geschrieben wird (RTL-Unterstützung).
Wir freuen uns auf Ihre Erwartungen!

Fazit: Mehrsprachigkeit ohne großen Aufwand

Dieser Ansatz eignet sich besonders für Kunden, die zunächst einfach einmal eine Übersetzung ausprobieren möchten.
Mit der Google Cloud Translation API und einer Cache-basierten Betriebsweise lassen sich mehrsprachige Websites vergleichsweise kostengünstig umsetzen.
Als Testphase vor einer umfassenden Lokalisierung ist dies ebenfalls optimal geeignet.

✳️ Übrigens

Auch wenn die mehrsprachige Version noch den einen oder anderen holprigen Satz oder ein unschönes Layout enthält, arbeiten wir Schritt für Schritt an Verbesserungen. Wir bitten um Ihr Verständnis! (Da die Veröffentlichung Vorrang hatte, werden die Details nachträglich per CSS angepasst!)

🌏 Zum Schluss noch ein Wort

"Eine Übersetzung muss nicht perfekt sein, um die Welt zu erreichen."
Mit dieser Haltung entwickelt Liberogic auch heute Websites. Auch wenn nicht alles perfekt ist, kann vieles trotzdem ankommen. Deshalb probieren wir Dinge zuerst selbst aus, bevor wir sie unseren Kunden zeigen. Scheitern gehört dazu, Experimente sind ausdrücklich erwünscht. Liberogic testet auch heute laufend an der Spitze des Webs.
Während wir darüber sprechen, entwickelt sich Google Übersetzer ständig weiter, so viel steht fest! Und damit: Ende gut, alles gut.

Über den Autor

Als Geschäftsführer immer auf Augenhöhe mit unseren Partnern. Ich verstehe neue Technologien und freue mich, wenn etwas den Alltag einfacher macht. Ich liebe die Arbeit vor Ort und tauche gern tief in Themen ein. Die Zukunftstechnologien begeistern mich, und egal wie alt man wird, möchte ich immer Neues erleben.

Tadanori Morimoto

Projektmanager / Regisseur / Gegründet 2007

Artikel dieses Teammitglieds ansehen

Verlässliches Team und schnelle Reaktionsfähigkeit sind unsere Stärken

Bei Liberogic werden wir von unseren Kunden hoch geschätzt, da unsere erfahrenen Mitarbeiter Projekte proaktiv vorantreiben.
Wir achten darauf, Projektmanager und Direktoren gezielt einzusetzen, damit das gesamte Projekt reibungslos verläuft. Um unnötige Kostensteigerungen durch Vollzeitbindung zu vermeiden, verteilen wir Ressourcen passgenau. Zudem sind wir für unsere Geschwindigkeit bekannt, vom Verständnis der Anforderungen bis zur Erstellung und Einreichung von Angeboten.

Hinweis: Wir bieten keine SES-typischen Vor-Ort-Einsätze an. Wir bitten um Ihr Verständnis.

Sie können nahezu alle gängigen Tools für Projektmanagement und Chat nutzen, darunter Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom, Webex und viele weitere.

Sprechen Sie uns gerne auf Ihre Herausforderungen im Web an.

Fallstudien