1{
2    "language": "en-US",
3    "messages": [
4        {
5            "id": "Hello world!\n",
6            "key": "Hello world!\n",
7            "message": "Hello world!\n",
8            "translation": "",
9            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:28:10"
10        },
11        {
12            "id": "Hello {City}!\n",
13            "key": "Hello %s!\n",
14            "message": "Hello {City}!\n",
15            "translation": "",
16            "placeholders": [
17                {
18                    "id": "City",
19                    "string": "%[1]s",
20                    "type": "string",
21                    "underlyingType": "string",
22                    "argNum": 1,
23                    "expr": "city"
24                }
25            ],
26            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:32:10"
27        },
28        {
29            "id": "Hello {Town}!\n",
30            "key": "Hello %s!\n",
31            "message": "Hello {Town}!\n",
32            "translation": "",
33            "placeholders": [
34                {
35                    "id": "Town",
36                    "string": "%[1]s",
37                    "type": "string",
38                    "underlyingType": "string",
39                    "argNum": 1,
40                    "expr": "town",
41                    "comment": "Town"
42                }
43            ],
44            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:36:10"
45        },
46        {
47            "id": "{Person} is visiting {Place}!\n",
48            "key": "%s is visiting %s!\n",
49            "message": "{Person} is visiting {Place}!\n",
50            "translation": "",
51            "placeholders": [
52                {
53                    "id": "Person",
54                    "string": "%[1]s",
55                    "type": "string",
56                    "underlyingType": "string",
57                    "argNum": 1,
58                    "expr": "person",
59                    "comment": "The person of matter."
60                },
61                {
62                    "id": "Place",
63                    "string": "%[2]s",
64                    "type": "string",
65                    "underlyingType": "string",
66                    "argNum": 2,
67                    "expr": "place",
68                    "comment": "Place the person is visiting."
69                }
70            ],
71            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:41:10"
72        },
73        {
74            "id": "{Person} is visiting {Place}!\n",
75            "key": "%[1]s is visiting %[3]s!\n",
76            "message": "{Person} is visiting {Place}!\n",
77            "translation": "",
78            "comment": "Person visiting a place.",
79            "placeholders": [
80                {
81                    "id": "Person",
82                    "string": "%[1]s",
83                    "type": "string",
84                    "underlyingType": "string",
85                    "argNum": 1,
86                    "expr": "pp.Person"
87                },
88                {
89                    "id": "Place",
90                    "string": "%[3]s",
91                    "type": "string",
92                    "underlyingType": "string",
93                    "argNum": 3,
94                    "expr": "pp.Place",
95                    "comment": "Place the person is visiting."
96                },
97                {
98                    "id": "Extra",
99                    "string": "%[2]v",
100                    "type": "int",
101                    "underlyingType": "int",
102                    "argNum": 2,
103                    "expr": "pp.extra"
104                }
105            ],
106            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:56:10"
107        },
108        {
109            "id": "{} files remaining!",
110            "key": "%d files remaining!",
111            "message": "{} files remaining!",
112            "translation": "",
113            "placeholders": [
114                {
115                    "id": "",
116                    "string": "%[1]d",
117                    "type": "int",
118                    "underlyingType": "int",
119                    "argNum": 1,
120                    "expr": "2"
121                }
122            ],
123            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:63:10"
124        },
125        {
126            "id": "{N} more files remaining!",
127            "key": "%d more files remaining!",
128            "message": "{N} more files remaining!",
129            "translation": "",
130            "placeholders": [
131                {
132                    "id": "N",
133                    "string": "%[1]d",
134                    "type": "int",
135                    "underlyingType": "int",
136                    "argNum": 1,
137                    "expr": "n"
138                }
139            ],
140            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:68:10"
141        },
142        {
143            "id": "Use the following code for your discount: {ReferralCode}\n",
144            "key": "Use the following code for your discount: %d\n",
145            "message": "Use the following code for your discount: {ReferralCode}\n",
146            "translation": "",
147            "placeholders": [
148                {
149                    "id": "ReferralCode",
150                    "string": "%[1]d",
151                    "type": "golang.org/x/text/cmd/gotext/examples/extract.referralCode",
152                    "underlyingType": "int",
153                    "argNum": 1,
154                    "expr": "c"
155                }
156            ],
157            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:74:10"
158        },
159        {
160            "id": [
161                "msgOutOfOrder",
162                "{Device} is out of order!"
163            ],
164            "key": "%s is out of order!",
165            "message": "{Device} is out of order!",
166            "translation": "",
167            "comment": "FOO\n",
168            "placeholders": [
169                {
170                    "id": "Device",
171                    "string": "%[1]s",
172                    "type": "string",
173                    "underlyingType": "string",
174                    "argNum": 1,
175                    "expr": "device"
176                }
177            ],
178            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:82:10"
179        },
180        {
181            "id": "{Miles} miles traveled ({Miles_1})",
182            "key": "%.2[1]f miles traveled (%[1]f)",
183            "message": "{Miles} miles traveled ({Miles_1})",
184            "translation": "",
185            "placeholders": [
186                {
187                    "id": "Miles",
188                    "string": "%.2[1]f",
189                    "type": "float64",
190                    "underlyingType": "float64",
191                    "argNum": 1,
192                    "expr": "miles"
193                },
194                {
195                    "id": "Miles_1",
196                    "string": "%[1]f",
197                    "type": "float64",
198                    "underlyingType": "float64",
199                    "argNum": 1,
200                    "expr": "miles"
201                }
202            ],
203            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:86:10"
204        }
205    ]
206}