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

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

ruisui882个月前 (04-28)技术分析32

一、背景

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

  • 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 国际化
分享给朋友:

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

前后端分离自动化运维平台开发

运维平台采用前后端分离:前端vue,框架vue-element-admin;后端python,框架django-rest-framework.目前运维平台模块如下:1、 CMDB管理应用管理、环境管理、开发语言管理、产品项目管理、资产管理2、 构建发布持续构建、持续部署、Jar工程依赖构建3、 容器...

Gitlab之间进行同步备份

目前,我们公司有两个研发团队,分别在北京和武汉,考虑到访问速度的问题,原有武汉的研发环境在近端部署。也就是北京和武汉分别有两套独立的研发管理环境,虽然这解决了近端访问速度的问题,但是管理上较为分散,比如研发环境备份和恢复就是最重要的问题之一。最近,处于对安全性和合规性的考虑,希望将北京和武汉的源代码...

15款测试html5响应式的在线工具

手机、平板灯手持设备的增多,网站要顺应变化,就必须要做响应式开发,响应式网站最大的特点在于可以在不同设备下呈现不同的布局,是基于html5+css3技术,目前越来越多的网站开始采用了响应式设计,而下面15款工具可以方便测试你的html5响应式效果。Responsinatorhttp://www.re...

Vue2的16种传参通信方式

前言先直入主题列出有哪些传参方式,下面再通过事例一一讲解。props(父传子)$emit与v-on (子传父)EventBus (兄弟传参).sync与update: (父子双向)v-model (父子双向)ref$children与$parent$attrs与$listeners (爷孙双向)pr...

Vue进阶(二十六):详解router.push()

在Vue2.0路由跳转中,除了使用 <router-link> 声明式创建 a 标签来定义导航链接,还可以借助 router 的实例方法,通过编码式编写代码来实现。router.push(location)想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 hi...

VUE3+JAVA商城源码小程序APP商城

三勾小程序商城基于springboot+element-ui+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端: springboot2.3.12管...