Topics

用 Google Cloud Translation API 實現多語言化的新聞後續:Liberogic 的試錯歷程

  • column

如新聞中所提及,Liberogic 的網站已實現多語言支援

目前僅支援 6 種語言,但老實說,只要做過一種語言,其他的就大同小異。Google 提供的所有語言支援理論上也能做到。

「先試著翻譯看看」的實驗開始了

契機很簡單。
「因為網頁無障礙的關係,海外訪問量也增加了,要不要乾脆試試翻譯?」
就是這麼隨意的決定。
不過認真做起來其實意外地複雜。翻譯 API、快取、建置、成本、快取更新……等等,有著遠超想像的「複雜幕後」。
因此,這次的多語言化採用了Google Cloud Translation API,並採取在建置時自動翻譯的機制

機制大概是這樣

建置時會執行 scripts/translate-html-cache.mjs
若快取(translate-cache.json)中已有翻譯過的文案就使用它,否則就呼叫 Google 的翻譯 API 進行翻譯。
新的翻譯會被追加到快取中,下次就能重複使用。不過,在自動部署環境中快取無法被反映,所以重點是在本機先建置再推送一次。

這樣做能避免不必要的 API 費用。(一開始的時候,你會經常得看 Google 的計費畫面……哈)

與翻譯的怪癖對抗

實際做下去才發現,翻譯出現各種奇怪的結果。
「Liberogic 株式會社」變成「Liberlogic Inc.」,有時甚至變成「Libelogic」……。

說實話,已經無從判斷了。我們也試過 Google 的 Glossary(詞彙表)機能,但它只能按句子單位運作,對於「Liberogic 株式會社」這樣的詞彙很難進行精確控制。
因此最終我們自行實現了替換邏輯

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

此外,我們還整合了 Google 試算表,使得在其中註冊的規則能自動套用。這樣無論是「Liberogic」還是「Liberogic 爺」都能正確處理。

對應語言的選擇方式

一開始已有英語、繁體中文、簡體中文、法語、西班牙語和日語,共 6 種語言。
Slack 上曾經有過這樣的對話。

「俄語怎麼辦?要不要加韓語和泰語?」

「阿拉伯語因為 CSS 很麻煩,暫時先不加」

「不,印地語似乎會帶來流量爆增,還是算了」

就這樣以隨意的方式選定了語言。
話說回來,據說這 6 種語言就能涵蓋全球 75% 以上的使用者,我在某處看到過。

其實全球化進程相當順利?

目前的網址範例如下:

今後預計增加至約30種語言左右(?)。
其中也計劃挑戰從右到左的阿拉伯文(rtl 對應)。
敬請期待!

總結:推薦輕鬆實現多語言化

這次的機制非常適合想「先試試翻譯看看!」的客戶。
透過 Google Cloud Translation API 和快取管理,可以相對低成本地製作多語言網站。
作為在追求全面在地化之前的試驗階段也最合適。

✳️ 順帶一提

多語言化的過程中,如果出現奇怪的措辭或排版,我們正在逐步修正,敬請包涵。(由於優先發佈,細節會後續用 CSS 調整!)

🌏 最後想說一句話


翻譯不必完美,世界也能接收懷著這樣的想法,Liberogic 今天也在製作網頁。不完美,但也能傳達。正因如此,我們先在客戶面前自己動手嘗試。失敗沒關係,實驗沒關係。Liberogic 今天也在網頁最前線不斷驗證。
話說回來,Google 翻譯每天都在進化呢!完!

本文作者

身為公司代表,卻始終保持著合作夥伴的心態。熱愛理解新技術、享受事物變得便利的瞬間,是個徹底沉浸於現場工作的人。對未來科技充滿期待,無論年紀多大都想持續體驗嶄新的事物。

森本

專案經理 / 總監 / 2007年創立

查看此員工的文章

信心十足的團隊體制與迅速的應對能力是我們的優勢

Liberogic 擁有經驗豐富的人員積極推進專案,因而獲得客戶的高度評價。
我們恰當地安排專案經理和總監,致力於順利推進整個專案。 我們避免不必要的全面投入而導致成本增加,而是採用適材適所配置資源的方式,因此在業務把握到估價制作與提交的速度上也備受好評。

請注意,我們不積極進行 SES 形式的駐場業務。

Slack、Teams、Redmine、Backlog、Asana、Jira、Notion、Google Workspace、Zoom、Webex 等幾乎所有主要的專案管理工具和聊天工具都可供您使用。

請諮詢我們解決您的網站問題。

案例分析