summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x/text/cmd/gotext/examples
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/cmd/gotext/examples')
-rw-r--r--vendor/golang.org/x/text/cmd/gotext/examples/extract/catalog.go84
-rwxr-xr-xvendor/golang.org/x/text/cmd/gotext/examples/extract/locales/de/messages.gotext.json186
-rwxr-xr-xvendor/golang.org/x/text/cmd/gotext/examples/extract/locales/de/out.gotext.json137
-rwxr-xr-xvendor/golang.org/x/text/cmd/gotext/examples/extract/locales/en-US/messages.gotext.json82
-rwxr-xr-xvendor/golang.org/x/text/cmd/gotext/examples/extract/locales/en-US/out.gotext.json154
-rwxr-xr-xvendor/golang.org/x/text/cmd/gotext/examples/extract/locales/zh/messages.gotext.json203
-rwxr-xr-xvendor/golang.org/x/text/cmd/gotext/examples/extract/locales/zh/out.gotext.json137
-rw-r--r--vendor/golang.org/x/text/cmd/gotext/examples/extract/main.go86
-rw-r--r--vendor/golang.org/x/text/cmd/gotext/examples/extract_http/catalog_gen.go57
-rwxr-xr-xvendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/de/out.gotext.json39
-rwxr-xr-xvendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/en-US/out.gotext.json39
-rw-r--r--vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/en/out.gotext.json39
-rwxr-xr-xvendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/zh/out.gotext.json35
-rw-r--r--vendor/golang.org/x/text/cmd/gotext/examples/extract_http/main.go17
-rw-r--r--vendor/golang.org/x/text/cmd/gotext/examples/extract_http/pkg/pkg.go25
-rw-r--r--vendor/golang.org/x/text/cmd/gotext/examples/rewrite/main.go37
-rw-r--r--vendor/golang.org/x/text/cmd/gotext/examples/rewrite/printer.go16
17 files changed, 1373 insertions, 0 deletions
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract/catalog.go b/vendor/golang.org/x/text/cmd/gotext/examples/extract/catalog.go
new file mode 100644
index 000000000..bc6130a69
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract/catalog.go
@@ -0,0 +1,84 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+package main
+
+import (
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+ "golang.org/x/text/message/catalog"
+)
+
+type dictionary struct {
+ index []uint32
+ data string
+}
+
+func (d *dictionary) Lookup(key string) (data string, ok bool) {
+ p := messageKeyToIndex[key]
+ start, end := d.index[p], d.index[p+1]
+ if start == end {
+ return "", false
+ }
+ return d.data[start:end], true
+}
+
+func init() {
+ dict := map[string]catalog.Dictionary{
+ "de": &dictionary{index: deIndex, data: deData},
+ "en_US": &dictionary{index: en_USIndex, data: en_USData},
+ "zh": &dictionary{index: zhIndex, data: zhData},
+ }
+ fallback := language.MustParse("en-US")
+ cat, err := catalog.NewFromMap(dict, catalog.Fallback(fallback))
+ if err != nil {
+ panic(err)
+ }
+ message.DefaultCatalog = cat
+}
+
+var messageKeyToIndex = map[string]int{
+ "%.2[1]f miles traveled (%[1]f)": 8,
+ "%[1]s is visiting %[3]s!\n": 3,
+ "%d files remaining!": 5,
+ "%d more files remaining!": 4,
+ "%s is out of order!": 7,
+ "%s is visiting %s!\n": 2,
+ "Hello %s!\n": 1,
+ "Hello world!\n": 0,
+ "Use the following code for your discount: %d\n": 6,
+}
+
+var deIndex = []uint32{ // 10 elements
+ 0x00000000, 0x00000011, 0x00000023, 0x0000003d,
+ 0x00000057, 0x00000076, 0x00000076, 0x00000076,
+ 0x00000076, 0x00000076,
+} // Size: 64 bytes
+
+const deData string = "" + // Size: 118 bytes
+ "\x04\x00\x01\x0a\x0c\x02Hallo Welt!\x04\x00\x01\x0a\x0d\x02Hallo %[1]s!" +
+ "\x04\x00\x01\x0a\x15\x02%[1]s besucht %[2]s!\x04\x00\x01\x0a\x15\x02%[1]" +
+ "s besucht %[3]s!\x02Noch %[1]d Bestände zu gehen!"
+
+var en_USIndex = []uint32{ // 10 elements
+ 0x00000000, 0x00000012, 0x00000024, 0x00000042,
+ 0x00000060, 0x000000a3, 0x000000ba, 0x000000ef,
+ 0x00000106, 0x00000125,
+} // Size: 64 bytes
+
+const en_USData string = "" + // Size: 293 bytes
+ "\x04\x00\x01\x0a\x0d\x02Hello world!\x04\x00\x01\x0a\x0d\x02Hello %[1]sn" +
+ "\x04\x00\x01\x0a\x19\x02%[1]s is visiting %[2]s!\x04\x00\x01\x0a\x19\x02" +
+ "%[1]s is visiting %[3]s!\x14\x01\x81\x01\x00\x02\x14\x02One file remaini" +
+ "ng!\x00&\x02There are %[1]d more files remaining!\x02%[1]d files remaini" +
+ "ng!\x04\x00\x01\x0a0\x02Use the following code for your discount: %[1]d" +
+ "\x02%[1]s is out of order!\x02%.2[1]f miles traveled (%[1]f)"
+
+var zhIndex = []uint32{ // 10 elements
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000,
+} // Size: 64 bytes
+
+const zhData string = ""
+
+// Total table size 603 bytes (0KiB); checksum: 1D2754EE
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/de/messages.gotext.json b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/de/messages.gotext.json
new file mode 100755
index 000000000..5e1d3b396
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/de/messages.gotext.json
@@ -0,0 +1,186 @@
+{
+ "language": "de",
+ "messages": [
+ {
+ "id": "Hello world!",
+ "key": "Hello world!\n",
+ "message": "Hello world!",
+ "translation": "Hallo Welt!",
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:27:10"
+ },
+ {
+ "id": "Hello {City}!",
+ "key": "Hello %s!\n",
+ "message": "Hello {City}!",
+ "translation": "Hallo {City}!",
+ "placeholders": [
+ {
+ "id": "City",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "city"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:31:10"
+ },
+ {
+ "id": "Hello {Town}!",
+ "key": "Hello %s!\n",
+ "message": "Hello {Town}!",
+ "translation": "Hallo {Town}!",
+ "placeholders": [
+ {
+ "id": "Town",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "town",
+ "comment": "Town"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:35:10"
+ },
+ {
+ "id": "{Person} is visiting {Place}!",
+ "key": "%s is visiting %s!\n",
+ "message": "{Person} is visiting {Place}!",
+ "translation": "{Person} besucht {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."
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:40:10"
+ },
+ {
+ "id": "{Person} is visiting {Place}!",
+ "key": "%[1]s is visiting %[3]s!\n",
+ "message": "{Person} is visiting {Place}!",
+ "translation": "{Person} besucht {Place}!",
+ "comment": "Person visiting a place.",
+ "placeholders": [
+ {
+ "id": "Person",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "pp.Person"
+ },
+ {
+ "id": "Place",
+ "string": "%[3]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 3,
+ "expr": "pp.Place",
+ "comment": "Place the person is visiting."
+ },
+ {
+ "id": "Extra",
+ "string": "%[2]v",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 2,
+ "expr": "pp.extra"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:55:10"
+ },
+ {
+ "id": "{N} more files remaining!",
+ "key": "%d more files remaining!",
+ "message": "{N} more files remaining!",
+ "translation": "Noch {N} Bestände zu gehen!",
+ "placeholders": [
+ {
+ "id": "N",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "n"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:67:10"
+ },
+ {
+ "id": "Use the following code for your discount: {ReferralCode}",
+ "key": "Use the following code for your discount: %d\n",
+ "message": "Use the following code for your discount: {ReferralCode}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "ReferralCode",
+ "string": "%[1]d",
+ "type": "golang.org/x/text/cmd/gotext/examples/extract.referralCode",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "c"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:73:10"
+ },
+ {
+ "id": [ "msgOutOfOrder", "{Device} is out of order!" ],
+ "key": "%s is out of order!",
+ "message": "{Device} is out of order!",
+ "translation": "",
+ "comment": "FOO\n",
+ "placeholders": [
+ {
+ "id": "Device",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "device"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:81:10"
+ },
+ {
+ "id": "{Miles} miles traveled ({Miles_1})",
+ "key": "%.2[1]f miles traveled (%[1]f)",
+ "message": "{Miles} miles traveled ({Miles_1})",
+ "translation": "",
+ "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"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:85:10"
+ }
+ ]
+}
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/de/out.gotext.json b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/de/out.gotext.json
new file mode 100755
index 000000000..696eeb70e
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/de/out.gotext.json
@@ -0,0 +1,137 @@
+{
+ "language": "de",
+ "messages": [
+ {
+ "id": "Hello world!",
+ "message": "Hello world!",
+ "translation": "Hallo Welt!"
+ },
+ {
+ "id": "Hello {City}!",
+ "message": "Hello {City}!",
+ "translation": "Hallo {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} besucht {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": "",
+ "placeholders": [
+ {
+ "id": "2",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "2"
+ }
+ ]
+ },
+ {
+ "id": "{N} more files remaining!",
+ "message": "{N} more files remaining!",
+ "translation": "Noch {N} Bestände zu gehen!",
+ "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": "",
+ "placeholders": [
+ {
+ "id": "ReferralCode",
+ "string": "%[1]d",
+ "type": "golang.org/x/text/cmd/gotext/examples/extract.referralCode",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "c"
+ }
+ ]
+ },
+ {
+ "id": [
+ "msgOutOfOrder",
+ "{Device} is out of order!"
+ ],
+ "message": "{Device} is out of order!",
+ "translation": "",
+ "comment": "FOO\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": "",
+ "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"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/en-US/messages.gotext.json b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/en-US/messages.gotext.json
new file mode 100755
index 000000000..5f6f8b03c
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/en-US/messages.gotext.json
@@ -0,0 +1,82 @@
+{
+ "language": "en-US",
+ "messages": [
+ {
+ "id": "Hello world!",
+ "key": "Hello world!\n",
+ "message": "Hello world!",
+ "translation": "Hello world!",
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:27:10"
+ },
+ {
+ "id": "Hello {City}!",
+ "key": "Hello %s!\n",
+ "message": "Hello {City}!",
+ "translation": "Hello {City}n"
+ },
+ {
+ "id": "Hello {Town}!",
+ "key": "Hello %s!\n",
+ "message": "Hello {Town}!",
+ "translation": "Hello {Town}!",
+ "placeholders": [
+ {
+ "id": "Town",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "town",
+ "comment": "Town"
+ }
+ ]
+ },
+ {
+ "id": "{Person} is visiting {Place}!",
+ "key": "%s is visiting %s!\n",
+ "message": "{Person} is visiting {Place}!",
+ "translation": "{Person} is visiting {Place}!\n"
+ },
+ {
+ "id": "{Person} is visiting {Place}!",
+ "key": "%[1]s is visiting %[3]s!\n",
+ "message": "{Person} is visiting {Place}!",
+ "translation": "{Person} is visiting {Place}!",
+ "comment": "Person visiting a place."
+ },
+ {
+ "id": "{N} more files remaining!",
+ "key": "%d more files remaining!",
+ "message": "{N} more files remaining!",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "N",
+ "cases": {
+ "one": "One file remaining!",
+ "other": "There are {N} more files remaining!"
+ }
+ }
+ }
+ },
+ {
+ "id": "Use the following code for your discount: {ReferralCode}",
+ "key": "Use the following code for your discount: %d\n",
+ "message": "Use the following code for your discount: {ReferralCode}",
+ "translation": ""
+ },
+ {
+ "id": [ "msgOutOfOrder", "{Device} is out of order!" ],
+ "key": "%s is out of order!",
+ "message": "{Device} is out of order!",
+ "translation": "{Device} is out of order!",
+ "comment": "FOO\n"
+ },
+ {
+ "id": "{Miles} miles traveled ({Miles_1})",
+ "key": "%.2[1]f miles traveled (%[1]f)",
+ "message": "{Miles} miles traveled ({Miles_1})",
+ "translation": "{Miles} miles traveled ({Miles_1})"
+ }
+ ]
+}
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/en-US/out.gotext.json b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/en-US/out.gotext.json
new file mode 100755
index 000000000..31785bf80
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/en-US/out.gotext.json
@@ -0,0 +1,154 @@
+{
+ "language": "en-US",
+ "messages": [
+ {
+ "id": "Hello world!",
+ "message": "Hello world!",
+ "translation": "Hello world!"
+ },
+ {
+ "id": "Hello {City}!",
+ "message": "Hello {City}!",
+ "translation": "Hello {City}n",
+ "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": "golang.org/x/text/cmd/gotext/examples/extract.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": "FOO\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"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/zh/messages.gotext.json b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/zh/messages.gotext.json
new file mode 100755
index 000000000..9913f832b
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/zh/messages.gotext.json
@@ -0,0 +1,203 @@
+{
+ "language": "zh",
+ "messages": [
+ {
+ "id": "Hello world!",
+ "key": "Hello world!\n",
+ "message": "Hello world!",
+ "translation": "",
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:27:10"
+ },
+ {
+ "id": "Hello {City}!",
+ "key": "Hello %s!\n",
+ "message": "Hello {City}!",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "City",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "city"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:31:10"
+ },
+ {
+ "id": "Hello {Town}!",
+ "key": "Hello %s!\n",
+ "message": "Hello {Town}!",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "Town",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "town",
+ "comment": "Town"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:35:10"
+ },
+ {
+ "id": "{Person} is visiting {Place}!",
+ "key": "%s is visiting %s!\n",
+ "message": "{Person} is visiting {Place}!",
+ "translation": "",
+ "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."
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:40:10"
+ },
+ {
+ "id": "{Person} is visiting {Place}!",
+ "key": "%[1]s is visiting %[3]s!\n",
+ "message": "{Person} is visiting {Place}!",
+ "translation": "",
+ "comment": "Person visiting a place.",
+ "placeholders": [
+ {
+ "id": "Person",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "pp.Person"
+ },
+ {
+ "id": "Place",
+ "string": "%[3]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 3,
+ "expr": "pp.Place",
+ "comment": "Place the person is visiting."
+ },
+ {
+ "id": "Extra",
+ "string": "%[2]v",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 2,
+ "expr": "pp.extra"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:55:10"
+ },
+ {
+ "id": "{} files remaining!",
+ "key": "%d files remaining!",
+ "message": "{} files remaining!",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "2"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:62:10"
+ },
+ {
+ "id": "{N} more files remaining!",
+ "key": "%d more files remaining!",
+ "message": "{N} more files remaining!",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "N",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "n"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:67:10"
+ },
+ {
+ "id": "Use the following code for your discount: {ReferralCode}\n",
+ "key": "Use the following code for your discount: %d\n",
+ "message": "Use the following code for your discount: {ReferralCode}\n",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "ReferralCode",
+ "string": "%[1]d",
+ "type": "golang.org/x/text/cmd/gotext/examples/extract.referralCode",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "c"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:73:10"
+ },
+ {
+ "id": [ "{Device} is out of order!", "msgOutOfOrder" ],
+ "key": "%s is out of order!",
+ "message": "{Device} is out of order!",
+ "translation": "",
+ "comment": "FOO\n",
+ "placeholders": [
+ {
+ "id": "Device",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "device"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:81:10"
+ },
+ {
+ "id": "{Miles} miles traveled ({Miles_1})",
+ "key": "%.2[1]f miles traveled (%[1]f)",
+ "message": "{Miles} miles traveled ({Miles_1})",
+ "translation": "",
+ "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"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract/main.go:85:10"
+ }
+ ]
+} \ No newline at end of file
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/zh/out.gotext.json b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/zh/out.gotext.json
new file mode 100755
index 000000000..946573ec6
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract/locales/zh/out.gotext.json
@@ -0,0 +1,137 @@
+{
+ "language": "zh",
+ "messages": [
+ {
+ "id": "Hello world!",
+ "message": "Hello world!",
+ "translation": ""
+ },
+ {
+ "id": "Hello {City}!",
+ "message": "Hello {City}!",
+ "translation": "",
+ "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": "",
+ "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": "",
+ "placeholders": [
+ {
+ "id": "2",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "2"
+ }
+ ]
+ },
+ {
+ "id": "{N} more files remaining!",
+ "message": "{N} more files remaining!",
+ "translation": "",
+ "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": "",
+ "placeholders": [
+ {
+ "id": "ReferralCode",
+ "string": "%[1]d",
+ "type": "golang.org/x/text/cmd/gotext/examples/extract.referralCode",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "c"
+ }
+ ]
+ },
+ {
+ "id": [
+ "msgOutOfOrder",
+ "{Device} is out of order!"
+ ],
+ "message": "{Device} is out of order!",
+ "translation": "",
+ "comment": "FOO\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": "",
+ "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"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract/main.go b/vendor/golang.org/x/text/cmd/gotext/examples/extract/main.go
new file mode 100644
index 000000000..414b4531a
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract/main.go
@@ -0,0 +1,86 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+//go:generate gotext update -out catalog.go
+
+import (
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+)
+
+func main() {
+ p := message.NewPrinter(language.English)
+
+ p.Print("Hello world!\n")
+
+ p.Println("Hello", "world!")
+
+ person := "Sheila"
+ place := "Zürich"
+
+ p.Print("Hello ", person, " in ", place, "!\n")
+
+ // Greet everyone.
+ p.Printf("Hello world!\n")
+
+ city := "Amsterdam"
+ // Greet a city.
+ p.Printf("Hello %s!\n", city)
+
+ town := "Amsterdam"
+ // Greet a town.
+ p.Printf("Hello %s!\n",
+ town, // Town
+ )
+
+ // Person visiting a place.
+ p.Printf("%s is visiting %s!\n",
+ person, // The person of matter.
+ place, // Place the person is visiting.
+ )
+
+ pp := struct {
+ Person string // The person of matter. // TODO: get this comment.
+ Place string
+ extra int
+ }{
+ person, place, 4,
+ }
+
+ // extract will drop this comment in favor of the one below.
+ // argument is added as a placeholder.
+ p.Printf("%[1]s is visiting %[3]s!\n", // Person visiting a place.
+ pp.Person,
+ pp.extra,
+ pp.Place, // Place the person is visiting.
+ )
+
+ // Numeric literal
+ p.Printf("%d files remaining!", 2)
+
+ const n = 2
+
+ // Numeric var
+ p.Printf("%d more files remaining!", n)
+
+ // Infer better names from type names.
+ type referralCode int
+
+ const c = referralCode(5)
+ p.Printf("Use the following code for your discount: %d\n", c)
+
+ // Using a constant for a message will cause the constant name to be
+ // added as an identifier, allowing for stable message identifiers.
+
+ // Explain that a device is out of order.
+ const msgOutOfOrder = "%s is out of order!" // FOO
+ const device = "Soda machine"
+ p.Printf(msgOutOfOrder, device)
+
+ // Double arguments.
+ miles := 1.2345
+ p.Printf("%.2[1]f miles traveled (%[1]f)", miles)
+}
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/catalog_gen.go b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/catalog_gen.go
new file mode 100644
index 000000000..2c410dcdb
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/catalog_gen.go
@@ -0,0 +1,57 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+package main
+
+import (
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+ "golang.org/x/text/message/catalog"
+)
+
+type dictionary struct {
+ index []uint32
+ data string
+}
+
+func (d *dictionary) Lookup(key string) (data string, ok bool) {
+ p := messageKeyToIndex[key]
+ start, end := d.index[p], d.index[p+1]
+ if start == end {
+ return "", false
+ }
+ return d.data[start:end], true
+}
+
+func init() {
+ dict := map[string]catalog.Dictionary{
+ "en": &dictionary{index: enIndex, data: enData},
+ "zh": &dictionary{index: zhIndex, data: zhData},
+ }
+ fallback := language.MustParse("en")
+ cat, err := catalog.NewFromMap(dict, catalog.Fallback(fallback))
+ if err != nil {
+ panic(err)
+ }
+ message.DefaultCatalog = cat
+}
+
+var messageKeyToIndex = map[string]int{
+ "Do you like your browser (%s)?\n": 1,
+ "Hello %s!\n": 0,
+}
+
+var enIndex = []uint32{ // 3 elements
+ 0x00000000, 0x00000012, 0x00000039,
+} // Size: 36 bytes
+
+const enData string = "" + // Size: 57 bytes
+ "\x04\x00\x01\x0a\x0d\x02Hello %[1]s!\x04\x00\x01\x0a\x22\x02Do you like " +
+ "your browser (%[1]s)?"
+
+var zhIndex = []uint32{ // 3 elements
+ 0x00000000, 0x00000000, 0x00000000,
+} // Size: 36 bytes
+
+const zhData string = ""
+
+// Total table size 129 bytes (0KiB); checksum: 9C146C82
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/de/out.gotext.json b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/de/out.gotext.json
new file mode 100755
index 000000000..d8437c01f
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/de/out.gotext.json
@@ -0,0 +1,39 @@
+{
+ "language": "de",
+ "messages": [
+ {
+ "id": "Hello {From}!",
+ "key": "Hello %s!\n",
+ "message": "Hello {From}!",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "From",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "r.Header.Get(\"From\")"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract_http/pkg/pkg.go:22:11"
+ },
+ {
+ "id": "Do you like your browser ({User_Agent})?",
+ "key": "Do you like your browser (%s)?\n",
+ "message": "Do you like your browser ({User_Agent})?",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "User_Agent",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "r.Header.Get(\"User-Agent\")"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract_http/pkg/pkg.go:24:11"
+ }
+ ]
+} \ No newline at end of file
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/en-US/out.gotext.json b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/en-US/out.gotext.json
new file mode 100755
index 000000000..de59eca1d
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/en-US/out.gotext.json
@@ -0,0 +1,39 @@
+{
+ "language": "en-US",
+ "messages": [
+ {
+ "id": "Hello {From}!",
+ "key": "Hello %s!\n",
+ "message": "Hello {From}!",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "From",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "r.Header.Get(\"From\")"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract_http/pkg/pkg.go:22:11"
+ },
+ {
+ "id": "Do you like your browser ({User_Agent})?",
+ "key": "Do you like your browser (%s)?\n",
+ "message": "Do you like your browser ({User_Agent})?",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "User_Agent",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "r.Header.Get(\"User-Agent\")"
+ }
+ ],
+ "position": "golang.org/x/text/cmd/gotext/examples/extract_http/pkg/pkg.go:24:11"
+ }
+ ]
+} \ No newline at end of file
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/en/out.gotext.json b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/en/out.gotext.json
new file mode 100644
index 000000000..1391e5848
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/en/out.gotext.json
@@ -0,0 +1,39 @@
+{
+ "language": "en",
+ "messages": [
+ {
+ "id": "Hello {From}!",
+ "message": "Hello {From}!",
+ "translation": "Hello {From}!",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "From",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "r.Header.Get(\"From\")"
+ }
+ ],
+ "fuzzy": true
+ },
+ {
+ "id": "Do you like your browser ({User_Agent})?",
+ "message": "Do you like your browser ({User_Agent})?",
+ "translation": "Do you like your browser ({User_Agent})?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "User_Agent",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "r.Header.Get(\"User-Agent\")"
+ }
+ ],
+ "fuzzy": true
+ }
+ ]
+} \ No newline at end of file
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/zh/out.gotext.json b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/zh/out.gotext.json
new file mode 100755
index 000000000..7b26974d5
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/locales/zh/out.gotext.json
@@ -0,0 +1,35 @@
+{
+ "language": "zh",
+ "messages": [
+ {
+ "id": "Hello {From}!",
+ "message": "Hello {From}!",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "From",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "r.Header.Get(\"From\")"
+ }
+ ]
+ },
+ {
+ "id": "Do you like your browser ({User_Agent})?",
+ "message": "Do you like your browser ({User_Agent})?",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "User_Agent",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "r.Header.Get(\"User-Agent\")"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/main.go b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/main.go
new file mode 100644
index 000000000..b5eb3b334
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/main.go
@@ -0,0 +1,17 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+//go:generate gotext -srclang=en update -out=catalog_gen.go -lang=en,zh
+
+import (
+ "net/http"
+
+ "golang.org/x/text/cmd/gotext/examples/extract_http/pkg"
+)
+
+func main() {
+ http.Handle("/generize", http.HandlerFunc(pkg.Generize))
+}
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/pkg/pkg.go b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/pkg/pkg.go
new file mode 100644
index 000000000..7b4463488
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/extract_http/pkg/pkg.go
@@ -0,0 +1,25 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package pkg
+
+import (
+ "net/http"
+
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+)
+
+var matcher = language.NewMatcher(message.DefaultCatalog.Languages())
+
+func Generize(w http.ResponseWriter, r *http.Request) {
+ lang, _ := r.Cookie("lang")
+ accept := r.Header.Get("Accept-Language")
+ tag := message.MatchLanguage(lang.String(), accept)
+ p := message.NewPrinter(tag)
+
+ p.Fprintf(w, "Hello %s!\n", r.Header.Get("From"))
+
+ p.Fprintf(w, "Do you like your browser (%s)?\n", r.Header.Get("User-Agent"))
+}
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/rewrite/main.go b/vendor/golang.org/x/text/cmd/gotext/examples/rewrite/main.go
new file mode 100644
index 000000000..2fada451e
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/rewrite/main.go
@@ -0,0 +1,37 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+import (
+ "fmt"
+
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+)
+
+func main() {
+ var nPizzas = 4
+ // The following call gets replaced by a call to the globally
+ // defined printer.
+ fmt.Println("We ate", nPizzas, "pizzas.")
+
+ p := message.NewPrinter(language.English)
+
+ // Prevent build failure, although it is okay for gotext.
+ p.Println(1024)
+
+ // Replaced by a call to p.
+ fmt.Println("Example punctuation:", "$%^&!")
+
+ {
+ q := message.NewPrinter(language.French)
+
+ const leaveAnIdentBe = "Don't expand me."
+ fmt.Print(leaveAnIdentBe)
+ q.Println() // Prevent build failure, although it is okay for gotext.
+ }
+
+ fmt.Printf("Hello %s\n", "City")
+}
diff --git a/vendor/golang.org/x/text/cmd/gotext/examples/rewrite/printer.go b/vendor/golang.org/x/text/cmd/gotext/examples/rewrite/printer.go
new file mode 100644
index 000000000..9ed055620
--- /dev/null
+++ b/vendor/golang.org/x/text/cmd/gotext/examples/rewrite/printer.go
@@ -0,0 +1,16 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build ignore
+
+package main
+
+import (
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+)
+
+// The printer defined here will be picked up by the first print statement
+// in main.go.
+var printer = message.NewPrinter(language.English)