如何翻译 JSON 数据

Web アプリケーションの中には、JSON 形式のデータを使用して通信が行われるケースがあります。

デフォルトでは、JSON オブジェクトはアプリケーションを壊す可能性があるため、翻訳しませんが、JSON キーを定義することで、Transeed Web を使用して翻訳することができます。

※ JSON データに編集を加えていただく必要があります。

事例

元の JSON 例:

{
    "name":"test",
    "description":"test description",
    "id":500,
    "months": ["January","February","March"],
    "content":"<i>Hello world</i>",
    "user": {
        "login":"test",
        "bio":"test user"
    }
}

どの情報を翻訳するのか、「gt_translate_keys」を使用し、翻訳対象のキーを設定します。

下面的例子:

{
    "name":"test",
    "description":"test description",
    "id":500,
    "months": ["January","February","March"],
    "content":"<i>Hello world</i>",
    "gt_translate_keys": ["name", "description", {"key": "months", "format": "list"}, {"key": "content", "format": "html"}],
    "user": {
        "login":"test",
        "bio":"test user",
        "gt_translate_keys": [{"key": "bio", "format": "text"}]
    }
}

* 以上加粗部分为新增内容。
※「gt_translate_keys」は、配列(array)の形式で記述します。

キーの指定方法

キーの指定方法は以下の2種類あります。

  1. "name", "description"」の部分のように、カンマ(,)区切りでキーを表記する方法
  2. {"key": "months", "format": "list"}」のように、キー内のデータのフォーマットを指定する方法

データのフォーマット

※ データフォーマットの種類はすべてで以下の3つ

  • list:複数アイテムの配列(array)(上記例では「months」に該当)
  • html:通常のHTML
  • text:文字データ(何も指定しなければ、デフォルトで text として判断されます)

「gt_translate_keys」記述文法:

"gt_translate_keys": ["key1", "key2", {"key": "key3", "format": "format-type"}]

上記の例を Transeed を通してロシア語に翻訳すると、

以下のようになります:

{
    "name":"тест",
    "description":"тестовое описание",
    "id":500,
    "months": ["Январь","Февраль","Март"],
    "content":"<i>Привет мир</i>",
    "user": {
        "login":"test",
        "bio":"тестовый пользователь"
    }
}