func SetDomain(domain string) string {
	defaultGettexter.SetDomain(domain)
	return defaultGettexter.GetDomain()
}
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
package gettext
var (
	DefaultLanguage string = getDefaultLanguage()  
)
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 {
	return newLocale(domain, path, data...)
}
var defaultGettexter struct {
	lang   string
	domain string
	Gettexter
}
func init() {
	defaultGettexter.lang = getDefaultLanguage()
	defaultGettexter.domain = "default"
	defaultGettexter.Gettexter = newLocale("", "")
}
func BindLocale(g Gettexter) {
	if g != nil {
		defaultGettexter.Gettexter = g
		defaultGettexter.SetLanguage(defaultGettexter.lang)
	} else {
		defaultGettexter.Gettexter = newLocale("", "")
		defaultGettexter.SetLanguage(defaultGettexter.lang)
	}
}
func SetLanguage(lang string) string {
	defaultGettexter.SetLanguage(lang)
	return defaultGettexter.GetLanguage()
}