1
0
mirror of https://github.com/raseels-repos/golang-saas-starter-kit.git synced 2025-08-10 22:41:25 +02:00

tools/text-translator: new extractor tool & README.md

This commit is contained in:
jsign
2019-08-20 21:30:23 -03:00
parent 4ca29e4ad5
commit 62f9cff7fe
8 changed files with 785 additions and 53 deletions

View File

@@ -0,0 +1,49 @@
package main
import (
"flag"
"fmt"
"geeks-accelerator/oss/saas-starter-kit/tools/text-translator/aws"
"geeks-accelerator/oss/saas-starter-kit/tools/text-translator/internal/jsontranslator"
"os"
"path/filepath"
"strings"
)
var (
inFile = flag.String("i", "", "source file to translate")
outDir = flag.String("o", "", "output file to translate")
csvTargetLocales = flag.String("t", "", "comma separated list of target locales")
)
func main() {
flag.Parse()
flag.VisitAll(func(f *flag.Flag) {
if f.Value.String() == "" {
fmt.Printf("-%s flag is required\n", f.Name)
os.Exit(1)
}
})
t, err := aws.New()
if err != nil {
fmt.Println(err)
os.Exit(1)
}
sourceTrans, err := jsontranslator.Read(*inFile)
if err != nil {
fmt.Printf("error while reading json file: %v", err)
os.Exit(1)
}
targetLocales := strings.Split(*csvTargetLocales, ",")
targetTranslations := jsontranslator.Translate(t, sourceTrans, targetLocales)
_, name := filepath.Split(*inFile)
err = jsontranslator.Save(*outDir, name, targetTranslations)
if err != nil {
fmt.Printf("error while saving translations: %v", err)
os.Exit(1)
}
}