예제 #1
0
func init() {
	// bind app domain
	gettext.BindTextdomain("hello", "local", nil)
	gettext.Textdomain("hello")

	// $(LC_MESSAGES) or $(LANG) or empty
	fmt.Println(gettext.Gettext("Gettext in init."))
	fmt.Println(gettext.PGettext("main.init", "Gettext in init."))
	hi.SayHi()
	// Output(depends on local environment):
	// ?
	// ?
	// ?
	// ?

	// set simple chinese
	gettext.SetLocale("zh_CN")

	// simple chinese
	fmt.Println(gettext.Gettext("Gettext in init."))
	fmt.Println(gettext.PGettext("main.init", "Gettext in init."))
	hi.SayHi()
	// Output:
	// Init函数中的Gettext.
	// Init函数中的Gettext.
	// 来自"Hi"包的问候: 你好, 世界!
	// 来自"Hi"包的问候: 你好, 世界!
}
예제 #2
0
// T translates a string, possibly substituting arguments into it along
// the way. If len(args) is > 0, args1 is assumed to be the plural value
// and plural translation is used.
func T(defaultValue string, args ...int) string {
	if len(args) == 0 {
		return gettext.PGettext(defaultValue, defaultValue)
	}
	return fmt.Sprintf(gettext.PNGettext(defaultValue, defaultValue, defaultValue+".plural", args[0]),
		args[0])
}
예제 #3
0
func main() {
	// simple chinese
	fmt.Println(gettext.Gettext("Hello, world!"))
	fmt.Println(gettext.PGettext("main.main", "Hello, world!"))
	hi.SayHi()
	// Output:
	// 你好, 世界!
	// 你好, 世界!
	// 来自"Hi"包的问候: 你好, 世界!
	// 来自"Hi"包的问候: 你好, 世界!

	// set traditional chinese
	gettext.SetLocale("zh_TW")

	// traditional chinese
	func() {
		fmt.Println(gettext.Gettext("Gettext in func."))
		fmt.Println(gettext.PGettext("main.func", "Gettext in func."))
		hi.SayHi()
		// Output:
		// 閉包函數中的Gettext.
		// 閉包函數中的Gettext.
		// 來自"Hi"包的問候: 你好, 世界!
		// 來自"Hi"包的問候: 你好, 世界!
	}()

	fmt.Println()

	// translate resource
	gettext.SetLocale("zh_CN")
	fmt.Println("poems(simple chinese):")
	fmt.Println(string(gettext.Getdata("poems.txt")))
	gettext.SetLocale("zh_TW")
	fmt.Println("poems(traditional chinese):")
	fmt.Println(string(gettext.Getdata("poems.txt")))
	gettext.SetLocale("??")
	fmt.Println("poems(default is english):")
	fmt.Println(string(gettext.Getdata("poems.txt")))
	// Output: ...
}
예제 #4
0
func translate(input string) string {
	return gettext.PGettext("", input)
}
예제 #5
0
파일: hi.go 프로젝트: chrisolsen/gettext-go
func SayHi() {
	fmt.Println(gettext.Gettext("pkg hi: Hello, world!"))
	fmt.Println(gettext.PGettext("code.google.com/p/gettext-go/examples/hi.SayHi", "pkg hi: Hello, world!"))
}