次の構造のjson翻訳ファイルがあります。
{
"STRING_ID_1": {
"en": "Some englisch text.",
"de": "Some german text."
},
"STRING_ID_2": {
"en": "Some other englisch text.",
"de": "Some other german text."
},
...
}
これを入力として使用して、「en.json」と「de.json」という2つのファイルを作成する必要があります。形式は次のようにする必要があります。
{
"STRING_ID_1": "Some englisch text.",
...
}
そして
{
"STRING_ID_1": "Some german text.",
...
}
私の考えでは、これがjq
ここで使用したいツールです。誰でも私に正しいコマンドを提供できますか?
答え1
$ cat file.json
{
"STRING_ID_1": {
"en": "Some englisch text.",
"de": "Some german text."
},
"STRING_ID_2": {
"en": "Some other englisch text.",
"de": "Some other german text."
}
}
$ jq 'with_entries(.value = .value.en)' file.json
{
"STRING_ID_1": "Some englisch text.",
"STRING_ID_2": "Some other englisch text."
}
$ jq 'with_entries(.value = .value.de)' file.json
{
"STRING_ID_1": "Some german text.",
"STRING_ID_2": "Some other german text."
}
出力を保存するには、別のファイル名にリダイレクトしてください。
この変換は、各最上位キーの値を、キーと値のペアのオブジェクトではなく、英語(またはドイツ語)文字列の値として書き換えます。