开源中文的繁简体转换 opencc4j-04-香港地区转换支持

2025-04-12  本文已影响0人  老马啸西风2020

Opencc4j

Opencc4j 支持中文繁简体转换,考虑到词组级别。

开源中文的繁简体转换 opencc4j-01-使用入门概览

开源中文的繁简体转换 opencc4j-02-一个汉字竟然对应两个 char?

开源中文的繁简体转换 opencc4j-03-简体还是繁体,你说了算!

开源中文的繁简体转换 opencc4j-04-香港地区转换支持

开源中文的繁简体转换 opencc4j-05-日文转换支持

Features 特点

香港异体字的转换

对于中国台|湾的的转换支持很早就实现了,非常感谢一个湾湾的研发小伙伴。

但是香港地区的一直没有实现,不过还是会受到一些相关需求。

我看只有台湾,请问下有香港的繁体转化支持吗

虽然不太懂香港地区的用字习惯,但是还是硬着头皮上了。

实现流程

opencc

opencc 支持的配置文件为:

s2hk.json Simplified Chinese to Traditional Chinese (Hong Kong variant) 簡體到香港繁體

hk2s.json Traditional Chinese (Hong Kong variant) to Simplified Chinese 香港繁體到簡體

t2hk.json Traditional Chinese (OpenCC Standard) to Hong Kong variant 繁體(OpenCC 標準)到香港繁體

核心流程

这里的簡體到香港繁體,实际上经历了两个步骤:

标准简体=》标准繁体==》香港异体字处理

所以转换这个不分,我们在繁体的基础上,拓展一下对应的处理。

中国香港繁体和大陆简体转换

说明

v1.12.0 版本支持。

为保证方法的一致性,引入 ZhHkConverterUtil 工具类,支持方法和 ZhConverterUtil 保持一致。

例子

/**
 * 大陆简体==>香港正體
 * @since 1.12.0
 */
@Test
public void testHkTraditional() {
    String original = "千家万户瞳瞳日 总把新桃换旧符";
    String result = ZhHkConverterUtil.toTraditional(original);
    Assert.assertEquals("千家萬户瞳瞳日 總把新桃換舊符", result);
}

/**
 * 香港正體==>大陆简体
 */
@Test
public void testHkSimple() {
    String original = "千家萬户瞳瞳日 總把新桃換舊符";
    String result = ZhHkConverterUtil.toSimple(original);
    Assert.assertEquals("千家万户瞳瞳日 总把新桃换旧符", result);
}

小结

到这里,会发现以前自己的接口设计的不够优雅,拓展起来有些麻烦。

当然,这些都是后话,以后有时间再做对应的改造。

我是老马,期待与你的下次重逢。

拓展阅读

pinyin 汉字转拼音

pinyin2hanzi 拼音转汉字

segment 高性能中文分词

opencc4j 中文繁简体转换

nlp-hanzi-similar 汉字相似度

word-checker 拼写检测

sensitive-word 敏感词

上一篇 下一篇

猜你喜欢

热点阅读