aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/golang.org/x/text/cmd/gotext/extract.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2018-07-06 21:18:14 -0700
committerGravatar Frédéric Guillot <fred@miniflux.net>2018-07-06 21:18:14 -0700
commit459bb4531f92f8663afb6f36aa9be5b789bd591f (patch)
treef14e6c06b8e5c63612d1ff36f8cab40ae8a99d20 /vendor/golang.org/x/text/cmd/gotext/extract.go
parent34a3fe426b33a63f2d8e02d4a70c88f137fa5410 (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.go32
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.