🌍 國際化和本地化:在Gin應用中實現多語言支援
當我們的 Web 應用越來越多地受到國際用戶的歡迎時,提供多語言支援就變得至關重要。在這篇文章中,我們將介紹如何在 Gin 中實現國際化和本地化,讓你的應用能夠輕鬆支援各種語言。
國際化(通常稱為 i18n
,代表"i"、18個字符和"n")是將應用程序設計為可以適應不同語言和區域而不需要進行工程更改的過程。本地化(稱為 l10n
)是將應用程序或文檔適應特定語言和文化的過程。
go-i18n
。// en-US.json
{
"hello": "Hello"
}
// zh-TW.json
{
"hello": "你好"
}
router := gin.Default()
localizer := i18n.NewLocalizer(bundle, "en-US") // 預設語言為英文
router.GET("/hello", func(c *gin.Context) {
lang := c.DefaultQuery("lang", "en-US") // 從查詢參數中獲取語言設置
greeting := localizer.MustLocalize(&i18n.LocalizeConfig{
DefaultMessage: &i18n.Message{
ID: "hello",
},
PluralCount: 1,
TemplateData: map[string]interface{}{},
Lang: lang,
})
c.String(http.StatusOK, greeting)
})
提供多語言支援不僅可以擴展你的用戶基礎,還可以增加你的應用在全球市場的吸引力。希望這篇文章可以幫助你在 Gin 中輕鬆實現國際化和本地化,為你的國際用戶提供更好的體驗!
謝謝大家看完這篇,如果您喜歡我的文章,歡迎 小額贊助我 ^^