var ( DefaultLanguage string = getDefaultLanguage() // use $(LC_MESSAGES) or $(LANG) or "default" )
func BindLocale(g Gettexter)
BindLocale sets and queries program's domains.
Examples:
BindLocale(New("poedit", "locale")) // bind "poedit" domain
Use zip file:
BindLocale(New("poedit", "locale.zip")) // bind "poedit" domain BindLocale(New("poedit", "locale.zip", zipData)) // bind "poedit" domain
Use FileSystem:
BindLocale(New("poedit", "name", OS("path/to/dir"))) // bind "poedit" domain BindLocale(New("poedit", "name", OS("path/to.zip"))) // bind "poedit" domain
func DGetdata(domain, name string) []byte
DGetdata like Getdata(), but looking up the resource in the specified domain.
Examples:
func Foo() { msg := gettext.DGetdata("hello", "poems.txt") }
func DGettext(domain, msgid string) string
DGettext like Gettext(), but looking up the message in the specified domain.
Examples:
func Foo() { msg := gettext.DGettext("poedit", "Hello") }
func DNGettext(domain, msgid, msgidPlural string, n int) string
DNGettext like NGettext(), but looking up the message in the specified domain.
Examples:
func Foo() { msg := gettext.PNGettext("poedit", "gettext-go.example", "%d people", "%d peoples", 2) }
func DPGettext(domain, msgctxt, msgid string) string
DPGettext like PGettext(), but looking up the message in the specified domain.
Examples:
func Foo() { msg := gettext.DPGettext("poedit", "gettext-go.example", "Hello") }
func DPNGettext(domain, msgctxt, msgid, msgidPlural string, n int) string
DPNGettext like PNGettext(), but looking up the message in the specified domain.
Examples:
func Foo() { msg := gettext.DPNGettext("poedit", "gettext-go.example", "%d people", "%d peoples", 2) }
func Getdata(name string) []byte
Getdata attempt to translate a resource file into the user's native language, by looking up the translation in a message catalog.
Examples:
func Foo() { Textdomain("hello") BindLocale("hello", "locale.zip", nilOrZipData) poems := gettext.Getdata("poems.txt") }
func Gettext(msgid string) string
Gettext attempt to translate a text string into the user's native language, by looking up the translation in a message catalog.
It use the caller's function name as the msgctxt.
Examples:
func Foo() { msg := gettext.Gettext("Hello") // msgctxt is "" }
func NGettext(msgid, msgidPlural string, n int) string
NGettext attempt to translate a text string into the user's native language, by looking up the appropriate plural form of the translation in a message catalog.
It use the caller's function name as the msgctxt.
Examples:
func Foo() { msg := gettext.NGettext("%d people", "%d peoples", 2) }
func PGettext(msgctxt, msgid string) string
PGettext attempt to translate a text string into the user's native language, by looking up the translation in a message catalog.
Examples:
func Foo() { msg := gettext.PGettext("gettext-go.example", "Hello") // msgctxt is "gettext-go.example" }
func PNGettext(msgctxt, msgid, msgidPlural string, n int) string
PNGettext attempt to translate a text string into the user's native language, by looking up the appropriate plural form of the translation in a message catalog.
Examples:
func Foo() { msg := gettext.PNGettext("gettext-go.example", "%d people", "%d peoples", 2) }
func SetDomain(domain string) string
SetDomain sets and retrieves the current message domain.
If the domain is not empty string, set the new domains.
If the domain is empty string, don't change anything.
Returns is the all used domains.
Examples:
SetDomain("poedit") // set domain: poedit SetDomain("") // get domain: return poedit
func SetLanguage(lang string) string
SetLanguage sets and queries the program's current lang.
If the lang is not empty string, set the new locale.
If the lang is empty string, don't change anything.
Returns is the current locale.
Examples:
SetLanguage("") // get locale: return DefaultLocale SetLanguage("zh_CN") // set locale: return zh_CN SetLanguage("") // get locale: return zh_CN
type FileSystem interface { LocaleList() []string LoadMessagesFile(domain, lang, ext string) ([]byte, error) LoadResourceFile(domain, lang, name string) ([]byte, error) String() string }
func NewFS(name string, x interface{}) FileSystem
func NilFS(name string) FileSystem
func OS(root string) FileSystem
func ZipFS(r *zip.Reader, name string) FileSystem
type Gettexter interface { FileSystem() FileSystem GetDomain() string SetDomain(domain string) Gettexter GetLanguage() string SetLanguage(lang string) Gettexter Gettext(msgid string) string PGettext(msgctxt, msgid string) string NGettext(msgid, msgidPlural string, n int) string PNGettext(msgctxt, msgid, msgidPlural string, n int) string DGettext(domain, msgid string) string DPGettext(domain, msgctxt, msgid string) string DNGettext(domain, msgid, msgidPlural string, n int) string DPNGettext(domain, msgctxt, msgid, msgidPlural string, n int) string Getdata(name string) []byte DGetdata(domain, name string) []byte }
func New(domain, path string, data ...interface{}) Gettexter
New create Interface use default language.
Name | Synopsis |
---|---|
.. | |
cmd | |
xgettext-go | The xgettext-go program extracts translatable strings from Go packages. |
examples | This is a gettext-go exmaple. |
hi | Package hi is a example pkg. |
mo | Package mo provides support for reading and writing GNU MO file. |
plural | Package plural provides standard plural formulas. |
po | Package po provides support for reading and writing GNU PO file. |