repositorypackage
0.0.0-20230822003812-2969b27e32d7
Repository: https://github.com/mixarchitecture/i18np.git
Documentation: pkg.go.dev
# README
this repository has been moved into cillop.
I18n Plus
I18n Plus allows you to translate your entire application.
Dependencies
Installation
go get github.com/mixarchitecture/i18np
Usage
package main
import (
"fmt"
"github.com/mixarchitecture/i18np"
)
func main() {
i18n := i18np.New("en") // generate a new i18n instance with fallback locale "en"
i18n.Load("./locales", "en", "tr") // load locales from "./locales" directory for "en" and "tr" locales
i18n.Translate("my_key") // translate "my_key" with "en" locale
i18n.Translate("my_key", "tr") // translate "my_key" with "tr" locale
i18n.Translate("my_key", "tr", "en") // translate "my_key" with "tr" locale, fallback to "en" locale
i18n.TranslateWithParams("my_param_key", i18np.P{"Name": "John"}) // translate "my_param_key" with "en" locale and "Name" parameter
err := i18n.NewError("myKey") // generate translateable error
translatedErr := i18n.TranslateFromError(err) // translate error with "en" locale
}
Bad Usage
package example
func Example() error {
return errors.New("blabla")
}
Good Usage
package example
import (
"github.com/mixarchitecture/i18np"
)
func Example() *i18np.Error {
return i18np.NewError("my_errorKey")
}
func Example2() *i18np.Error {
return i18np.NewError("my_errorKey", i18np.P{"Name": "John"})
}
Documentation
Documentation is available at pkg.go.dev.
Contributing
Contributions are always welcome!