From 8b7b3cbf0e6179047e15487d513366ec47007d7e Mon Sep 17 00:00:00 2001 From: Qiming Teng Date: Fri, 6 Oct 2023 01:38:10 +0800 Subject: [PATCH] Tune the Chinese version of README (#303) --- .github/README.zh-Hans.md | 53 +++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/.github/README.zh-Hans.md b/.github/README.zh-Hans.md index c80966a6..ba37a579 100644 --- a/.github/README.zh-Hans.md +++ b/.github/README.zh-Hans.md @@ -1,11 +1,12 @@ # go-i18n ![Build status](https://github.com/nicksnyder/go-i18n/workflows/Build/badge.svg) [![Report card](https://goreportcard.com/badge/github.com/nicksnyder/go-i18n)](https://goreportcard.com/report/github.com/nicksnyder/go-i18n) [![codecov](https://codecov.io/gh/nicksnyder/go-i18n/branch/master/graph/badge.svg)](https://codecov.io/gh/nicksnyder/go-i18n) [![Sourcegraph](https://sourcegraph.com/github.com/nicksnyder/go-i18n/-/badge.svg)](https://sourcegraph.com/github.com/nicksnyder/go-i18n?badge) -go-i18n 是一个帮助您将 Go 程序翻译成多种语言的 Go [包](#package-i18n) 和 [命令](#command-goi18n)。 +go-i18n 是一个帮助您将 Go 程序翻译成多种语言的 Go [包](#package-i18n)和[命令](#command-goi18n)。 -- 支持 [Unicode Common Locale Data Repository (CLDR)](https://www.unicode.org/cldr/charts/28/supplemental/language_plural_rules.html) 中所有 200 多种语言的 [复数字符](http://cldr.unicode.org/index/cldr-spec/plural-rules)。 - - 代码和测试是从 [CLDR 数据](http://cldr.unicode.org/index/downloads) 中 [自动生成](https://github.com/nicksnyder/go-i18n/tree/main/v2/internal/plural/codegen) 的。 +- 支持 [Unicode Common Locale Data Repository (CLDR)](https://www.unicode.org/cldr/charts/28/supplemental/language_plural_rules.html) + 中所有 200 多种语言的[复数字符串](http://cldr.unicode.org/index/cldr-spec/plural-rules)。 + - 代码和测试是基于 [CLDR 数据](http://cldr.unicode.org/index/downloads)[自动生成](https://github.com/nicksnyder/go-i18n/tree/main/v2/internal/plural/codegen)的。 - 使用 [text/template](http://golang.org/pkg/text/template/) 语法支持带有命名变量的字符串。 -- 支持任何格式的消息文件(例如:JSON、TOML、YAML)。 +- 支持所有格式的消息文件(例如:JSON、TOML、YAML)。 @@ -15,11 +16,11 @@ go-i18n 是一个帮助您将 Go 程序翻译成多种语言的 Go [包](#packag -## Package i18n +## i18n 包 [![GoDoc](https://godoc.org/github.com/nicksnyder/go-i18n?status.svg)](https://godoc.org/github.com/nicksnyder/go-i18n/v2/i18n) -i18n 包支持根据一组语言环境首选项查找消息。 +i18n 包支持根据一组语言环境首选项来查找消息。 ```go import "github.com/nicksnyder/go-i18n/v2/i18n" @@ -31,7 +32,7 @@ import "github.com/nicksnyder/go-i18n/v2/i18n" bundle := i18n.NewBundle(language.English) ``` -在初始化期间将翻译加载到您的 bundle 中。 +在初始化时,将翻译加载到你的 Bundle 中。 ```go bundle.RegisterUnmarshalFunc("toml", toml.Unmarshal) @@ -47,7 +48,7 @@ bundle.RegisterUnmarshalFunc("toml", toml.Unmarshal) bundle.LoadMessageFileFS(LocaleFS, "locale.es.toml") ``` -创建一个 Localizer 以用于一组语言首选项。 +创建一个 Localizer 以便用于一组首选语言。 ```go func(w http.ResponseWriter, r *http.Request) { @@ -57,7 +58,7 @@ func(w http.ResponseWriter, r *http.Request) { } ``` -使用 Localizer 查找消息。 +使用此 Localizer 查找消息。 ```go localizer.Localize(&i18n.LocalizeConfig{ @@ -71,14 +72,14 @@ localizer.Localize(&i18n.LocalizeConfig{ "Count": 2, }, PluralCount: 2, -}) // Nick has 2 cats. +}) // Nick 有两只猫 ``` ## goi18n 命令 [![GoDoc](https://godoc.org/github.com/nicksnyder/go-i18n?status.svg)](https://godoc.org/github.com/nicksnyder/go-i18n/v2/goi18n) -goi18n 命令管理 i18n 包使用的消息文件。 +goi18n 命令管理 i18n 包所使用的消息文件。 ``` go install -v github.com/nicksnyder/go-i18n/v2/goi18n@latest @@ -87,7 +88,7 @@ goi18n -help ### 提取消息 -使用 `goi18n extract` 将 Go 源文件中的所有 i18n.Message 结构文字提取到消息文件中以进行翻译。 +使用 `goi18n extract` 将 Go 源文件中的所有 i18n.Message 结构中的文字提取到消息文件中以进行翻译。 ```toml # active.en.toml @@ -99,8 +100,8 @@ other = "{{.Name}} has {{.Count}} cats." ### 翻译一种新语言 -1. 为您要添加的语言创建一个空消息文件(例如:`translate.es.toml`)。 -2. 运行 `goi18n merge active.en.toml translate.es.toml` 以填充 `translate.es.toml` 要翻译的消息。 +1. 为你要添加的语言创建一个空的消息文件(例如:`translate.es.toml`)。 +2. 运行 `goi18n merge active.en.toml translate.es.toml` 以将要翻译的消息填充到 `translate.es.toml` 中。 ```toml # translate.es.toml @@ -109,7 +110,7 @@ other = "{{.Name}} has {{.Count}} cats." other = "Hello {{.Name}}" ``` -3. 翻译完成 `translate.es.toml` 后,将其重命名为 `active.es.toml``。 +3. 完成 `translate.es.toml` 的翻译之后,将其重命名为 `active.es.toml`。 ```toml # active.es.toml @@ -118,7 +119,7 @@ other = "{{.Name}} has {{.Count}} cats." other = "Hola {{.Name}}" ``` -4. 加载 `active.es.toml` 到您的 bundle 中。 +4. 加载 `active.es.toml` 到你的 Bundle 中。 ```go bundle.RegisterUnmarshalFunc("toml", toml.Unmarshal) @@ -127,19 +128,21 @@ other = "{{.Name}} has {{.Count}} cats." ### 翻译新消息 -如果您在程序中添加了新消息: +如果你在程序中添加了新消息: -1. 运行 `goi18n extract` 以使用新消息更新 `active.en.toml`。 -2. 运行 `goi18n merge active.*.toml` 以生成更新的 `translate.*.toml` 文件。 +1. 运行 `goi18n extract` 以将新的消息更新到 `active.en.toml`。 +2. 运行 `goi18n merge active.*.toml` 以生成更新后的 `translate.*.toml` 文件。 3. 翻译 `translate.*.toml` 文件中的所有消息。 -4. 运行 `goi18n merge active.*.toml translate.*.toml` 将翻译后的消息合并到 active 消息文件中。 +4. 运行 `goi18n merge active.*.toml translate.*.toml` 将翻译后的消息合并到活跃消息文件 + (Active Message Files)中。 -## 有关更多信息和示例: +## 进一步的信息和示例: -- 阅读 [文档](https://godoc.org/github.com/nicksnyder/go-i18n/v2)。 -- 查看 [代码示例](https://github.com/nicksnyder/go-i18n/blob/main/v2/i18n/example_test.go) 和 [测试](https://github.com/nicksnyder/go-i18n/blob/main/v2/i18n/localizer_test.go)。 -- 查看一个示例 [程序](https://github.com/nicksnyder/go-i18n/tree/main/v2/example)。 +- 阅读[文档](https://godoc.org/github.com/nicksnyder/go-i18n/v2)。 +- 查看[代码示例](https://github.com/nicksnyder/go-i18n/blob/main/v2/i18n/example_test.go)和 + [测试](https://github.com/nicksnyder/go-i18n/blob/main/v2/i18n/localizer_test.go)。 +- 查看示例[程序](https://github.com/nicksnyder/go-i18n/tree/main/v2/example)。 ## 许可证 -go-i18n 在 MIT 许可下可用。有关更多信息,请参阅 [许可证](LICENSE) 文件。 +go-i18n 使用在 MIT 许可来提供。更多的相关信息,请参 [LICENSE](LICENSE) 文件。