表示言語の切り替え

Topics

Google Cloud Translation APIで多言語化してみたニュースの続き:リベロジックの試行錯誤

  • column

ニュースでも出したように、リベロジックのWEBサイトを多言語対応いたしました!

現在は6言語のみの対応ですが、1言語やってしまえばぶっちゃけ一緒で、Googleにある全言語対応も別にできると言えば、できちゃいます。

「まずは翻訳してみよう」から始まった実験

きっかけは単純です。
「Webアクセシビリティ云々で、海外からのアクセスも増えてきたし、とりあえず翻訳してみる?」
という軽いノリ。
でも、ちゃんとやると意外と大変。翻訳API、キャッシュ、ビルド、コスト、キャッシュ更新……などなど、想像以上に“ややこしい裏側”がありました。
というわけで、今回の多言語化はGoogle Cloud Translation APIを使って、ビルド時に自動で翻訳する仕組みを採用しています。

仕組みはこんな感じ

ビルド時に scripts/translate-html-cache.mjs が走ります。
キャッシュ(translate-cache.json)にすでに翻訳済みの文言があればそれを使い、なければGoogleの翻訳APIを叩いて翻訳。
新しい翻訳はキャッシュに追記されて、次回からは再利用されます。ただし、自動デプロイ環境ではキャッシュが反映されないため、ローカルで一度ビルド&プッシュするのがポイント。

そうすることで、無駄なAPI課金を防げます。(最初のうちはけっこうGoogle課金の画面を見る羽目になります…笑)

翻訳のクセと戦う

やってみると、いろんな味のある翻訳が出てきます。
「リベロジック株式会社」が「Liberlogic Inc.」になったり、ときには「Libelogic」になったり……。

もはや誰!?って感じです。GoogleのGlossary(用語集)機能も試してみましたが、文単位でしか効かないため、「リベロジック株式会社」単体では制御しづらい。
なので最終的には、自前で置換ロジックを実装しました。

en: [
  { from: /Liberlogic/g, to: 'Liberogic' },
  { from: /Libelogic/g, to: 'Liberogic' },
],
de: [
  { from: /Liberlogic/g, to: 'Liberogic' },
  { from: /Libelogic/g, to: 'Liberogic' },
],

さらにGoogleスプレッドシートと連携し、そこに登録したルールを自動で反映できるようにしました。これで「リベロジック」も「リベロ爺」も守れます。

対応言語の選び方

最初は英語・中国語(繁・簡)・フランス語・スペイン語・日本語は元々あるので6言語。
Slack上ではこんな会話もありました。

「ロシア語はどうしようか?韓国語とタイ語とかどう?」

「アラビア語はCSSが面倒だからあとで」

「いや、ヒンディー語はアクセス爆増しそうだからやめとこう」

……と、ゆるいノリで言語を選定。
とはいえ、この6言語で世界の75%以上の利用者をカバーできる計算らしいですね、どこかに書いてありました。

実はけっこうグローバル化進行中?

現時点でのURL例はこちら:

今後は30言語くらいまで増やしていく予定(?)です。
そのうち右から左に読むアラビア語(rtl対応)にも挑戦予定。
乞うご期待ください!

まとめ:お手軽多言語化のすすめ

今回の仕組みは、「まずは翻訳してみたい!」というお客様にぴったり。
Google Cloud Translation API とキャッシュ運用で、比較的ローコストに多言語対応サイトを作ることができます。
本格的なローカライズを目指す前の実験フェーズとしても最適です。

✳️ ちなみに

多言語化でちょっと変な文言やレイアウトがあっても、順次修正中なのでどうかあたたかい目で見守ってください。(リリース優先のため、細部は後日CSSで直します!)

🌏 最後にひとこと

「翻訳は完璧じゃなくても、世界には伝わる」
そんな気持ちで、今日もLiberogicはWebを作っています。完璧じゃなくても、伝わることがある。だからこそ、お客様の前にまず自分たちでやってみる。失敗上等、実験上等。Liberogicは今日もWebの最前線で検証を重ねています。
と言っている間にGoogle翻訳は日々進化しているのでした!ちゃんちゃん

この記事を書いた人

社長でありながら常にカウンターパート。新しい技術を理解したり、何かが便利になる瞬間に喜びを感じ、ひたすら没頭する現場大好き人間。80代になったら、VRの中で20歳のアバターを使って暮らすことが夢。

森本さん

プロジェクトマネージャー / ディレクター / 2007年創業

このスタッフの記事を見る

安心のチーム体制とスピードのある対応力が自慢

リベロジックでは、ベテランスタッフが積極的にプロジェクトを推進するため、お客様から高く評価されています。
プロジェクトマネージャー、ディレクターをきちんとアサインし、プロジェクト全体をスムーズに進行することを心掛けています。 不必要なフルコミットでのコスト増加を防ぎ、適材適所にリソースを配分するスタイルで、業務内容の把握から見積作成/提出の速さにも定評があります。

当社はSES的な常駐業務等は積極的に行っておりませんので予めご了承ください。

Slack、Teams、Redmine、Backlog、Asana、Jira、Notion、Google Workspace、Zoom、Webexなど、ほぼすべての主要なプロジェクト管理ツールやチャットツールをご利用いただけます。

Webのお悩みご相談ください。

ケーススタディ