在前端项目开发中,多语言是一个非常常见的需求,而 CSV 和 JSON 是两种常用的数据格式,其中 CSV 可以方便地在 Excel 等工具中编辑,JSON 则更容易在前端代码中使用。那么如何把 CSV 数据转换成 JSON 数据呢?i18n-csv2json-cli 就是一个可以让你轻松完成这个过程的 npm 包。
安装
可以通过以下命令安装 i18n-csv2json-cli:
npm install -g i18n-csv2json-cli
使用方法
命令行参数
i18n-csv2json-cli 支持以下命令行参数:
--help
,打印帮助信息;-V, --version
,显示版本号;-i, --input
,CSV 文件的路径,必填参数;-o, --output
,JSON 文件的路径,默认为当前路径下的i18n.json
。
例子
假如有一个 i18n.csv
文件,内容如下:
key,en,zh hello,hello,你好 world,world,世界
我们可以使用以下命令将其转换为 i18n.json
文件:
i18n-csv2json-cli -i i18n.csv
转换后的 i18n.json
文件内容如下:
-- -------------------- ---- ------- - ----- - -------- -------- -------- ------- -- ----- - -------- ----- -------- ---- - -
进阶用法
i18n-csv2json-cli 提供了很多进阶用法,下面介绍其中几个常用的。
自定义输出文件名
我们可以使用 -o
参数自定义输出文件名,比如:
i18n-csv2json-cli -i i18n.csv -o i18n.zh-CN.json
这样就会生成一个 i18n.zh-CN.json
文件,其中的数据为:
{ "zh-CN": { "hello": "你好", "world": "世界" } }
自定义 CSV 的分隔符
默认情况下,i18n-csv2json-cli 会将逗号(,
)作为 CSV 的分隔符,但是我们可以使用 -s
参数指定自定义的分隔符,比如:
i18n-csv2json-cli -i i18n.tsv -s "\t"
这样就会将 i18n.tsv
文件中的 tab(\t
)作为分隔符进行转换。
增量更新
如果我们想要增加新的语言或者修改某些翻译,就需要重新转换整个 CSV 文件生成 JSON 数据,这对于大型项目来说可能很耗时。i18n-csv2json-cli 提供了增量更新的功能,可以只转换新增或修改的行。具体使用方式如下:
- 在原有的 CSV 文件中添加或修改需要更新的行;
- 使用
-u
参数指定更新类型,更新类型可以是add
(新增)或edit
(修改); - 使用
-r
参数指定更新的行数,行数可以是单个行的行号或者多个行号之间使用,
分隔,可以使用数字或者-
连接的数字区间,比如1-3
表示 1 到 3 行。
比如我们有一个原始的 CSV 文件,内容如下:
key,en,zh hello,hello,你好 world,world,世界
我们可以使用以下命令将新增的行转换为 i18n.json
文件:
i18n-csv2json-cli -i i18n.csv -o i18n.json -u add -r 3
这样转换后的 i18n.json
文件内容如下:
-- -------------------- ---- ------- - ----- - -------- -------- -------- -------- ------ ----- -- ----- - -------- ----- -------- ----- ------ --- - -
总结
i18n-csv2json-cli 是一个非常实用的 npm 包,能够帮助前端开发人员快速地将 CSV 数据转换为 JSON 数据,并提供了丰富的命令行参数和进阶用法,可以满足不同场景下的需求。希望本文能够帮助读者更好地使用 i18n-csv2json-cli 进行多语言开发。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005642c81e8991b448e1580