之前在页面中使用简体转繁体的功能一般是使用JS对页面进行字典替换,这样可以解决大部分问题,但要进行精确的转换,才发现简繁体的转换是个复杂的过程。幸好有个非常棒的繁体转简体开源项目OpenCC可以很好的工作。
OpenCC 特性
- 嚴格區分「一簡對多繁」和「一簡對多異」。
- 完全兼容異體字,可以實現動態替換。
- 嚴格審校一簡對多繁詞條,原則爲「能分則不合」。
- 支持中國大陸、臺灣、香港異體字和地區習慣用詞轉換,如「裏」「裡」、「鼠標」「滑鼠」。
- 詞庫和函數庫完全分離,可以自由修改、導入、擴展。
- 支持C、C++、Python、PHP、Java、Ruby、Node.js and Android。
- 兼容Windows、Linux、Mac平臺。
OpenCC 的 Golang 库
目前有较好的几个 golang 库推荐
处于性能考虑,个人使用第一个项目,下面是其使用的例子。
我在Mac 里安装OpenCC
1 2
brew install opencc
go get github.com/stevenyao/go-opencc
OpenCC 预设置
s2t.jsont2s.jsons2tw.jsontw2s.jsons2hk.jsonhk2s.jsons2twp.jsontw2sp.jsont2tw.jsont2hk.json
具体实例
go-opencc 实现简体转繁体示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
package main
import (
"fmt"
"github.com/stevenyao/go-opencc"
)
const (
input = "中国鼠标软件打印机后台湾"
config_s2t = "/usr/local/Cellar/opencc/1.0.5/share/opencc/s2t.json"
)
func main() {
fmt.Println("Test Converter class:")
c := opencc.NewConverter(config_s2t)
defer c.Close()
output := c.Convert(input)
fmt.Println(output)
}
运行后输出:
1 2
Test Converter class:
中國鼠標軟件打印機後臺灣
opencc 源码安装
apt-get install openccgo get github.com/stevenyao/go-opencc
1 2 3 4 5
# github.com/stevenyao/go-opencc
opencc.c:5:10: fatal error: opencc/opencc.h: No such file or directory
#include "opencc/opencc.h"
^~~~~~~~~~~~~~~~~
compilation terminated.
apt-get remove opencc
1 2 3 4 5 6 7
git clone https://github.com/BYVoid/OpenCC.git
apt-get install cmake
apt-get install doxygen
cd OpenCC
make
make install
成功安装 opencc
1 2 3 4
$ opencc --version
Open Chinese Convert (OpenCC) Command Line Tool
Version: 1.0.5
本文网址: https://pylist.com/topic/191.html 转摘请注明来源