当前位置:首页 > 技术分析 > 正文内容

国际化方案设计(国际化方案设计案例)

一、背景

公司目前各端的项目小组开发都有属于自己的一套国际化的开发流程。如:

  • java端使用messages.properties来存储国际化的内容。
  • ios端是分模块来存储国际化的内容,如用户模块:UserLanguage.strings。
  • android端是分模块来存储国际化的内容,如在模块下的目录创建各个语言的strings.xml。
  • web端是分页面来存储国际化的内容,如创建一个js文件来完成某个页面的国际化工作。

前期以业务开发为主,不管是前端还是后端,都是以快速实现为前提,所以多数只考虑到本端的实现,未考虑到流程的各个环节的衔接。导致现行的流程比较臃肿以及存在大量的人为工作量。现行的流程如下:

二、现状分析与痛点

  1. 目前虽然已经有国际化的能力,但各端的开发不一样,无法统一管理
  2. 现行的国际化流程过长,涉及团队多,而且对接方式与时间都不可控
  3. 各个小组的国际化需要自行实现,存在重复造轮子的情况
  4. 开发人员根据文档来替代其他语言的工作量大
  5. 各个角色关心的范围非常模糊,如产品需要关注什么内容需要翻译,开发人员需要关注各个词条对应各个语言的内容是什么,翻译人员需要关注什么时候来需求,以及什么时候会给开发人员提交翻译内容。存在大量的沟通成本
  6. 现所有的翻译对接点是一份在线的excel,无法灵活应对项目的配置与翻译的标准,也无法更好地维护与查看修改记录
  7. 大量的翻译工作基本都可以通过自动化完成,如调用第三方接口完成翻译。而现状是通过人工来翻译或查询资料(如通过google翻译,百度翻译等)来完成。

三、如何解决这些痛点

  1. 优化国际化的开发流程。
  2. 创建国际化后台管理系统(i18n-service、admin后台)
  3. 统一化管理各个端的国际化资源文件。(通过编写脚本完成)
    虽然各端项目组对于国际化有不同的实现,但也存在一些共性的东西。如国际化都是放到一个文件上集中管理,各个文件的内容都是Key-Value结构,不同的是,各端的存放位置与目录结构不一样。而这些共性的东西往往是能自动化处理的切入口。
  4. 使用自动化翻译工具来替代人工翻译,人工只需要校验翻译是否正确即可,解放大量的查询与翻译工作
  5. 通过流程化与自动化的管理来减少开发过程中频繁替换内容的工作,避免过大的工作量以及人为的原因带来的替换失误。
  6. 通过流程化来规范各个角色的工作范围,使产品人员只关注产品成果,开发人员只关注开发内容,翻译人员只关注翻译。

优化后的流程如下:

四、方案设计

1、总体架构

2、数据结构

3、脚本处理时序图

4、词条上传处理逻辑

4.1、上传时序图

4.2、上传处理逻辑(以java为例)

5、词条的导出与导入

6、客户端的实时加载

7、版本的发布与回滚

五、功能性目标

  1. 支持脚本工具扫描开发文件,并成功上传到i18n-service上
  2. i18n-service支持自动化翻译与校对翻译内容
  3. 支持翻译人员在后台进行词条国际化的确认与翻译工作
  4. 支持翻译人员上传与下载翻译内容
  5. 支持各个阶段的钉钉通知,如开发人员上传完词条通知、版本发布通知,回滚通知
  6. 完成产品需求文档中所有功能

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3681.html

标签: java 国际化
分享给朋友:

“国际化方案设计(国际化方案设计案例)” 的相关文章

GitLab-合并请求

描述合并请求可用于在您对项目进行的其他人员之间交换代码,并轻松与他们讨论更改。合并请求的步骤步骤1-在创建新的合并请求之前,GitLab中应该有一个创建的分支。您可以参考本章来创建分支-步骤2-登录到您的GitLab帐户,然后转到“ 项目”部分下的项目 -步骤3-单击“ 合并请求”选项卡,然后单击“...

2024最新版:前端性能优化方案汇总

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~Hello,大家好,我是 Sunday。前端性能优化一直是很多同学非常关注的问题,在日常的面试中也是经常会被问到的点。所以今天咱们就花一点时间来了解一下2024最新的...

微信外H5跳转小程序——组件(vue项目)

场景有个H5(vue项目),需要实现点击商品item跳转到小程序,微信内和微信外都要支持,这里我们只介绍一下H5在微信外的跳转。如图所示,红框内是一个商品,就是点击这里,要跳转小程序:配置微信小程序云开发(云函数)1、开通云开发然后选择免费额度2、云开发权限设置找到权限设置,把这里的「未登录用户访问...

三勾点餐系统java+springboot+vue3,开源系统小程序点餐系统

项目简述前台实现:用户浏览菜单、菜品分类筛选、查看菜品详情、菜品多属性、菜品加料、添加购物车、购物车结算、个人订单查询、门店自提、外卖配送、菜品打包等。后台实现:菜品管理、订单管理、会员管理、系统管理、权限管理等。 项目介绍三勾点餐系统基于java+springboot+element-plus+u...

尤雨溪:细聊 Vue 的现在与未来

大家好,我是 Echa。创作不易,喜欢的老铁们转发加个关注,点个赞,速速收藏,谢谢!另外咱们一起回顾一下Vue 优秀开源项目:12个又简单又实用的开源项目及组件推荐13个又热门又实用的Vue开源宝典库推荐7个Vue 3的高颜值UI组件库分享15个基于Vue3.0全家桶的优秀开源项目推荐10个基于Vu...

面试官:给我说说什么是同步异步?

今天是刘小爱自学Java的第95天。感谢你的观看,谢谢你。话不多说,开始今天的学习:一、同步、异步请求浏览器发送请求给服务器,其有同步请求和异步请求两种方式。1同步请求什么叫同步请求呢?就是在发送一个请求之后,需要等待服务器响应返回,才能够发送下一个请求。之前学的请求是通过浏览器地址栏发送请求,这种...