From 38ee83e45b4de7edf89bf9f0ef629eb4c6ad0fa8 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Thu, 12 May 2016 23:56:07 -0400 Subject: Moving to glide --- .../github.com/nicksnyder/go-i18n/goi18n/goi18n.go | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 vendor/github.com/nicksnyder/go-i18n/goi18n/goi18n.go (limited to 'vendor/github.com/nicksnyder/go-i18n/goi18n/goi18n.go') diff --git a/vendor/github.com/nicksnyder/go-i18n/goi18n/goi18n.go b/vendor/github.com/nicksnyder/go-i18n/goi18n/goi18n.go new file mode 100644 index 000000000..f57ea8175 --- /dev/null +++ b/vendor/github.com/nicksnyder/go-i18n/goi18n/goi18n.go @@ -0,0 +1,82 @@ +package main + +import ( + "flag" + "fmt" + "os" +) + +func usage() { + fmt.Printf(`goi18n formats and merges translation files. + +Usage: + + goi18n [options] [files...] + +Translation files: + + A translation file contains the strings and translations for a single language. + + Translation file names must have a suffix of a supported format (e.g. .json) and + contain a valid language tag as defined by RFC 5646 (e.g. en-us, fr, zh-hant, etc.). + + For each language represented by at least one input translation file, goi18n will produce 2 output files: + + xx-yy.all.format + This file contains all strings for the language (translated and untranslated). + Use this file when loading strings at runtime. + + xx-yy.untranslated.format + This file contains the strings that have not been translated for this language. + The translations for the strings in this file will be extracted from the source language. + After they are translated, merge them back into xx-yy.all.format using goi18n. + +Merging: + + goi18n will merge multiple translation files for the same language. + Duplicate translations will be merged into the existing translation. + Non-empty fields in the duplicate translation will overwrite those fields in the existing translation. + Empty fields in the duplicate translation are ignored. + +Adding a new language: + + To produce translation files for a new language, create an empty translation file with the + appropriate name and pass it in to goi18n. + +Options: + + -sourceLanguage tag + goi18n uses the strings from this language to seed the translations for other languages. + Default: en-us + + -outdir directory + goi18n writes the output translation files to this directory. + Default: . + + -format format + goi18n encodes the output translation files in this format. + Supported formats: json, yaml + Default: json + +`) + os.Exit(1) +} + +func main() { + flag.Usage = usage + sourceLanguage := flag.String("sourceLanguage", "en-us", "") + outdir := flag.String("outdir", ".", "") + format := flag.String("format", "json", "") + flag.Parse() + + mc := &mergeCommand{ + translationFiles: flag.Args(), + sourceLanguageTag: *sourceLanguage, + outdir: *outdir, + format: *format, + } + if err := mc.execute(); err != nil { + fmt.Println(err.Error()) + os.Exit(1) + } +} -- cgit v1.2.3-1-g7c22