Go で国際化を使用するにはどうすればよいですか?
グローバリゼーションの発展に伴い、より多くのユーザーを引き付けるために複数の言語をサポートする必要があるアプリケーションがますます増えています。 Go 言語で国際化を使用するにはどうすればよいですか?この記事では、Go で国際化を実現するために標準ライブラリとサードパーティ ライブラリを使用する方法を紹介します。
1. 国際化を実現するための Go 標準ライブラリ
Go 標準ライブラリには、国際化を実現するためのメソッドがいくつか用意されています。
- fmt.Sprintf
fmt.Sprintf は、書式設定テンプレートを使用して文字列を生成でき、多言語書式文字列をサポートします。複数言語環境では、%q を使用して文字列を出力し、文字列出力の形式が正しいことを確認できます。
サンプル コード:
package main import "fmt" func main() { name := "world" msg := fmt.Sprintf("Hello, %q!", name) fmt.Println(msg) }
このコードは次のように出力します: "Hello, "world"!"
- errors.New
package main import ( "errors" "fmt" ) func main() { err := errors.New("Something went wrong") fmt.Println(err) }
- time.LoadLocation
package main import ( "fmt" "time" ) func main() { loc, err := time.LoadLocation("Asia/Shanghai") if err != nil { fmt.Println(err) return } t := time.Now().In(loc) fmt.Println(t) }
- go-i18n
package main import ( "fmt" "github.com/nicksnyder/go-i18n/i18n" "os" ) func main() { i18n.MustLoadTranslationFile("en-US.all.json") i18n.MustLoadTranslationFile("zh-CN.all.json") lang := i18n.NewLocalizer(i18n.NewBundle(language.English)) fmt.Println(lang.MustLocalize(&i18n.LocalizeConfig{MessageID: "hello-world"})) }
- gotext
package main import ( "fmt" "github.com/leonelquinteros/gotext" "golang.org/x/text/language" ) func main() { pofile := "./locales/en_US/LC_MESSAGES/messages.po" catalog, err := gotext.ParsePOFile(pofile) if err != nil { fmt.Println(err) return } lang := language.Make("en-US") translatedText, err := catalog.Get(lang, "Hello World!") if err != nil { fmt.Println(err) return } fmt.Println(translatedText) }
以上がGo で国際化を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

GO言語で構造を定義する2つの方法:VARとタイプのキーワードの違い。構造を定義するとき、GO言語はしばしば2つの異なる執筆方法を見ます:最初...

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

Go言語での文字列印刷の違い:printlnとstring()関数を使用する効果の違いはGOにあります...

Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか?ゴーランドを使用するためにGolandを使用する場合、多くの開発者はカスタム構造タグに遭遇します...

ポインター構文とviperライブラリの使用における問題への取り組みGO言語でプログラミングするとき、特にポインターの構文と使用を理解することが重要です...
