{
    "language": "en-US",
    "messages": [
        {
            "id": "Hello world!",
            "message": "Hello world!",
            "translation": "Hello world!"
        },
        {
            "id": "Hello {City}!",
            "message": "Hello {City}!",
            "translation": "Hello {City}!",
            "placeholders": [
                {
                    "id": "City",
                    "string": "%[1]s",
                    "type": "string",
                    "underlyingType": "string",
                    "argNum": 1,
                    "expr": "city"
                }
            ]
        },
        {
            "id": "{Person} is visiting {Place}!",
            "message": "{Person} is visiting {Place}!",
            "translation": "{Person} is visiting {Place}!",
            "placeholders": [
                {
                    "id": "Person",
                    "string": "%[1]s",
                    "type": "string",
                    "underlyingType": "string",
                    "argNum": 1,
                    "expr": "person",
                    "comment": "The person of matter."
                },
                {
                    "id": "Place",
                    "string": "%[2]s",
                    "type": "string",
                    "underlyingType": "string",
                    "argNum": 2,
                    "expr": "place",
                    "comment": "Place the person is visiting."
                }
            ]
        },
        {
            "id": "{2} files remaining!",
            "message": "{2} files remaining!",
            "translation": "{2} files remaining!",
            "translatorComment": "Copied from source.",
            "placeholders": [
                {
                    "id": "2",
                    "string": "%[1]d",
                    "type": "int",
                    "underlyingType": "int",
                    "argNum": 1,
                    "expr": "2"
                }
            ],
            "fuzzy": true
        },
        {
            "id": "{N} more files remaining!",
            "message": "{N} more files remaining!",
            "translation": {
                "select": {
                    "feature": "plural",
                    "arg": "N",
                    "cases": {
                        "one": {
                            "msg": "One file remaining!"
                        },
                        "other": {
                            "msg": "There are {N} more files remaining!"
                        }
                    }
                }
            },
            "placeholders": [
                {
                    "id": "N",
                    "string": "%[1]d",
                    "type": "int",
                    "underlyingType": "int",
                    "argNum": 1,
                    "expr": "n"
                }
            ]
        },
        {
            "id": "Use the following code for your discount: {ReferralCode}",
            "message": "Use the following code for your discount: {ReferralCode}",
            "translation": "Use the following code for your discount: {ReferralCode}",
            "translatorComment": "Copied from source.",
            "placeholders": [
                {
                    "id": "ReferralCode",
                    "string": "%[1]d",
                    "type": "./testdata/test1.referralCode",
                    "underlyingType": "int",
                    "argNum": 1,
                    "expr": "c"
                }
            ],
            "fuzzy": true
        },
        {
            "id": [
                "msgOutOfOrder",
                "{Device} is out of order!"
            ],
            "message": "{Device} is out of order!",
            "translation": "{Device} is out of order!",
            "comment": "This comment wins.\n",
            "placeholders": [
                {
                    "id": "Device",
                    "string": "%[1]s",
                    "type": "string",
                    "underlyingType": "string",
                    "argNum": 1,
                    "expr": "device"
                }
            ]
        },
        {
            "id": "{Miles} miles traveled ({Miles_1})",
            "message": "{Miles} miles traveled ({Miles_1})",
            "translation": "{Miles} miles traveled ({Miles_1})",
            "placeholders": [
                {
                    "id": "Miles",
                    "string": "%.2[1]f",
                    "type": "float64",
                    "underlyingType": "float64",
                    "argNum": 1,
                    "expr": "miles"
                },
                {
                    "id": "Miles_1",
                    "string": "%[1]f",
                    "type": "float64",
                    "underlyingType": "float64",
                    "argNum": 1,
                    "expr": "miles"
                }
            ]
        }
    ]
}