summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornytpu <alex@nytpu.com>2021-05-11 11:16:26 -0600
committernytpu <alex@nytpu.com>2021-05-11 11:22:17 -0600
commitcc5c8b2f23854c7c787d553242818d4aaea0da71 (patch)
tree462f0a8c4d9c0155e96727125e724b200410a41d
parent244746dff7eabd89720688b835cfe803372d91ef (diff)
add getLang() to parse language
-rw-r--r--comitium.go21
-rw-r--r--go.mod2
-rw-r--r--go.sum8
3 files changed, 24 insertions, 7 deletions
diff --git a/comitium.go b/comitium.go
index 41cd616..681b6fb 100644
--- a/comitium.go
+++ b/comitium.go
@@ -13,11 +13,17 @@ import (
"path/filepath"
"github.com/mitchellh/go-homedir"
+ "golang.nytpu.com/comitium/localizations"
+ "golang.org/x/text/language"
"golang.nytpu.com/comitium/core"
"golang.nytpu.com/comitium/fetch"
)
+var supportedLangs = []language.Tag{
+ language.AmericanEnglish, // en-US (fallback)
+}
+
func main() {
argCheck(os.Args, 2, true, "Please provide a command.")
@@ -41,6 +47,9 @@ func main() {
c.AddFlagSet(globalFs)
c.Parse(os.Args[2:])
+ // figure out what language to use
+ localizer := getLang()
+
// dataPath is the location where all the data (list of subs, cached hashes,
// etcetera) are stored
dataPath := getDataPath()
@@ -152,6 +161,18 @@ func getDataPath() string {
return verifyPath("comitium")
}
+// getLang will return the localizer for the user's lang
+func getLang() *localizations.Localizer {
+ matcher := language.NewMatcher(supportedLangs)
+ var lang language.Tag
+ if *langFlag != "" {
+ lang, _ = language.MatchStrings(matcher, *langFlag)
+ } else if env := os.Getenv("LANG"); env != "" {
+ lang, _ = language.MatchStrings(matcher, env)
+ }
+ return localizations.New(lang.String(), supportedLangs[0].String())
+}
+
func usage() {
fmt.Fprintf(os.Stderr, "Usage:\n")
fmt.Fprintf(os.Stderr, " %v <command> [FLAGS] [ARGUMENTS]\n\n", os.Args[0])
diff --git a/go.mod b/go.mod
index c633ee7..425e41b 100644
--- a/go.mod
+++ b/go.mod
@@ -4,9 +4,9 @@ go 1.13
require (
git.sr.ht/~adnano/go-gemini v0.1.17
- github.com/m1/go-localize v0.0.0-20210411165534-07d5b914f3cd
github.com/mitchellh/go-homedir v1.1.0
github.com/mmcdole/gofeed v1.1.0
github.com/prologic/go-gopher v0.0.0-20210114215941-1859ade2470b
github.com/spf13/pflag v1.0.5
+ golang.org/x/text v0.3.6
)
diff --git a/go.sum b/go.sum
index de608b1..3960060 100644
--- a/go.sum
+++ b/go.sum
@@ -1,6 +1,5 @@
git.sr.ht/~adnano/go-gemini v0.1.17 h1:CJ3tDaqAJQbOdVXmiPC/iXHt4lF/CRu2nxPNOPjHUBk=
git.sr.ht/~adnano/go-gemini v0.1.17/go.mod h1:hQ75Y0i5jSFL+FQ7AzWVAYr5LQsaFC7v3ZviNyj46dY=
-github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/PuerkitoBio/goquery v1.5.1 h1:PSPBGne8NIUWw+/7vFBV+kG2J/5MOjbzc7154OaKCSE=
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
@@ -13,8 +12,6 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
-github.com/m1/go-localize v0.0.0-20210411165534-07d5b914f3cd h1:y6swOilsqshR8eD/JPntnJAin2bJ/VxQQjDclhjXjmc=
-github.com/m1/go-localize v0.0.0-20210411165534-07d5b914f3cd/go.mod h1:eH5LIPfi8y08l9hAmci8sa+jZduTW0iMZM5FW62+RaE=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mmcdole/gofeed v1.1.0 h1:T2WrGLVJRV04PY2qwhEJLHCt9JiCtBhb6SmC8ZvJH08=
@@ -50,13 +47,12 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo=
-gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=