1{
2    "language": "zh",
3    "messages": [
4        {
5            "id": "Hello world!",
6            "key": "Hello world!\n",
7            "message": "Hello world!",
8            "translation": "",
9            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:27:10"
10        },
11        {
12            "id": "Hello {City}!",
13            "key": "Hello %s!\n",
14            "message": "Hello {City}!",
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:31:10"
27        },
28        {
29            "id": "Hello {Town}!",
30            "key": "Hello %s!\n",
31            "message": "Hello {Town}!",
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:35:10"
45        },
46        {
47            "id": "{Person} is visiting {Place}!",
48            "key": "%s is visiting %s!\n",
49            "message": "{Person} is visiting {Place}!",
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:40:10"
72        },
73        {
74            "id": "{Person} is visiting {Place}!",
75            "key": "%[1]s is visiting %[3]s!\n",
76            "message": "{Person} is visiting {Place}!",
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:55: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:62: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:67: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:73:10"
158        },
159        {
160            "id": [ "{Device} is out of order!", "msgOutOfOrder" ],
161            "key": "%s is out of order!",
162            "message": "{Device} is out of order!",
163            "translation": "",
164            "comment": "FOO\n",
165            "placeholders": [
166                {
167                    "id": "Device",
168                    "string": "%[1]s",
169                    "type": "string",
170                    "underlyingType": "string",
171                    "argNum": 1,
172                    "expr": "device"
173                }
174            ],
175            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:81:10"
176        },
177        {
178            "id": "{Miles} miles traveled ({Miles_1})",
179            "key": "%.2[1]f miles traveled (%[1]f)",
180            "message": "{Miles} miles traveled ({Miles_1})",
181            "translation": "",
182            "placeholders": [
183                {
184                    "id": "Miles",
185                    "string": "%.2[1]f",
186                    "type": "float64",
187                    "underlyingType": "float64",
188                    "argNum": 1,
189                    "expr": "miles"
190                },
191                {
192                    "id": "Miles_1",
193                    "string": "%[1]f",
194                    "type": "float64",
195                    "underlyingType": "float64",
196                    "argNum": 1,
197                    "expr": "miles"
198                }
199            ],
200            "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:85:10"
201        }
202    ]
203}