update module to own version

This commit is contained in:
2020-07-29 18:09:14 +02:00
parent bb9b8c2585
commit 67d7b9ca60
3 changed files with 33 additions and 13 deletions

View File

@@ -21,10 +21,10 @@ multiple languages at the same time by working with this object.
Example: Example:
import ( import (
"encoding/gob" "encoding/gob"
"bytes" "bytes"
"fmt" "fmt"
"git.deineagentur.com/DeineAgenturUG/gotext" "git.deineagentur.com/DeineAgenturUG/gotext"
) )
func main() { func main() {
@@ -42,7 +42,7 @@ Example:
// Translate text from domain // Translate text from domain
fmt.Println(l.GetD("extras", "Translate this")) fmt.Println(l.GetD("extras", "Translate this"))
} }
*/ */
type Locale struct { type Locale struct {
// Path to locale files. // Path to locale files.
@@ -71,29 +71,49 @@ func NewLocale(p, l string) *Locale {
} }
} }
func (l *Locale) SetLang(lang string) {
l.lang = lang
}
func (l *Locale) SetPath(path string) {
l.path = path
}
func (l *Locale) findExt(dom, ext string) string { func (l *Locale) findExt(dom, ext string) string {
filename := filepath.Join(l.path, l.lang, "LC_MESSAGES", dom+"."+ext) filename := filepath.Join(l.path, l.lang, "LC_MESSAGES", dom+"."+ext)
if _, err := os.Stat(filename); err == nil { _, err := os.Stat(filename)
if err == nil {
return filename return filename
} else {
println(err)
} }
if len(l.lang) > 2 { if len(l.lang) > 2 {
filename = filepath.Join(l.path, l.lang[:2], "LC_MESSAGES", dom+"."+ext) filename = filepath.Join(l.path, l.lang[:2], "LC_MESSAGES", dom+"."+ext)
if _, err := os.Stat(filename); err == nil { _, err = os.Stat(filename)
if err == nil {
return filename return filename
} else {
println(err)
} }
} }
filename = filepath.Join(l.path, l.lang, dom+"."+ext) filename = filepath.Join(l.path, l.lang, dom+"."+ext)
if _, err := os.Stat(filename); err == nil { _, err = os.Stat(filename)
if err == nil {
return filename return filename
} else {
println(err)
} }
if len(l.lang) > 2 { if len(l.lang) > 2 {
filename = filepath.Join(l.path, l.lang[:2], dom+"."+ext) filename = filepath.Join(l.path, l.lang[:2], dom+"."+ext)
if _, err := os.Stat(filename); err == nil { _, err = os.Stat(filename)
if err == nil {
return filename return filename
} }
} else {
println(err)
} }
return "" return ""

4
po.go
View File

@@ -456,7 +456,7 @@ func (po *Po) GetNC(str, plural string, n int, ctx string, vars ...interface{})
return Printf(plural, vars...) return Printf(plural, vars...)
} }
// Get Eretrieves the corresponding Translation for the given string. // GetE retrieves the corresponding Translation for the given string.
// Supports optional parameters (vars... interface{}) to be inserted on the formatted string using the fmt.Printf syntax. // Supports optional parameters (vars... interface{}) to be inserted on the formatted string using the fmt.Printf syntax.
// The second return value is true iff the string was found. // The second return value is true iff the string was found.
func (po *Po) GetE(str string, vars ...interface{}) (string, bool) { func (po *Po) GetE(str string, vars ...interface{}) (string, bool) {
@@ -475,7 +475,7 @@ func (po *Po) GetE(str string, vars ...interface{}) (string, bool) {
return "", false return "", false
} }
// GetN Eretrieves the (N)th plural form of Translation for the given string. // GetNE retrieves the (N)th plural form of Translation for the given string.
// Supports optional parameters (vars... interface{}) to be inserted on the formatted string using the fmt.Printf syntax. // Supports optional parameters (vars... interface{}) to be inserted on the formatted string using the fmt.Printf syntax.
// The second return value is true iff the string was found. // The second return value is true iff the string was found.
func (po *Po) GetNE(str, plural string, n int, vars ...interface{}) (string, bool) { func (po *Po) GetNE(str, plural string, n int, vars ...interface{}) (string, bool) {

View File

@@ -51,7 +51,7 @@ func (t *Translation) GetN(n int) string {
return t.PluralID return t.PluralID
} }
// Get returns the string of the translation. The second return value is true // GetE returns the string of the translation. The second return value is true
// iff the string was found. // iff the string was found.
func (t *Translation) GetE() (string, bool) { func (t *Translation) GetE() (string, bool) {
// Look for Translation index 0 // Look for Translation index 0
@@ -64,7 +64,7 @@ func (t *Translation) GetE() (string, bool) {
return "", false return "", false
} }
// GetN returns the string of the plural translation. The second return value // GetNE returns the string of the plural translation. The second return value
// is true iff the string was found. // is true iff the string was found.
func (t *Translation) GetNE(n int) (string, bool) { func (t *Translation) GetNE(n int) (string, bool) {
// Look for Translation index // Look for Translation index