diff options
Diffstat (limited to 'vendor/github.com/nicksnyder/go-i18n/goi18n')
20 files changed, 494 insertions, 33 deletions
diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/constants_command.go b/vendor/github.com/nicksnyder/go-i18n/goi18n/constants_command.go index 85b1ac18e..d877add32 100644 --- a/vendor/github.com/nicksnyder/go-i18n/goi18n/constants_command.go +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/constants_command.go @@ -139,7 +139,6 @@ Options: Default: . `) - os.Exit(1) } // commonInitialisms is a set of common initialisms. diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command.go b/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command.go index 1d34ac438..1b9d04fd3 100644 --- a/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command.go +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command.go @@ -5,7 +5,6 @@ import ( "flag" "fmt" "io/ioutil" - "os" "path/filepath" "reflect" "sort" @@ -15,6 +14,7 @@ import ( "github.com/nicksnyder/go-i18n/i18n/bundle" "github.com/nicksnyder/go-i18n/i18n/language" "github.com/nicksnyder/go-i18n/i18n/translation" + toml "github.com/pelletier/go-toml" ) type mergeCommand struct { @@ -22,6 +22,7 @@ type mergeCommand struct { sourceLanguage string outdir string format string + flat bool } func (mc *mergeCommand) execute() error { @@ -33,15 +34,10 @@ func (mc *mergeCommand) execute() error { return fmt.Errorf("invalid source locale: %s", mc.sourceLanguage) } - marshal, err := newMarshalFunc(mc.format) - if err != nil { - return err - } - bundle := bundle.New() for _, tf := range mc.translationFiles { if err := bundle.LoadTranslationFile(tf); err != nil { - return fmt.Errorf("failed to load translation file %s because %s\n", tf, err) + return fmt.Errorf("failed to load translation file %s: %s\n", tf, err) } } @@ -64,7 +60,7 @@ func (mc *mergeCommand) execute() error { all := filter(localeTranslations, func(t translation.Translation) translation.Translation { return t.Normalize(lang) }) - if err := mc.writeFile("all", all, localeID, marshal); err != nil { + if err := mc.writeFile("all", all, localeID); err != nil { return err } @@ -74,7 +70,7 @@ func (mc *mergeCommand) execute() error { } return nil }) - if err := mc.writeFile("untranslated", untranslated, localeID, marshal); err != nil { + if err := mc.writeFile("untranslated", untranslated, localeID); err != nil { return err } } @@ -88,6 +84,7 @@ func (mc *mergeCommand) parse(arguments []string) { sourceLanguage := flags.String("sourceLanguage", "en-us", "") outdir := flags.String("outdir", ".", "") format := flags.String("format", "json", "") + flat := flags.Bool("flat", true, "") flags.Parse(arguments) @@ -95,31 +92,44 @@ func (mc *mergeCommand) parse(arguments []string) { mc.sourceLanguage = *sourceLanguage mc.outdir = *outdir mc.format = *format + if *format == "toml" { + mc.flat = true + } else { + mc.flat = *flat + } } func (mc *mergeCommand) SetArgs(args []string) { mc.translationFiles = args } -type marshalFunc func(interface{}) ([]byte, error) - -func (mc *mergeCommand) writeFile(label string, translations []translation.Translation, localeID string, marshal marshalFunc) error { +func (mc *mergeCommand) writeFile(label string, translations []translation.Translation, localeID string) error { sort.Sort(translation.SortableByID(translations)) - buf, err := marshal(marshalInterface(translations)) + + var convert func([]translation.Translation) interface{} + if mc.flat { + convert = marshalFlatInterface + } else { + convert = marshalInterface + } + + buf, err := mc.marshal(convert(translations)) if err != nil { - return fmt.Errorf("failed to marshal %s strings to %s because %s", localeID, mc.format, err) + return fmt.Errorf("failed to marshal %s strings to %s: %s", localeID, mc.format, err) } + filename := filepath.Join(mc.outdir, fmt.Sprintf("%s.%s.%s", localeID, label, mc.format)) + if err := ioutil.WriteFile(filename, buf, 0666); err != nil { - return fmt.Errorf("failed to write %s because %s", filename, err) + return fmt.Errorf("failed to write %s: %s", filename, err) } return nil } -func filter(translations map[string]translation.Translation, filter func(translation.Translation) translation.Translation) []translation.Translation { +func filter(translations map[string]translation.Translation, f func(translation.Translation) translation.Translation) []translation.Translation { filtered := make([]translation.Translation, 0, len(translations)) for _, translation := range translations { - if t := filter(translation); t != nil { + if t := f(translation); t != nil { filtered = append(filtered, t) } } @@ -127,21 +137,15 @@ func filter(translations map[string]translation.Translation, filter func(transla } -func newMarshalFunc(format string) (marshalFunc, error) { - switch format { - case "json": - return func(v interface{}) ([]byte, error) { - return json.MarshalIndent(v, "", " ") - }, nil - case "yaml": - return func(v interface{}) ([]byte, error) { - return yaml.Marshal(v) - }, nil +func marshalFlatInterface(translations []translation.Translation) interface{} { + mi := make(map[string]interface{}, len(translations)) + for _, translation := range translations { + mi[translation.ID()] = translation.MarshalFlatInterface() } - return nil, fmt.Errorf("unsupported format: %s\n", format) + return mi } -func marshalInterface(translations []translation.Translation) []interface{} { +func marshalInterface(translations []translation.Translation) interface{} { mi := make([]interface{}, len(translations)) for i, translation := range translations { mi[i] = translation.MarshalInterface() @@ -149,6 +153,31 @@ func marshalInterface(translations []translation.Translation) []interface{} { return mi } +func (mc mergeCommand) marshal(v interface{}) ([]byte, error) { + switch mc.format { + case "json": + return json.MarshalIndent(v, "", " ") + case "toml": + return marshalTOML(v) + case "yaml": + return yaml.Marshal(v) + } + return nil, fmt.Errorf("unsupported format: %s\n", mc.format) +} + +func marshalTOML(v interface{}) ([]byte, error) { + m, ok := v.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("invalid format for marshaling to TOML") + } + tree, err := toml.TreeFromMap(m) + if err != nil { + return nil, err + } + s, err := tree.ToTomlString() + return []byte(s), err +} + func usageMerge() { fmt.Printf(`Merge translation files. @@ -198,9 +227,13 @@ Options: -format format goi18n encodes the output translation files in this format. - Supported formats: json, yaml + Supported formats: json, toml, yaml Default: json + -flat + goi18n writes the output translation files in flat format. + Usage of '-format toml' automitically sets this flag. + Default: true + `) - os.Exit(1) } diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_flat_test.go b/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_flat_test.go new file mode 100644 index 000000000..caa892d29 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_flat_test.go @@ -0,0 +1,36 @@ +package main + +import "testing" + +func TestMergeExecuteFlat(t *testing.T) { + files := []string{ + "testdata/input/flat/en-us.one.yaml", + "testdata/input/flat/en-us.two.json", + "testdata/input/flat/fr-fr.json", + "testdata/input/flat/ar-ar.one.toml", + "testdata/input/flat/ar-ar.two.json", + } + testFlatMergeExecute(t, files) +} + +func testFlatMergeExecute(t *testing.T, files []string) { + resetDir(t, "testdata/output/flat") + + mc := &mergeCommand{ + translationFiles: files, + sourceLanguage: "en-us", + outdir: "testdata/output/flat", + format: "json", + flat: true, + } + if err := mc.execute(); err != nil { + t.Fatal(err) + } + + expectEqualFiles(t, "testdata/output/flat/en-us.all.json", "testdata/expected/flat/en-us.all.json") + expectEqualFiles(t, "testdata/output/flat/ar-ar.all.json", "testdata/expected/flat/ar-ar.all.json") + expectEqualFiles(t, "testdata/output/flat/fr-fr.all.json", "testdata/expected/flat/fr-fr.all.json") + expectEqualFiles(t, "testdata/output/flat/en-us.untranslated.json", "testdata/expected/flat/en-us.untranslated.json") + expectEqualFiles(t, "testdata/output/flat/ar-ar.untranslated.json", "testdata/expected/flat/ar-ar.untranslated.json") + expectEqualFiles(t, "testdata/output/flat/fr-fr.untranslated.json", "testdata/expected/flat/fr-fr.untranslated.json") +} diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_test.go b/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_test.go index 37e46518b..425a6b62d 100644 --- a/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_test.go +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/merge_command_test.go @@ -37,6 +37,7 @@ func testMergeExecute(t *testing.T, files []string) { sourceLanguage: "en-us", outdir: "testdata/output", format: "json", + flat: false, } if err := mc.execute(); err != nil { t.Fatal(err) @@ -69,6 +70,6 @@ func expectEqualFiles(t *testing.T, expectedName, actualName string) { t.Fatal(err) } if !bytes.Equal(actual, expected) { - t.Fatalf("contents of files did not match: %s, %s", expectedName, actualName) + t.Errorf("contents of files did not match: %s, %s", expectedName, actualName) } } diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/en-us.flat.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/en-us.flat.json new file mode 100644 index 000000000..f67d21cac --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/en-us.flat.json @@ -0,0 +1,34 @@ +{ + "program_greeting": { + "other": "Hello world" + }, + + "person_greeting": { + "other": "Hello {{.Person}}" + }, + + "my_height_in_meters": { + "one": "I am {{.Count}} meter tall.", + "other": "I am {{.Count}} meters tall." + }, + + "your_unread_email_count": { + "one": "You have {{.Count}} unread email.", + "other": "You have {{.Count}} unread emails." + }, + + "person_unread_email_count": { + "one": "{{.Person}} has {{.Count}} unread email.", + "other": "{{.Person}} has {{.Count}} unread emails." + }, + + "person_unread_email_count_timeframe": { + "one": "{{.Person}} has {{.Count}} unread email in the past {{.Timeframe}}.", + "other": "{{.Person}} has {{.Count}} unread emails in the past {{.Timeframe}}." + }, + + "d_days": { + "one": "{{.Count}} day.", + "other": "{{.Count}} days." + } +} diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/en-us.flat.toml b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/en-us.flat.toml new file mode 100644 index 000000000..5623a6c2e --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/en-us.flat.toml @@ -0,0 +1,25 @@ +[program_greeting] +other = "Hello world" + +[person_greeting] +other = "Hello {{.Person}}" + +[my_height_in_meters] +one = "I am {{.Count}} meter tall." +other = "I am {{.Count}} meters tall." + +[your_unread_email_count] +one = "You have {{.Count}} unread email." +other = "You have {{.Count}} unread emails." + +[person_unread_email_count] +one = "{{.Person}} has {{.Count}} unread email." +other = "{{.Person}} has {{.Count}} unread emails." + +[person_unread_email_count_timeframe] +one = "{{.Person}} has {{.Count}} unread email in the past {{.Timeframe}}." +other = "{{.Person}} has {{.Count}} unread emails in the past {{.Timeframe}}." + +[d_days] +one = "{{.Count}} day" +other = "{{.Count}} days" diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/en-us.flat.yaml b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/en-us.flat.yaml new file mode 100644 index 000000000..316ac6b20 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/en-us.flat.yaml @@ -0,0 +1,25 @@ +program_greeting: + other: "Hello world" + +person_greeting: + other: "Hello {{.Person}}" + +my_height_in_meters: + one: "I am {{.Count}} meter tall." + other: "I am {{.Count}} meters tall." + +your_unread_email_count: + one: "You have {{.Count}} unread email." + other: "You have {{.Count}} unread emails." + +person_unread_email_count: + one: "{{.Person}} has {{.Count}} unread email." + other: "{{.Person}} has {{.Count}} unread emails." + +person_unread_email_count_timeframe: + one: "{{.Person}} has {{.Count}} unread email in the past {{.Timeframe}}." + other: "{{.Person}} has {{.Count}} unread emails in the past {{.Timeframe}}." + +d_days: + one: "{{.Count}} day" + other: "{{.Count}} days" diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/ar-ar.all.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/ar-ar.all.json new file mode 100644 index 000000000..1adb99ca9 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/ar-ar.all.json @@ -0,0 +1,43 @@ +{ + "d_days": { + "few": "new arabic few translation of d_days", + "many": "arabic many translation of d_days", + "one": "arabic one translation of d_days", + "other": "", + "two": "", + "zero": "" + }, + "my_height_in_meters": { + "few": "", + "many": "", + "one": "", + "other": "", + "two": "", + "zero": "" + }, + "person_greeting": { + "other": "new arabic translation of person_greeting" + }, + "person_unread_email_count": { + "few": "arabic few translation of person_unread_email_count", + "many": "arabic many translation of person_unread_email_count", + "one": "arabic one translation of person_unread_email_count", + "other": "arabic other translation of person_unread_email_count", + "two": "arabic two translation of person_unread_email_count", + "zero": "arabic zero translation of person_unread_email_count" + }, + "person_unread_email_count_timeframe": { + "other": "" + }, + "program_greeting": { + "other": "" + }, + "your_unread_email_count": { + "few": "", + "many": "", + "one": "", + "other": "", + "two": "", + "zero": "" + } +}
\ No newline at end of file diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/ar-ar.untranslated.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/ar-ar.untranslated.json new file mode 100644 index 000000000..ea7aa7d19 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/ar-ar.untranslated.json @@ -0,0 +1,32 @@ +{ + "d_days": { + "few": "new arabic few translation of d_days", + "many": "arabic many translation of d_days", + "one": "arabic one translation of d_days", + "other": "{{.Count}} days", + "two": "{{.Count}} days", + "zero": "{{.Count}} days" + }, + "my_height_in_meters": { + "few": "I am {{.Count}} meters tall.", + "many": "I am {{.Count}} meters tall.", + "one": "I am {{.Count}} meters tall.", + "other": "I am {{.Count}} meters tall.", + "two": "I am {{.Count}} meters tall.", + "zero": "I am {{.Count}} meters tall." + }, + "person_unread_email_count_timeframe": { + "other": "{{.Person}} has {{.Count}} unread emails in the past {{.Timeframe}}." + }, + "program_greeting": { + "other": "Hello world" + }, + "your_unread_email_count": { + "few": "You have {{.Count}} unread emails.", + "many": "You have {{.Count}} unread emails.", + "one": "You have {{.Count}} unread emails.", + "other": "You have {{.Count}} unread emails.", + "two": "You have {{.Count}} unread emails.", + "zero": "You have {{.Count}} unread emails." + } +}
\ No newline at end of file diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/en-us.all.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/en-us.all.json new file mode 100644 index 000000000..766b2a77c --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/en-us.all.json @@ -0,0 +1,27 @@ +{ + "d_days": { + "one": "{{.Count}} day", + "other": "{{.Count}} days" + }, + "my_height_in_meters": { + "one": "I am {{.Count}} meter tall.", + "other": "I am {{.Count}} meters tall." + }, + "person_greeting": { + "other": "Hello {{.Person}}" + }, + "person_unread_email_count": { + "one": "{{.Person}} has {{.Count}} unread email.", + "other": "{{.Person}} has {{.Count}} unread emails." + }, + "person_unread_email_count_timeframe": { + "other": "{{.Person}} has {{.Count}} unread emails in the past {{.Timeframe}}." + }, + "program_greeting": { + "other": "Hello world" + }, + "your_unread_email_count": { + "one": "You have {{.Count}} unread email.", + "other": "You have {{.Count}} unread emails." + } +}
\ No newline at end of file diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/en-us.untranslated.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/en-us.untranslated.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/en-us.untranslated.json @@ -0,0 +1 @@ +{}
\ No newline at end of file diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/en-us.untranslated.json.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/en-us.untranslated.json.json new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/en-us.untranslated.json.json diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/fr-fr.all.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/fr-fr.all.json new file mode 100644 index 000000000..b0ee0311f --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/fr-fr.all.json @@ -0,0 +1,27 @@ +{ + "d_days": { + "one": "", + "other": "" + }, + "my_height_in_meters": { + "one": "", + "other": "" + }, + "person_greeting": { + "other": "" + }, + "person_unread_email_count": { + "one": "", + "other": "" + }, + "person_unread_email_count_timeframe": { + "other": "" + }, + "program_greeting": { + "other": "" + }, + "your_unread_email_count": { + "one": "", + "other": "" + } +}
\ No newline at end of file diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/fr-fr.untranslated.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/fr-fr.untranslated.json new file mode 100644 index 000000000..e6d5c4fb6 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/expected/flat/fr-fr.untranslated.json @@ -0,0 +1,27 @@ +{ + "d_days": { + "one": "{{.Count}} days", + "other": "{{.Count}} days" + }, + "my_height_in_meters": { + "one": "I am {{.Count}} meters tall.", + "other": "I am {{.Count}} meters tall." + }, + "person_greeting": { + "other": "Hello {{.Person}}" + }, + "person_unread_email_count": { + "one": "{{.Person}} has {{.Count}} unread emails.", + "other": "{{.Person}} has {{.Count}} unread emails." + }, + "person_unread_email_count_timeframe": { + "other": "{{.Person}} has {{.Count}} unread emails in the past {{.Timeframe}}." + }, + "program_greeting": { + "other": "Hello world" + }, + "your_unread_email_count": { + "one": "You have {{.Count}} unread emails.", + "other": "You have {{.Count}} unread emails." + } +}
\ No newline at end of file diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/ar-ar.one.toml b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/ar-ar.one.toml new file mode 100644 index 000000000..364a62cfe --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/ar-ar.one.toml @@ -0,0 +1,37 @@ +[d_days] +few = "arabic few translation of d_days" +many = "arabic many translation of d_days" +one = "" +other = "" +two = "" +zero = "" + +[person_greeting] +other = "arabic translation of person_greeting" + +[person_unread_email_count] +few = "arabic few translation of person_unread_email_count" +many = "arabic many translation of person_unread_email_count" +one = "arabic one translation of person_unread_email_count" +other = "" +two = "" +zero = "" + +[person_unread_email_count_timeframe] +few = "" +many = "" +one = "" +other = "" +two = "" +zero = "" + +[program_greeting] +other = "" + +[your_unread_email_count] +few = "" +many = "" +one = "" +other = "" +two = "" +zero = "" diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/ar-ar.two.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/ar-ar.two.json new file mode 100644 index 000000000..5e6fba41b --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/ar-ar.two.json @@ -0,0 +1,45 @@ +{ + "d_days": { + "few": "new arabic few translation of d_days", + "many": "", + "one": "arabic one translation of d_days", + "other": "", + "two": "", + "zero": "" + }, + + "person_greeting": { + "other": "new arabic translation of person_greeting" + }, + + "person_unread_email_count": { + "few": "", + "many": "", + "one": "", + "other": "arabic other translation of person_unread_email_count", + "two": "arabic two translation of person_unread_email_count", + "zero": "arabic zero translation of person_unread_email_count" + }, + + "person_unread_email_count_timeframe": { + "few": "", + "many": "", + "one": "", + "other": "", + "two": "", + "zero": "" + }, + + "program_greeting": { + "other": "" + }, + + "your_unread_email_count": { + "few": "", + "many": "", + "one": "", + "other": "", + "two": "", + "zero": "" + } +} diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/en-us.constants.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/en-us.constants.json new file mode 100644 index 000000000..c41b2b97f --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/en-us.constants.json @@ -0,0 +1,34 @@ +{ + "d_days": { + "one": "{{.Count}} day", + "other": "{{.Count}} days" + }, + + "my_height_in_meters": { + "one": "I am {{.Count}} meter tall.", + "other": "I am {{.Count}} meters tall." + }, + + "person_greeting": { + "other": "Hello {{.Person}}" + }, + + "person_unread_email_count": { + "one": "{{.Person}} has {{.Count}} unread email.", + "other": "{{.Person}} has {{.Count}} unread emails." + }, + + "person_unread_email_count_timeframe": { + "one": "{{.Person}} has {{.Count}} unread email in the past {{.Timeframe}}.", + "other": "{{.Person}} has {{.Count}} unread emails in the past {{.Timeframe}}." + }, + + "program_greeting": { + "other": "Hello world" + }, + + "your_unread_email_count": { + "one": "You have {{.Count}} unread email.", + "other": "You have {{.Count}} unread emails." + } +} diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/en-us.one.yaml b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/en-us.one.yaml new file mode 100644 index 000000000..02ae0011b --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/en-us.one.yaml @@ -0,0 +1,16 @@ +program_greeting: + other: "Hello world" + +your_unread_email_count: + one: "You have {{.Count}} unread email." + other: "You have {{.Count}} unread emails." + +my_height_in_meters: + one: "I am {{.Count}} meter tall." + other: "I am {{.Count}} meters tall." + +person_unread_email_count_timeframe: + other: "{{.Person}} has {{.Count}} unread email in the past {{.Timeframe}}." + +d_days: + other: "this should get overwritten" diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/en-us.two.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/en-us.two.json new file mode 100644 index 000000000..06bd28dcd --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/en-us.two.json @@ -0,0 +1,19 @@ +{ + "person_greeting": { + "other": "Hello {{.Person}}" + }, + + "person_unread_email_count": { + "one": "{{.Person}} has {{.Count}} unread email.", + "other": "{{.Person}} has {{.Count}} unread emails." + }, + + "person_unread_email_count_timeframe": { + "other": "{{.Person}} has {{.Count}} unread emails in the past {{.Timeframe}}." + }, + + "d_days": { + "one": "{{.Count}} day", + "other": "{{.Count}} days" + } +} diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/fr-fr.json b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/fr-fr.json new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/testdata/input/flat/fr-fr.json |