2.8.0 • Published 2 years ago

gm_static_language v2.8.0

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

多语工程

可参考 语雀 了解多语言的前世今生(- -)

同步

server_fe 工程会定时每天同步各个项目的多语信息,生成 json 文件

更新

登录 http://trace.guanmai.cn/admin#/language ,选择对应 项目/语言 导出 excel。 翻译人员翻译后,再重新导入。

发布

将每个语言 json 文件打包成 js 文件,发布到cdn,让各个项目去拉取,同时每个项目会生成一个独立的 版本号js文件。 build 生成 ./build/station/locales/xxx 同步到机器 static.cluster.gm:/data/www/static_resource/${projectName}/locales 通过 js.guanmai.cn/build/station/locales/ 来访问

生成js文件,使用eval加载多语,方便存储到 localStorage 中做缓存。

其他

新增语言

  1. 更新 gm-i18n 库代码的 SUPPORT_FOREIGN_LANGUAGES 常量,发布 minor 版本到 npm
npm version minor && npm publish
  1. gm-i18n-migrate 库的 gm-i18n 依赖更新为上面发布的版本,发布 minor 版本到 npm
npm version minor && npm publish
  1. 发布 gm-i18n 新版本到CDN :
> ssh 到 gate 机器
> cd /data/frontend_release/gm-i18n
> git pull
> npm run deploy
  1. 更新项目 gm_static_languagegm-i18ngm-i18n-migrate 依赖
    > ssh 到 gate 机器
    > cd /data/frontend_release/gm_static_language
    > git pull
    > npm i
  • 注意: 因为配置多语言的页面导出Excel会导致git存在未提交的修改(默认一周提交一次),可以先执行一下同步命令(npm run sync && npm run publish:hk)
  1. 本地更新node项目 server_fe web 依赖的 gm-i18n。 git commit && git push 之后
  > ssh 到 gate 机器
  > cd /data/www/gm_server_fe
  > npm run deployweb
  1. 更新业务项目的 gm-i18n。这样操作:
  • 更新入口文件 index.htmlsation.htmlgm-i18n 库(通过CDN加载)
  <script type="text/javascript" src="//js.guanmai.cn/build/libs/gm-i18n/2.x.x/gm-i18n.js" data-project="station"></script>

新增项目

  1. gm-i18n 更新 SUPPORT_PROJECTS ,发布 patch 版本到npm,并发布CDN(上面写了如何发布CDN).
  2. 项目使用 gm-i18n 迁移完多语, 添加最新版的gm-i18n
    <script type="text/javascript" src="//js.guanmai.cn/build/libs/gm-i18n/2.x.x/gm-i18n.js" data-project="bshop"></script>
    到模板,属性 data-project="bshop" 用来标识是哪个项目。
  • 修改 webpack.config ,将 gm-i18n,作为 external 引入。 升级 eslint-plugin-gmfe 到 ^1.2.0 让 import 不提示错误
  • 参考其他项目,添加 i18next.js
  • 开发使用 t 函数包裹词条
  1. 如之前一样,更新 gm_static_languagegm-i18n 依赖.
  • 去 gate 机器 /data/frontend_release/gm_static_language ,git pull ,npm i 最后跑一遍 npm run sync (注意gate机器可能没有该业务项目的模板,需要手动git clone项目).
  1. 更新 server_fe/web gm-i18n 依赖(注意是web)
  • 到 gate 机器 /data/www/gm_server_fe ,执行 npm run deployweb

debug

语言配置平台报错,那么可以去查看日志得到报错信息 日志目录: 1. 登录gate机器 2. cd /data/logs/fe/schedule 3. cat static_language.log 查看当天日志