公司国际化翻译平台架构设计,我当了回文抄公当选架构组第一名成员

2,930 阅读6分钟

第二喜欢的小草神镇楼

缘由和吐槽:

很久没写博客了,这次算当文抄公了

一、个人吐槽

1、公司要做香港的业务,不可避免的项目需要切换为繁体中文,但是是大家10人左右的开发了2年的系统,可想而知系统是多么的庞大。

2、香港的业务需求太庞大了,虽然年前11月开始说要做国际化处理。但是一直到目前为止都是很……大家懂的

3、过年回来看到香港这般业务,还强制要求加班。说实在我进公司到现在感觉一直都是需求倒排期,忙了两年,感觉累了,想换了。项目启动初期,我都出来了,领导打电话让我回去加班。瞬间火气上来了,说本身项目就不合理。干不完就是干不完,有本事把我开了。后来准备简历准备在boss上骑驴找马,现实是今年怎么回事,这么惨烈吗?1个半月2个面试。

4、项目需求到了后期,被逼着疯狂加班,到了项目后期国际化一个bug单子让我整个人都不好了。一看目前提取的词条,去重复之后项目中存在8000个不一样的词条。假如还需要手动找文件一个个替换语言为繁体。瞬间不想干了,吐血了。今年大家离职需谨慎,我现在看着这个市场有点怕。

5、还好本人没有放弃偶尔的学习时光,不论在忙都会摸鱼,看看掘金,水水群。看到了大佬

pekonchan的文章让我看到了关于项目的解决出路。

6、本人在忍无可忍之下召集用户中心总监,前端各个组长和岗位名义上的架构师开了个会进行如下称述,然后被总监说以后你就是架构组第一名成员了,本人接受但是并不觉得是一个好活,我只想当个小兵,奈何领导逼我

二、项目解决方案

1、停止这种没有意义的傻逼替换操作

2、编写js脚本运行已经翻译好的execl进行比对,然后统一生成香港语言包

3、大家继续提取语言文件,按新的规范进行提取,后期做babel编写,进行全量扫描和提交文字抽取

4、对已经提取好的中文语言包和上一批已经提交的中文execl进行js脚本编写比对,得到约1600个新增词条未提交execl

5、本人设计完善鹦鹉翻译平台形成需求文档。

6、本人后期需要调研并编写babel提取脚本

大段需求文档突袭……

1、项目代号和愿景

鹦鹉国际化翻译平台,项目代号parrot

鹦鹉:人们对鹦鹉最为钟爱的技能当属效仿人言。事实上,它们的”口技”在鸟类中的确是十分超群的。这是一种条件反射、机械模仿而已。这种仿效行为在科学上也叫效鸣。由于鸟类没有发达的大脑皮层,因而它们没有思想和意识,不可能懂得人类语言的含义。

支撑全公司在国际化各种环境下语言翻译导致的机械,低效的开发。将翻译交给专业的人,解放开发劳动力。

目标是全公司的项目翻译问题,all in

后续文字中用鹦鹉代替鹦鹉国际化翻译平台

2、现有项目开发缺陷

1、项目中存在重复的语义文字,举例:产品编号可能为:产品id,产品Id,产品号,产品唯一码等等

2、假如只有一种语言情况下大家在编码过程中只将文字直接写入代码中,但是当项目存在多种语言的情况下导致需要机械重复的提取文字,人力堆砌的替换到项目中

3、即便采用代码的方式实现多语言环境切换,也避免不了多种语言下每次寻找文件进行文字替换的过程

3、现有项目多语言架构和实现鹦鹉接入简略图

3.1、现有开发模式

3.2、鹦鹉平台开发模式

4、平台设计

4.1、功能清单

语言key:

1、项目列表:实现项目创建

2、操作记录列表:语言变化记录

3、语言分类

4、语言库列表

5、语言版本管理

4.2、操作流程图

4.3、项目列表

最优解决方案:实现直接读取git库获取最新的所有项目

功能:

1、同步:更新git仓库项目,并新增到当前项目列

2、项目名称,输入项目名称进行筛选,支持模糊搜索

3、查询

4、新增项目

字段说明:项目名称必填

4.4、语言库列表

1、新增分类

分类名称必填,输入的时候禁止空格

2、新增版本

版本名称必填,限制100位长度,只能输入整数、英文、英文点符号,输入的时候禁止空格

3、下载语言包

1、语言包下载逻辑:所选项目,所选语种,选择的版本号(版本号存在时间节点,选择这个版本时间节点前面的词条和所选的版本号进行生成),必须是当前项目下无重复词条的所有词条

2、语言包内容为json方式,存在以各个语种文件命名的json文件和一个version.json版本文件,下载为zip文件:名称为:项目名称-版本号

语种文件内部json格式为:词条key:对应语种翻译内容

version.json内容字段:项目名称,版本号

参考格式:

3、下载语言包需要支持无登录模式下载,参考微信支付宝支付key方式或者公司内部实现的open-api。

4、新增词条

1、词条key校验方式如图,但是内部强调统一使用简体中文方式,和后续研发开发规范有关。平台支持多方式,表示多元化发展

输入的时候禁止空格

2、词条key保持按项目维度唯一性校验,当前项目和同一个版本号下需要唯一

3、表格支持编辑和删除词条,删除需要二次提示:警告!删除词条将影响研发和网站线上内容。

4、新增词条不生成操作记录

5、编辑和删除词条

1、编辑只是更新当前操作表内容,并且复制老数据进入操作记录表

2、删除,删除当前表词条(物理删除或虚拟删除研发定义),进入操作记录表

6、关于语种

使用该文件导入所有语种

参考博客

全量语种文件:blog.csdn.net/weixin_4498…

4.5、语言版本管理

暂无

4.6、操作记录列表

致谢

我搞了个可以全自动化国际化的工具