gongmingqm10

Life is a journey, not a destination

App 本地化解决方案

| Comments

前言

“本地化” 这个词对大家而言并不陌生,文艺点的解释大概就是 “入乡随俗” 吧。当然我们这里的本地化主要指的软件产品的本地化。对于某个国外应用,如果需要投放到中国市场,需要注意哪些问题呢?本文主要从开发的视角来探讨应用本地化的问题。

本地化

本地化(Localisation)主要是提升软件对于不同地区不同环境的用户的用户体验问题。从语言角度来说,我们需要给 App 支持中文。但是翻译就是本地化的全部吗?

谈到体验问题,语言只是用户体验的一部分。为了提升用户体验,本地化除了语言翻译之外,还包括许多内容。本地化大体受语言、网络、文化等因素的影响。

1.语言

语言关系着用户能否使用你的App,是否理解App的核心价值。所以在移动开发中,开发人员能够轻易的创建出针对不同语言的字符串资源文件,App运行时会根据当前设备的语言设置加载对应的字符串资源。这是Android和iOS框架本身所支持的。所以语言是本地化最直接的一部分,也是最容易做的一部分。

2.网络

网络意味着连通性,决定着App中的各项服务能否正常使用。比如某跑步软件中,内嵌 Google 地图来记录用户的位置以及轨迹,当一个中国用户下载这个应用时并不能正常使用。因为应用没有考虑到中国用户对 Google 服务访问受限。网络问题在中国本地化中尤其突出,因为你需要时刻考虑”防火长城”对软件中各服务模块的影响。

3.文化

本地化方面文化的成分虽然不多,但是却是最值得挖掘的地方。以文本方向为例:Arabic文字是从右到左的方向,Android4.2版本开始全面支持Right to Left布局,iOS也在WWDC2015中宣布全面支持右到左的文字布局。除了文本方向之外,文化还包括用户行为偏好。比如美国用户可以喜欢用运动相机拍摄极限视频。但是中国用户却更喜欢用运动相机自拍,然后分享朋友圈。不同的用户习惯决定着产品差异化的定位。

有了上述对本地化的理解。那我们可以来比较一下 翻译、本地化、国际化的异同点。下面我们可以了解下主要区别:

本地化比较

实践与坑

了解了本地化之后,那么在整个的项目实践中,我们有哪些需要注意的地方呢?

翻译

在本地化翻译过程中,我们一般需要先进行翻译相关文本。然后给客户验证反馈。翻译过程中需要提前确认,特别是对于法律性质的长文本翻译,可能还要和客户的法务部门打交道,敦促他们尽快完成翻译校对服务。当然,如果你自己没办法翻译一些服务条款等,可以把翻译服务委托给其他翻译机构。

翻译的沟通和确认可以直接使用 Google Excel 在线协作编辑,当然也可以使用 Transfix 平台协作翻译。

代码管理

对于本地化项目,我们一般推荐客户在同一份代码库上进行开发。这样对于后期发布新功能将很有帮助。如果一开始就采用两套不同的代码库来做本地化,那以后英文版上增加了新功能,再复制到现在的版本上,将增加很多不必要的工作量,并带来诸多不一致性。

当然如果你综合考虑之后,觉得中文版的App和英文版的App将有很大差异化,客户想直接做一个“具有中国特色的本地化”App,那就勇敢的重新开始吧。

在现实情况中,如果你能够给客户做中国的本地化,那么未来可能的业务也许是其他语言的本地化。这时候在代码管理的时候如果可以多考虑一点,也许可以带来新的商机。

国内媒体分享

国内媒体分享可以说是本地化中一个很重要的方面。美国的社交平台主要是 Facebook, Twitter, Pinterest, youtube 等,但是在中国这些分享平台将是 微信朋友圈,QQ 空间,新浪微博, youku等。

如果选择做国内媒体分享,需要确定是使用系统默认(Android系统默认的分享方式支持QQ, Wechat等; iOS不支持国内的渠道分享)分享组件,还是使用各社交平台的SDK进行集成。工作量是不一样的,所以要根据项目的进度安排进行合适的计划。

如果你已经决定要集成各大社交平台 SDK 进行分享,那么我们应该尽快提交审核,申请相关的key和 secret。因为我们要预防审核过程中的各种问题。

网络-GFW

网络可用性这个问题估计只有在做 APP 汉化的时候才会遇到。具体来说,中国市场Google服务(包括Google Map, Google Analytics, Google Cloud Messaging, Google Plus)等处于不可用(或者不稳定)状态。因此,除了App的文字资源需要汉化之外,App中使用的系列Google服务也应该更换为在国内可以使用的服务。

由于Google服务不可用的情况,很多国产Android手机将手机中的Google服务给移除掉了,所以国内的 App应用请慎用Google服务(组件),毕竟网络是个很大的问题。

除了Google服务之外,对于其他的服务也需要考虑稳定性等。因为有些国外的服务虽然不是Google的,但是在国内也很难访问。

App中常见的服务:

  1. 地图:Google Map不可用,国内可以替代为高德地图服务;
  2. 社会化分享/登录: Google plus登录,Facebook和Twitter分享;
  3. App统计:Google Analytics不稳定;国内可以替换为Umeng或者Flurry;
  4. 消息推送:Google Cloud Messaging不稳定;国内可以用个推或 JPush;

当我们在对应用做服务选择的时候,除了需要考虑网络易用性之外,也需要考虑所选框架的文档是否适合客户的后期维护。因为我们的项目一般结束之后,要让客户能够快速接手,如果选择一些文档不全后期支持很差的服务,那团队解散之后。客户将很难维护这份代码。

应用分发

应用开发完成之后,离发布还有一步。你需要将App分发到应用市场中,才能够真正让用户使用App。这里的应用分发指Android应用的分发。对于iOS的应用分发,按照官方流程走,应该不会出现太多意外。

Android 应用市场分发,在中国尤其繁琐。由于Google Play Store在国内的Android手机中基本不可用,从而给了其他应用商店很多机会,比如:腾讯应用宝、百度市场、豌豆荚、安卓市场、360市场以及小米市场等。

在我们给某客户分发应用的时候,发现Android应用市场一般会自动爬取Google Play上的应用,于是我们的英文版就被官方市场收录,当时我们提交开发完成的中文版应用的时候,我们被告知应用侵权无法上架。最后经过复杂的邮件沟通,版权证明,应用认领等来解决这些版权问题。而这种特定的应用审核问题是没有提前预知的。这种问题也使得整个上线时间推迟了半个月左右。

所以在应用分发之前,我们应该提前在应用上线之前进行试水。避免这种应用审核可能带来的风险。

写在后面

App本地化不再是字符串的本地化,包括影响软件可用性的服务的本地化。有效且全面的本地化才能够真正构建出一款易用“接地气”的App。

Comments