网站首页 > 技术文章 正文
一、背景
公司目前各端的项目小组开发都有属于自己的一套国际化的开发流程。如:
- java端使用messages.properties来存储国际化的内容。
- ios端是分模块来存储国际化的内容,如用户模块:UserLanguage.strings。
- android端是分模块来存储国际化的内容,如在模块下的目录创建各个语言的strings.xml。
- web端是分页面来存储国际化的内容,如创建一个js文件来完成某个页面的国际化工作。
前期以业务开发为主,不管是前端还是后端,都是以快速实现为前提,所以多数只考虑到本端的实现,未考虑到流程的各个环节的衔接。导致现行的流程比较臃肿以及存在大量的人为工作量。现行的流程如下:
二、现状分析与痛点
- 目前虽然已经有国际化的能力,但各端的开发不一样,无法统一管理
- 现行的国际化流程过长,涉及团队多,而且对接方式与时间都不可控
- 各个小组的国际化需要自行实现,存在重复造轮子的情况
- 开发人员根据文档来替代其他语言的工作量大
- 各个角色关心的范围非常模糊,如产品需要关注什么内容需要翻译,开发人员需要关注各个词条对应各个语言的内容是什么,翻译人员需要关注什么时候来需求,以及什么时候会给开发人员提交翻译内容。存在大量的沟通成本
- 现所有的翻译对接点是一份在线的excel,无法灵活应对项目的配置与翻译的标准,也无法更好地维护与查看修改记录
- 大量的翻译工作基本都可以通过自动化完成,如调用第三方接口完成翻译。而现状是通过人工来翻译或查询资料(如通过google翻译,百度翻译等)来完成。
三、如何解决这些痛点
- 优化国际化的开发流程。
- 创建国际化后台管理系统(i18n-service、admin后台)
- 统一化管理各个端的国际化资源文件。(通过编写脚本完成)
虽然各端项目组对于国际化有不同的实现,但也存在一些共性的东西。如国际化都是放到一个文件上集中管理,各个文件的内容都是Key-Value结构,不同的是,各端的存放位置与目录结构不一样。而这些共性的东西往往是能自动化处理的切入口。 - 使用自动化翻译工具来替代人工翻译,人工只需要校验翻译是否正确即可,解放大量的查询与翻译工作
- 通过流程化与自动化的管理来减少开发过程中频繁替换内容的工作,避免过大的工作量以及人为的原因带来的替换失误。
- 通过流程化来规范各个角色的工作范围,使产品人员只关注产品成果,开发人员只关注开发内容,翻译人员只关注翻译。
优化后的流程如下:
四、方案设计
1、总体架构
2、数据结构
3、脚本处理时序图
4、词条上传处理逻辑
4.1、上传时序图
4.2、上传处理逻辑(以java为例)
5、词条的导出与导入
6、客户端的实时加载
7、版本的发布与回滚
五、功能性目标
- 支持脚本工具扫描开发文件,并成功上传到i18n-service上
- i18n-service支持自动化翻译与校对翻译内容
- 支持翻译人员在后台进行词条国际化的确认与翻译工作
- 支持翻译人员上传与下载翻译内容
- 支持各个阶段的钉钉通知,如开发人员上传完词条通知、版本发布通知,回滚通知
- 完成产品需求文档中所有功能
猜你喜欢
- 2025-06-23 刘强东:最近五年是京东失落的五年,布局外卖靠供应链赚钱,未来还有6个创新项目
- 2024-10-04 网页变画板,一个 Chrome 插件就能扮演高级前端工程师
- 2024-10-04 「开源」github上star超2万的Vue前端项目vue-element-admin
- 2024-10-04 Vue3 高颜值 中后台管理系统模板 vue后端管理框架
- 2024-10-04 项目复盘:通过动态脚本,实现按需加载语言包
- 2024-10-04 国际化04:转换为excel #前端八股文
- 2024-10-04 基于SpringCloud的enum枚举值国际化处理实践
- 2024-10-04 Springboot启动扩展点超详细总结,再也不怕面试官问了
- 2024-10-04 google前端开发中有哪些优秀实践 google前端开发中有哪些优秀实践方法
- 2024-10-04 一个国际化的前端项目,用vue-cli3从0开始搭建一个多入口
你 发表评论:
欢迎- 06-24发现一款开源宝藏级工作流低代码快速开发平台
- 06-24程序员危险了,这是一个 无代码平台+AI+code做项目的案例
- 06-24一款全新的工作流,低代码快速开发平台
- 06-24如何用好AI,改造自己的设计工作流?
- 06-24濮阳网站开发(濮阳网站建设)
- 06-24AI 如何重塑前端开发,我们该如何适应
- 06-24应届生靠这个Java简历模板拿下了5个offer
- 06-24服务端性能测试实战3-性能测试脚本开发
- 566℃Oracle分析函数之Lag和Lead()使用
- 566℃几个Oracle空值处理函数 oracle处理null值的函数
- 550℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 545℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 543℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 536℃【数据统计分析】详解Oracle分组函数之CUBE
- 526℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 519℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)