Topics

使用Google Cloud Translation API实现多语言化的新闻后续:Liberogic的探索与实践

  • column

如新闻中所公布的那样,我们已经为Liberogic的网站提供了多语言支持

目前我们只支持 6 种语言,但说实话,做好一种语言后其他的都差不多。如果想要实现 Google 那样的全语言支持,技术上也是可行的。

从"首先尝试翻译"开始的实验

起点很简单。
"既然 Web 无障碍支持改善了,来自国外的访问也在增加,那不如试试翻译一下?"
就是这么轻松的想法。
不过,认真做的话其实意外地复杂。翻译 API、缓存、构建、成本、缓存更新……诸如此类,想象之外的"复杂的幕后"问题确实存在。
因此,这次的多语言化采用了Google Cloud Translation API,并采用在构建时自动翻译的机制

大致流程是这样的

构建时会运行 scripts/translate-html-cache.mjs
如果缓存(translate-cache.json)中已有翻译过的文本,就使用这些文本;否则调用 Google 翻译 API 进行翻译。
新的翻译会被追加到缓存中,下次可以重新使用。但由于自动部署环境中缓存无法生效,关键是要在本地先构建并推送一次。

这样做可以避免不必要的 API 计费。(一开始的时候,你会发现自己经常在看 Google 计费界面……哈哈)

与翻译习惯对抗

实际尝试后,会产生各种各样的翻译。
"リベロジック株式会社"变成了"Liberogic 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%以上的用户,我在某个地方看到过这样的说法。

其实全球化推进得相当快?

目前 URL 示例如下:

今后计划将其扩展到约30种语言(?)。
届时还计划挑战支持从右到左的阿拉伯语(rtl对应)。
敬请期待!

总结:推荐轻松实现多语言化

本次方案完全满足那些"先尝试翻译一下!"的客户需求。
通过 Google Cloud Translation API 和缓存管理,可以相对低成本地构建多语言网站。
这也是在开展全面本地化之前的试验阶段的理想选择。

✳️ 顺便说一下

虽然多语言版本中可能存在某些措辞或布局不完美之处,但我们正在逐步修正,诚恳期待您的理解和支持。(因优先发布,细节部分稍后通过 CSS 调整!)

🌏 最后再说一句

"Even if translation isn't perfect, the world will understand."
With that spirit, Liberogic continues building the Web today. Even when things aren't perfect, communication happens. That's why we try things ourselves first before presenting to our clients. We embrace failure, we embrace experimentation. Day after day, Liberogic tests and validates at the frontlines of the Web.
And yet, even as we say this, Google Translate continues to evolve every single day! The end.

本文作者

既是公司代表,也始终是合作伙伴。喜欢理解新技术,享受事物变得便捷的那一刻,是个痴迷于现场工作的人。对未来技术充满期待,无论多大年纪都想继续体验新事物。

森本

项目经理 / 创意总监 / 2007年创立

查看本员工的文章

安心的团队体制和迅速的反应能力是我们的优势

Liberogic 拥有经验丰富的员工团队,积极推进项目,因此获得了客户的高度评价。
我们会妥善分配项目经理和总监,确保整个项目顺利进行。 通过避免不必要的全职投入导致的成本增加,并采用适当配置人力资源的方式,从把握业务内容到估价的制作和提交速度都赢得了良好的口碑。

* 本公司不积极开展SES驻场工作等业务,敬请谅解。

Slack、Teams、Redmine、Backlog、Asana、Jira、Notion、Google Workspace、Zoom、Webex 等,您可以使用几乎所有主要的项目管理工具和沟通协作工具。

请咨询我们的网站相关问题。

案例分析