Categorygithub.com/go-ego/gpy
modulepackage
0.42.1
Repository: https://github.com/go-ego/gpy.git
Documentation: pkg.go.dev

# README

gpy

Build Status CircleCI Status Build Status codecov Go Report Card GoDoc

汉语拼音转换工具 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

License

Under the MIT License, base on go-pinyin.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# 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 默认配置:风格.

# Structs

Args 配置信息.