简体中文转繁体的python简单实现
0. 背景
代理的游戏是一个简体中文的版本,为了能使游戏成为一个拥有繁体中文的港澳台版本。其中的定制的简体中文(占绝大多数)是找台湾当地人翻译的,但是其中有一个语音识别的功能,由于是并非定制的内容,所以找了两个简体中文转繁体的简单实现。
1. opencc-python
如果目录上的链接被屏蔽了,请手动复制 https://pypi.python.org/pypi/opencc-python/
首先介绍opencc的python实现库,它具有安装简单,翻译准确,使用方便等优点。对于我们的需求完全能够胜任。使用步骤如下:
1.1 在terminal中安装opencc-python
pip install opencc-python
如果安装中出现了如下错误:
请先下载 distribute_setup.zip,解压缩后,把distribute_setup.py放到C:\Python27\Lib。然后再执行pip命令。
1.2 使用代码:
# -*- coding: utf8 -*-
import opencc
cc = opencc.OpenCC('t2s')
print cc.convert(u'Open Chinese Convert(OpenCC)「開放中文轉換」,是一個致力於中文簡繁轉換的項目,提供高質量詞庫和函數庫(libopencc)。')
输出为:
Open Chinese Convert(OpenCC)「开放中文转换」,是一个致力于中文简繁转换的项目,提供高质量词库和函数库(libopencc)。
这里有四种内建的opencc翻译配置:
- t2s - 繁体转简体(Traditional Chinese to Simplified Chinese)
- s2t - 简体转繁体(Simplified Chinese to Traditional Chinese)
- mix2t - 混合转繁体(Mixed to Traditional Chinese)
- mix2s - 混合转简体(Mixed to Simplified Chinese)
2. zhtools
参考博客《python实现中文字符繁体和简体中文转换》,简要步骤如下:
2.1 中文简体和繁体转换所需Python库:zh_wiki.py(在原作者的库中新添近一倍词库), langconv
2.2 使用代码
from langconv import *def simple2tradition(line):#将简体转换成繁体line = Converter('zh-hant').convert(line.decode('utf-8'))line = line.encode('utf-8')return linedef tradition2simple(line):# 将繁体转换成简体line = Converter('zh-hans').convert(line.decode('utf-8'))line = line.encode('utf-8')return line
该方案的优点是轻量,使用方便,简洁,但又可能翻译不太准确,例如,原作者的库是这样翻译成繁体的:
\前後,後羿\
而准确的繁体是这样的:
\前後,后羿\
3. 总结
最终项目还是采用第二种方案,因为在库填充后,准确度还可以的情况下,第二种方案轻量,对游戏不会造成不可预见的影响。当然第一种方案是非常成熟和准确的,无论作为研究和作品工具都非常不错的选择。
目录
- 背景
- opencc-python
- zhtools
- 总结
简体中文转繁体的python简单实现相关推荐
- .Net/C#: 一个将在线简体中文网页转为繁体中文页简单方法
/* 一个将"任意"在线简体中文网页转为繁体中文页简单方法 以前都写在 Aspx 的 Codebehind 里用 WebRequest 抓别人的网页 ASP 时代用 XMLHTTP ...
- opencc解决简体中文与繁体中文转换问题【python】
1.Opencc-python 今天学习文本分析中偶然想到繁体中文要如何分割的问题,于是联想到将繁体中文先转换为简体中文,查过网上的资料后发现比较好用的是opencc-python,以及下载zh_wi ...
- java获取系统语言(区分简体中文和繁体中文)
2019独角兽企业重金招聘Python工程师标准>>> 之前做android应用时遇到过一个问题,就是根据语言的不同而显示不同的内容 网上很多代码都是错误的,起码无法区分简体和繁体, ...
- python中年大叔学编程_中年大叔学编程-Python简单操作文件
原标题:中年大叔学编程-Python简单操作文件 在计算机中,经常打交道的就是各种文档,用得比较多的软件就是office和记事本来操作文件,那么我们试试用Python来简单读写文件. Open函数的用 ...
- (一)python简单应用
(一)python简单应用 自学之后运用循环语句和判断语句所解决的几个简单问题: 1.实现1到10的和: x = 1 he = 0 while x < 11:if x == 7:passelse ...
- python 简单图像处理(13) 二值图腐蚀和膨胀,开运算、闭运算
原文:http://www.cnblogs.com/xianglan/archive/2010/12/29/1921211.html python 简单图像处理(13) 二值图腐蚀和膨胀,开运算.闭运 ...
- python好学-所有人都说Python 简单易学,为何你觉得难?
记得刚学Python的时候,几乎所有人都说Python 简单易学,而对于编程零基础,只掌握Word和Excel的人来说,感觉真的好难. 学习之前网上的教材看了,Python的书也看了,包括<核心 ...
- python基础代码事例-Python简单基础小程序的实例代码
1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...
- python程序实例教程基础-Python简单基础小程序的实例代码
1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...
- Python 简单入门指北(二)
Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...
最新文章
- json对象转为url参数_Day48_Ajaxamp;Json
- 如何摆脱穷打工的命?
- LCD显示异常分析——开机闪现花屏【转】
- datetime 取分钟_如何仅从DateTime获取小时和分钟
- nodejs模块笔记
- 第三次学JAVA再学不好就吃翔(part109)--LineNumberReader类
- Android之状态栏通知Notification、NotificationManager详解
- 算法设计与分析_算法设计与分析(第2版)第2章分治策略回顾
- OpenSSL原理与实现
- mysql system账户密码忘记了_MySQL数据库root账户密码忘记两种处理方法(保有效)...
- Linux vsFTPd服务详解——文件加密传输配置
- [PTA]实验7-2-5 判断上三角矩阵
- 中国的程序员大部分都是diao丝,说白了就是农村进城打工的,有背景或有钱的基本都不会做程序员。
- 怎么去除微博图片的水印?
- Java开发对接招行一网通支付功能的总结
- 基于若依框架(前后端分离)-新写前端Vue页面
- 甘特图:项目进度管理的必备工具
- Win7系统服务优化攻略
- OpenHarmony ≠ HarmonyOS
- 什么?RecyclerView中获取点击位置的接口被废弃了?