Metabase汉化教程
-
Metabase原生支持多语言,但是可能翻译用的是机翻,或者不是国人翻译的,翻译的很多地方都不是很合适。这里给想要自己定制翻译Metabase的同学一定的指引。
- Metabase的翻译项目是单独打包的。翻译相关的所有文件都在项目根目录的locales目录中,中文对应的是zh.po。可以在这里修改中文的翻译。
- 修改完翻译后,需要重新打包翻译。打包脚本在bin/i18n目录,在项目根目录执行
./bin/i18n/build-translation-resources
- 执行完成后,对于开发的小伙伴,把开发环境运行起来就可以看见效果了。对于最终用户还需要打包成jar包,执行
./bin/build
翻译相关的其它问题:
-
后端的大部分翻译没有生效
这是由于很多后端应用的路径写的不对,默认后端的翻译只打包src,
backend, enterprise/backend, shared这几个开头的引用路径的资源。
而在po文件中很多后端的引用路径是从metabase开始的。不符合打包脚本的规则,所以在打包edn文件的时候这些资源不会被打包进去。
修复这个问题有两种方式:- 在打包脚本里将metabase加进去。后端打包脚本路径为bin/i18n/src/i18n/create_artifacts/backend.clj
- 将所有后端的引用路径都改对,改成 "src/metabase"
- 在打包脚本里将metabase加进去。后端打包脚本路径为bin/i18n/src/i18n/create_artifacts/backend.clj
-
模板和通过闪电图标快速生成的仪表盘没有翻译
这个是由于后端的打包文件没有把resouces资源加入到后端打包脚本中。我们只要在后端的打包脚本中,把resouces加上就可以了。后端打包脚本路径为bin/i18n/src/i18n/create_artifacts/backend.clj
- Metabase的翻译项目是单独打包的。翻译相关的所有文件都在项目根目录的locales目录中,中文对应的是zh.po。可以在这里修改中文的翻译。