您好,我正在寻找自动解决问题的最佳方法: 我正在使用一个具有以下形式的JSON转换文件的Web应用程序:
{ "unique_key" : "value"}
我有几个文件,每种受支持的语言一个,都包含相同数量的项目。
Ex:
i18n_en.json
{ "greeting" : "Hello"}
i18n_fr.json
{ "greeting" : "Bonjour"}
我已经非常不好地管理了这些文件的演变,最终我得到了不再使用的密钥(我轻易地认为〜500个密钥中有30%),问题是我不知道哪个密钥。而且,我将不得不手动搜索应用程序的整个体系结构以找到已使用的文件并重做一个干净的文件。
我实现此过程自动化的想法是:
我真的不知道该使用哪种语言针对这种任务进行优化,谢谢您的指导!
答案 0 :(得分:2)
也许像i18next-scanner这样的东西会有用。您不是第一个遇到这种问题的人。
答案 1 :(得分:0)
我最终创建了自己的shell脚本:
path_to_project=path/to/my/project
RED='\033[0;31m'
GREEN='\033[0;32m'
rm temp.json
rm final.json
touch temp.json
touch final.json
echo "{" >> temp.json
while IFS=, read -r key value
do
if grep -r -q --include=\*.{js,html} --exclude-dir={node_modules,bower_components} $key $path_to_project; then
# write in new json
echo "\"$key\":\"$value\"," >> temp.json
echo -e "${GREEN} $key was found !"
else
echo -e "${RED} $key not found"
fi
done < data.csv
echo "}" >> temp.json
#remove new lines
cat temp.json | tr -d '\r' >> final.json
为此,我不得不将json文件转换为csv(data.csv)。 脚本执行完后,最终的json文件需要手动进行一些修改,但实际上并没有什么不妥。