diff options
author | Frédéric Guillot <fred@miniflux.net> | 2018-07-06 21:18:14 -0700 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2018-07-06 21:18:14 -0700 |
commit | 459bb4531f92f8663afb6f36aa9be5b789bd591f (patch) | |
tree | f14e6c06b8e5c63612d1ff36f8cab40ae8a99d20 /vendor/golang.org/x/text/cmd/gotext/extract.go | |
parent | 34a3fe426b33a63f2d8e02d4a70c88f137fa5410 (diff) |
Update vendor dependencies
Diffstat (limited to 'vendor/golang.org/x/text/cmd/gotext/extract.go')
-rw-r--r-- | vendor/golang.org/x/text/cmd/gotext/extract.go | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/vendor/golang.org/x/text/cmd/gotext/extract.go b/vendor/golang.org/x/text/cmd/gotext/extract.go index 221e776..f1f700b 100644 --- a/vendor/golang.org/x/text/cmd/gotext/extract.go +++ b/vendor/golang.org/x/text/cmd/gotext/extract.go @@ -11,6 +11,7 @@ import ( "path/filepath" "golang.org/x/text/internal" + "golang.org/x/text/language" "golang.org/x/text/message/pipeline" ) @@ -21,10 +22,12 @@ import ( // - message rewriting var ( - lang *string + srcLang *string + lang *string ) func init() { + srcLang = cmdExtract.Flag.String("srclang", "en-US", "the source-code language") lang = cmdExtract.Flag.String("lang", "en-US", "comma-separated list of languages to process") } @@ -34,15 +37,30 @@ var cmdExtract = &Command{ Short: "extracts strings to be translated from code", } -func runExtract(cmd *Command, config *pipeline.Config, args []string) error { - config.Packages = args - state, err := pipeline.Extract(config) +func runExtract(cmd *Command, args []string) error { + tag, err := language.Parse(*srcLang) if err != nil { - return wrap(err, "extract failed") + return wrap(err, "") + } + config := &pipeline.Config{ + SourceLanguage: tag, + Packages: args, + } + out, err := pipeline.Extract(config) + + data, err := json.MarshalIndent(out, "", " ") + if err != nil { + return wrap(err, "") + } + os.MkdirAll(*dir, 0755) + // TODO: this file can probably go if we replace the extract + generate + // cycle with a init once and update cycle. + file := filepath.Join(*dir, extractFile) + if err := ioutil.WriteFile(file, data, 0644); err != nil { + return wrap(err, "could not create file") } - out := state.Extracted - langs := append(getLangs(), config.SourceLanguage) + langs := append(getLangs(), tag) langs = internal.UniqueTags(langs) for _, tag := range langs { // TODO: inject translations from existing files to avoid retranslation. |