diff options
author | Frédéric Guillot <fred@miniflux.net> | 2018-09-21 18:53:29 -0700 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2018-09-21 22:23:23 -0700 |
commit | beb7a0cfcb6a5a76d680707a4c458eee51d87c07 (patch) | |
tree | f6e23ffbffcdd58f8438e2d2711acb4fa86bb83b /locale/translator.go | |
parent | f244df62936eea307a5fc3f27fb9968527d402ac (diff) |
Use unique translation IDs instead of English text as key
Diffstat (limited to 'locale/translator.go')
-rw-r--r-- | locale/translator.go | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/locale/translator.go b/locale/translator.go index dff8b2c..0c38c56 100644 --- a/locale/translator.go +++ b/locale/translator.go @@ -4,28 +4,15 @@ package locale // import "miniflux.app/locale" -import ( - "encoding/json" - "fmt" - "strings" -) - // Translator manage supported locales. type Translator struct { - locales Locales + locales catalog } // AddLanguage loads a new language into the system. -func (t *Translator) AddLanguage(language, translations string) error { - var decodedTranslations Translation - - decoder := json.NewDecoder(strings.NewReader(translations)) - if err := decoder.Decode(&decodedTranslations); err != nil { - return fmt.Errorf("Invalid JSON file: %v", err) - } - - t.locales[language] = decodedTranslations - return nil +func (t *Translator) AddLanguage(language, data string) (err error) { + t.locales[language], err = parseCatalogMessages(data) + return err } // GetLanguage returns the given language handler. @@ -40,5 +27,5 @@ func (t *Translator) GetLanguage(language string) *Language { // NewTranslator creates a new Translator. func NewTranslator() *Translator { - return &Translator{locales: make(Locales)} + return &Translator{locales: make(catalog)} } |