我做了一个编辑国际化i18n json文件的命令行工具

79 阅读1分钟

基本用法

i18nedt locales/*.json -k home.start

运行这个命令会打开编辑器让你编辑一个临时文件,退出编辑器时你的内容就会写到对应的json文件里 ,-k 参数可以有多个

为了更加方便可以通过环境变量I18NEDT_FILES设置json文件。这样后面就可以直接

i18nedt -k home.start

建议搭配direnv这样的工具使用

demo.gif

可以让AI帮你填写缺失的翻译

在ai工具里@一下生成的临时文件

ai-ready.png

配合fzf

命令行的好处就是可以把不同的工具组合起来

fzf github.com/junegunn/fz… 是一个通用的fuzzy finder

i18nedt -f | fzf \
     --bind 'enter:become:i18nedt -k {1}' \
     --bind 'ctrl-o:execute:i18nedt -k {1}' \
     --bind 'ctrl-x:become:i18nedt -k {q}' \
     --delimiter = --preview 'i18nedt -pa -k {1}' \
     --preview-window '<80(up):wrap' --bind '?:toggle-preview'

这样你可以fuzzy搜索项目里所有翻译的key和文本,选中某一条后回车编辑,ctrl-x 以搜索内容为key进行编辑(一般是新建key时使用)。 demo.gif

github

github.com/kikyous/i18…