# README
gpy
汉语拼音转换工具 Go 版。
Installation
go get -u github.com/go-ego/gpy
Install CLI tool:
go get -u github.com/go-ego/gpy/tools/pinyin
$ pinyin 中国话
zhōng guó huà
$ pinyin -s zhao 中国话
zhong guo hua
Usage
package main
import (
"fmt"
"github.com/go-ego/gse"
"github.com/go-ego/gpy"
"github.com/go-ego/gpy/phrase"
)
var test = `西雅图都会区; 长夜漫漫, winter is coming!`
func main() {
args := gpy.Args{
Style: gpy.Tone,
Heteronym: true}
py := gpy.Pinyin(test, args)
fmt.Println("gpy:", py)
s := gpy.ToString(py)
fmt.Println("gpy string:", s)
phrase.LoadGseDict()
go func() {
fmt.Println("gpy phrase1:", phrase.Paragraph(test))
}()
fmt.Println("gpy phrase2:", phrase.Paragraph(test))
seg := gse.New("zh, dict.txt")
// phrase.DictAdd["都会区"] = "dū huì qū"
phrase.AddDict("都会区", "dū huì qū")
fmt.Println("gpy phrase:", phrase.Paragraph(test, seg))
fmt.Println("pinyin: ", phrase.Pinyin(test))
fmt.Println("Initial: ", phrase.Initial("都会区"))
}
package main
import (
"fmt"
"github.com/go-ego/gpy"
)
func main() {
hans := "中国话"
// 默认
a := gpy.NewArgs()
fmt.Println(gpy.Pinyin(hans, a))
// [[zhong] [guo] [hua]]
// 包含声调
a.Style = gpy.Tone
fmt.Println(gpy.Pinyin(hans, a))
// [[zhōng] [guó] [huà]]
// 声调用数字表示
a.Style = gpy.Tone2
fmt.Println(gpy.Pinyin(hans, a))
// [[zho1ng] [guo2] [hua4]]
// 开启多音字模式
a = gpy.NewArgs()
a.Heteronym = true
fmt.Println(gpy.Pinyin(hans, a))
// [[zhong zhong] [guo] [hua]]
a.Style = gpy.Tone2
fmt.Println(gpy.Pinyin(hans, a))
// [[zho1ng zho4ng] [guo2] [hua4]]
fmt.Println(gpy.LazyPinyin(hans, gpy.NewArgs()))
// [zhong guo hua]
fmt.Println(gpy.Convert(hans, nil))
// [[zhong] [guo] [hua]]
fmt.Println(gpy.LazyConvert(hans, nil))
// [zhong guo hua]
}
Related Projects
- hotoo/pinyin: 汉语拼音转换工具 Node.js/JavaScript 版。
- mozillazg/python-pinyin: 汉语拼音转换工具 Python 版。
- mozillazg/rust-pinyin: 汉语拼音转换工具 Rust 版。
License
Under the MIT License, base on go-pinyin.
# Functions
AddDict add a token into pinyin dictionary.
Convert 跟 Pinyin 的唯一区别就是 a 参数可以是 nil.
GetVersion get the version.
HanPinyin 汉字转拼音,支持多音字模式.
IsChineseChar to determine whether the Chinese string 判断是否为中文字符串.
LazyConvert 跟 LazyPinyin 的唯一区别就是 a 参数可以是 nil.
LazyPinyin 汉字转拼音,与 `Pinyin` 的区别是: 返回值类型不同,并且不支持多音字模式,每个汉字只取第一个音.
NewArgs 返回包含默认配置的 `Args`.
Pinyin 汉字转拼音,支持多音字模式、拼音与英文等字母混合.
Py return to string pinyin.
Remove remove a token from pinyin dictionary.
SinglePinyin 把单个 `rune` 类型的汉字转换为拼音.
Slug join `LazyPinyin` 的返回值.
ToFixed fixed pinyin style.
ToString trans pinyin [][]string to string.
# Constants
韵母风格,只返回各个拼音的韵母部分,不带声调。如: ong uo.
韵母风格1,带声调,声调在韵母第一个字母上。如: ōng uó.
韵母风格2,带声调,声调在各个韵母之后,用数字 [1-4] 进行表示。如: o1ng uo2.
韵母风格3,带声调,声调在各个拼音之后,用数字 [1-4] 进行表示。如: ong1 uo2.
首字母风格,只返回拼音的首字母部分。如: z g.
声母风格,只返回各个拼音的声母部分。如: zh g.
License get the license.
普通风格,不带声调(默认风格)。如: zhong guo.
声调风格1,拼音声调在韵母第一个字母上。如: zhōng guó.
声调风格2,即拼音声调在各个韵母之后,用数字 [1-4] 进行表示。如: zho1ng guo2.
声调风格3,即拼音声调在各个拼音之后,用数字 [1-4] 进行表示。如: zhong1 guo2.
Version get the gpy version.
# Variables
Fallback 默认配置: 如何处理没有拼音的字符(忽略这个字符).
Heteronym 默认配置:是否启用多音字模式.
PinyinDict is data map Warning: Auto-generated file, don't edit.
PinyinDictAdd pinyin dict addition.
Separator 默认配置: `Slug` 中 Join 所用的分隔符.
Style 默认配置:风格.