加密的核心一直是面向全球受众。比特币和其他加密货币没有边界的概念,允许价值在互联网上无缝转移。
Coinbase的愿景和使命是建立面向世界的开放金融系统。截至2017年中,Coinbase支持八种语言的翻译,并在32个国家/地区开展业务,主要在欧洲和北美开展业务。
但是,随着2018年我们的国际增长加速,我们的工程团队开始面临技术限制,这将阻碍我们的国际战略,从而限制了我们使所有人都能使用加密货币的能力。
国际扩张涉及许多因素,包括遵守法规,与本地支付方式集成,为具有母语的人提供支持的团队以及用户体验设计。
这篇文章将主要关注Coinbase的工程团队在国际增长时期,围绕国际化(aka i18n)和本地化(aka l10n)所面临的挑战,最重要的是解决方案的顺序。 主要挑战主要是:跨平台的碎片化,缺乏翻译基础架构,翻译质量差以及缺少国际化的文化和流程。
我们的团队从搜寻现有研究开始,但很快发现没有太多公共资源可用于构建可扩展的国际基础架构。我们知道已经有许多公司成功地做到了这一点,因此我们开始接触我们自己网络中的人们。我们发现,Netflix,Airbnb和Pinterest等公司的本地化专家非常乐意与我们分享他们的知识和经验。
这篇文章以及我们当前的本地化基础设施是建立世界一流的翻译管道以支持世界上每个国家的努力的结晶。
跨平台本地化
一个主要的挑战是围绕本地化缺乏跨客户的标准化。如今,大多数浏览器和移动设备都具有内置的本地化API,这些本地化API利用CLDR (Unicode联盟维护的用于标准化本地化信息的存储库)。但是,当您开始使用浏览器时,对这些API的支持开始发生变化,这需要使用polyfills和一些麻烦(IE根本不支持Intl对象!)。为了建立凝聚力的体验并降低包含这些大型polyfill库的性能,该Web产品现在仅支持主动维护的最新浏览器。
另一方面,iOS和Android等移动操作系统具有内置的本地化行为,这些行为略有不同,但是非常擅长于其工作。我们很快意识到,覆盖这些本机API将非常困难,并且将导致更加不可预知的行为和较差的客户体验。因此,我们选择让应用程序使用其本地库和与语言环境无关的API进行本地化。此方法与在API和客户端之间分离数据和表示形式相一致。
遇到的另一个常见问题是某些平台具有不同的语言环境回退行为。例如,在iOS上,如果某个应用仅支持拉丁美洲西班牙语(es-LA),则其母语设置为墨西哥西班牙语(es-MX)的用户应回退到es-LA。这种行为在网络上不同的平台上是不同的,同一位客户实际上会看到卡斯蒂利亚西班牙语(es-ES)的翻译,这是一种完全不同的语言。此处的解决方法并不像在移动设备上记录用户所需的语言环境那样简单设备,区域设置由设备设置决定。如前所述,用服务器语言环境覆盖此OS行为很困难,并且可能导致无法预料的错误,因此我们不能仅在应用程序上添加语言环境选择器来让用户更改其语言环境。取而代之的是,我们将检测到设备区域设置的更改,并在服务器上设置该新的区域设置,这将允许此更改传播到电子邮件和我们的网站。标准化此后备行为和持久保留用户区域设置是我们为改善客户体验而采取的一些关键措施。
建立翻译基础架构
随着我们国际努力和产品表面积的扩大,我们现有的翻译管理平台开始出现裂缝。每个平台还与我们现有的翻译管理平台进行了自己的集成,从而导致工作重复。由于这种分散性,为新产品添加新语言或支持翻译是一个繁琐的过程,需要数天至数周的工程时间。例如,在Android上,工作流程完全是手动的,这意味着发行经理将编译所有源字符串,并通过翻译管理平台界面上载它们。如果有人忘记这样做,那么该版本将没有新的翻译!
由于这些限制,自动化将是第一要追求的功能。我们受到Pinterest的启发,该公司能够通过一支非常精简的本地化团队来维持世界一流的本地化流程。同样,我们希望建立开发人员体验,使工程师能够轻松快捷地对其功能进行国际化。从理论上讲,工程师要做的就是标记其字符串以进行翻译,而其他工具则由工具来处理。虽然翻译流程的这一部分可以实现自动化,但某些部分(例如质量检查)仍然是手动过程。对于这些实例,我们将默认进行处理并将其作为发布周期的一个步骤。
考虑到这一策略,我们的团队为未来设计了翻译工作流程。此过程的关键部分包括找到一个翻译管理平台,该平台将随着国际增长的持续发展而扩展,为服务和客户建立访问翻译的通用接口,同时在发布周期中增加翻译质量保证。
搜索TMS
去年,开始寻找新的翻译管理平台(TMS)。在考虑供应商的要求时,我们的一些关键要求是:
- 与许多供应商的集成,包括流行的CMS产品
- 面向翻译人员和本地化经理的广泛翻译工具
- 可视上下文解决方案,允许翻译人员在应用程序的上下文中进行翻译
- 强大的翻译记忆库,因此字符串仅需翻译一次,从而节省翻译时间和成本
- 维护良好且有据可查的API
- 出色的客户支持和技术专家
在评估了一些TMS供应商之后,我们最终选择了满足所有这些条件的供应商。
构建通用的i18n界面
下一步是建立服务访问翻译的通用接口。为此,我们构建了一个用Golang编写的翻译服务,该翻译服务位于客户端和TMS之间。如果恶意攻击者破坏了TMS,该服务将验证所有传入文件。该服务还可以更好地控制我们的内容,并即时提供翻译。例如,在网络上,我们以前将所有翻译与该应用捆绑在一起,而该应用占据了我们捆绑产品尺寸的75%以上。通过与翻译服务集成,我们能够根据用户的语言环境动态提取翻译,从而使互动时间减少了27%。
通过在所有客户端上标准化我们与TMS的集成,可以将更改快速部署到我们的翻译工作流程中。现在,添加新语言就像协调翻译人员和几行代码一样容易。自该项目开始以来,我们已经在102个国家/地区添加了10种新语言,并为我们的Commerce产品和内部工具提供了翻译支持。将来,您将看到更多的Coinbase产品开始支持翻译以及扩展的语言支持。
提高翻译质量
虽然我们支持翻译,但是这些翻译的质量与母语使用者创建的产品不相上下。为了让客户在产品中找到价值,它不仅需要支持翻译,还需要本地化。导致产品感觉局部化的因素很多,包括特定于语言环境的功能和UI / UX,但第一步是集中精力提高翻译质量。
最常见的问题是缺少上下文,即翻译人员在没有更大应用上下文的情况下孤立地翻译字符串。为了解决这个问题,我们强制通过每个平台的linter为所有字符串添加描述。图像还通过自动屏幕截图工具上传到TMS,以便根据上下文使用字符串,这将有助于翻译人员了解在应用程序中如何使用字符串。此外,我们使用行业专用术语对通用术语表进行了修改。
质量检查也是提高翻译质量的重要组成部分。根据Pinterest的模型,我们还确定了特定语言的内部所有者,以解决质量问题和分类错误。鼓励员工使用其他语言来使用产品,以了解客户的痛点。我们的团队目前正在努力使每种语言都拥有语言所有者,并正在寻求第三方供应商进行质量检查。
使国际成为头等公民
建立国际产品并不是一次完成的事情,而是一个持续的过程。这不是一个人或一个团队可以自己解决的问题:设计师需要针对不同的语言限制进行设计,例如字符大小,字长或可能从右到左的语言。撰稿人需要用不同的语言考虑性别和多元化。要求工程师及早标记所有字符串以进行翻译并构建响应式UI。产品经理需要考虑某些功能将如何改变国际客户的行为。其中大部分涉及教育新员工,并使人们更容易进行国际思考。
为我们的客户提供丰富的国际经验是建立开放的财务系统的关键垫脚石。
如果您有兴趣帮助我们完成这项任务,请访问我们的职业页面。
Coinbase如何走向国际最初发表在Medium上的The Coinbase Blog上,人们通过强调和回应这个故事来继续对话。
版权声明:项目均采集于互联网, 空投币 无法审核全面,且希望大家能赚钱,请谨慎切勿上当受骗!
温馨提示:★★★天上真会掉馅饼!天道酬勤,都是机会!不错过每个空投糖果!真假难以辨认,尽量0撸!