# GoldenDict的OpenCC能提供更多的汉字转换选项吗？

**URL:** <https://forum.freemdict.com/t/topic/44601>\
**Category:** GoldenDict-ng\
**Tags:** goldendict, goldendict-ng\
**Created:** [2026 年7 月 15 日 18:32 UTC](https://forum.freemdict.com/t/topic/44601 "2026-07-15T18:32:44Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

作者： ![yx\_wh](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/yx_wh/32/77200_2.png) [@yx\_wh](https://forum.freemdict.com/u/yx_wh)\
发布日期： [2026 年7 月 15 日 18:32 UTC](https://forum.freemdict.com/t/topic/44601/1 "2026-07-15T18:32:45Z")

</div>

> **[Customize the opencc - GoldenDict-ng](https://xiaoyifang.github.io/goldendict-ng/howto/how%20to%20customize%20the%20opencc/)**
>
> GoldenDict-ng is a open source, cross platform, multi formats, feature rich dictionary 是一个开源跨平台支持各种格式的字典程序

我阅读了帮助文件，看来GoldenDict的OpennCC默认只使用了

```auto
s2tw.json（简体中文→台湾繁体）
s2hk.json（简体中文→港澳繁体）
t2s.json（繁体中文→简体中文）

```

三个文件。在查询简体中文和繁体中文的时候这是完全够用的，但是碰到中国人学日文（日本人学中文应该类似）的时候就不够用了，因为日本战后使用的「新字体」，有的字在Unicode里面和简体中文、繁体中文都不一样。  
例：国铁、國鐵、国鉄。  
日本新字体汉字的「国」和简体中文在Unicode里面是一个字，但是日本新字体汉字的「鉄」和简体中文的「铁」繁体中文的「鐵」都不一样。  
而opencc里面是有t2jp.json和jp2t.json实现繁体汉字→日本新字体和日本新字体→繁体汉字转换的。所以说，要是GoldenDict的 **词典-词典来源-转写-中文转换** 里面增加

> 繁体中文→日本新字体（直接使用t2jp.json） 和 日本新字体→繁体中文（直接使用jp2t.json）  
> 简体中文→日本新字体（先用s2t.json转一遍，再用t2jp.json转一遍） 和 日本新字体→简体中文（先用jp2t.json转一遍，再用t2s.json转一遍）

四个额外选项，那对中文或者日文的学习者来说，想必都会更加方便吧！

---

<div class="post-metadata">

作者： ![yx\_wh](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/yx_wh/32/77200_2.png) [@yx\_wh](https://forum.freemdict.com/u/yx_wh)\
发布日期： [2026 年7 月 16 日 15:31 UTC](https://forum.freemdict.com/t/topic/44601/2 "2026-07-16T15:31:20Z")

</div>

在AI辅助下造出了程序辞典。  
中日跳转：

```auto
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
import urllib.parse
from opencc import OpenCC

def main():
    if len(sys.argv) < 2:
        return

    word = sys.argv[1].strip()
    if not word:
        return

    try:
        # 第一步：简体 → 标准繁体
        cc_s2t = OpenCC('s2t')
        trad = cc_s2t.convert(word)
        # 第二步：标准繁体 → 日本新字体
        cc_t2jp = OpenCC('t2jp')
        result = cc_t2jp.convert(trad)
    except Exception:
        # 转换失败，不输出任何内容
        return

    # 如果转换结果与原始输入相同，也不输出
    if result == word:
        return

    # 对结果进行 URL 编码，构造可点击的链接
    encoded = urllib.parse.quote(result)
    html = f'<meta charset="utf-8"><a href="gdlookup://localhost/{encoded}">{result}</a>'
    sys.stdout.buffer.write(html.encode('utf-8'))

if __name__ == ' __main__':
    main()

```

日中跳转：

```auto
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
import urllib.parse
from opencc import OpenCC

# 手动修正字典：日文新字体转换后常见的错误映射 → 正确繁体
# 键为 jp2t 转换后的错误繁体词，值为正确的繁体词
FIX_MAP = {
    "花辨": "花瓣",
    "單辨": "單瓣",
    "旗辨": "旗瓣",
    "重辨": "重瓣",
    "離辨花": "離瓣花",
    "合辦花": "合瓣花",
    "僧帽辨": "僧帽瓣",
    "房室辨": "房室瓣",
    "三尖辨": "三尖瓣",
    "半月辨": "半月瓣",
    "辨證論": "辯證論",
    "辨證法": "辯證法", # jp2t 会把“証”转成“證”，所以这里是“辨證”
    "辨纔": "辯才", # jp2t 会把“弁才”转成“辨纔”
    "辨士": "辯士",
    "雄辨": "雄辯",
    "抗辨": "抗辯",
    "辨口": "辯口",
    "答辨": "答辯",
    "辨論": "辯論",
    "口辨": "口辯",
    "多辨": "多辯",
    "辨解": "辯解",
    "強辨": "強辯",
    "員辨": "員弁",
    "武辨": "武弁",
    "辨別": "辨別", # 这个本身是对的（辨别），无需改，但作为示例保留
    # 如果你发现其他错误，可以在这里继续添加
}

def main():
    if len(sys.argv) < 2:
        return

    word = sys.argv[1].strip()
    if not word:
        return

    try:
        cc_jp2t = OpenCC('jp2t')
        trad = cc_jp2t.convert(word)

        # 🔧 手动修正：遍历修正字典，替换错误的繁体词
        for wrong, correct in FIX_MAP.items():
            if wrong in trad:
                trad = trad.replace(wrong, correct)

        cc_t2s = OpenCC('t2s')
        simp = cc_t2s.convert(trad)
    except Exception:
        return

    # 如果输入与繁体或简体相同，不输出
    if word == trad or word == simp:
        return

    # 构建 HTML 输出
    html_parts = []
    # 如果需要显示繁体链接（且与简体不同），则加一个
    if trad != simp:
        # 繁体链接
        encoded_trad = urllib.parse.quote(trad)
        html_parts.append(f'<a href="gdlookup://localhost/{encoded_trad}">繁：{trad}</a> ')
        # 简体链接
        encoded_simp = urllib.parse.quote(simp)
        html_parts.append(f'<a href="gdlookup://localhost/{encoded_simp}">简：{simp}</a>')
    else:
        # 繁简相同，只输出一个链接（但前提是它与输入不同，因为上面已经判断了）
        encoded = urllib.parse.quote(trad)
        html_parts.append(f'<a href="gdlookup://localhost/{encoded}">{trad}</a>')

    html = '<meta charset="utf-8">' + ' '.join(html_parts) # 用空格分隔
    sys.stdout.buffer.write(html.encode('utf-8'))

if __name__ == ' __main__':
    main()

```

---

<div class="post-metadata">

作者： ![URE](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/u/e56c9b/32.png) [@URE](https://forum.freemdict.com/u/URE)\
发布日期： [2026 年7 月 17 日 02:31 UTC](https://forum.freemdict.com/t/topic/44601/3 "2026-07-17T02:31:35Z")

</div>

> [@yx\_wh](#):
>
> 我阅读了帮助文件，看来GoldenDict的OpennCC默认只使用了
> 
> ```auto
> s2tw.json（简体中文→台湾繁体）
> s2hk.json（简体中文→港澳繁体）
> t2s.json（繁体中文→简体中文）
> 
> ```
> 
> 三个文件。

 ![2026-07-17_102811](https://forumcdn.freemdict.com/uploads/default/original/3X/8/b/8b20c620504f1a992fce9c65b12ac53f05d8d7cc.png)  
建议NG添加一个针对opencc的额外配置项，这样需要什么就可以自由添加。

---

<div class="post-metadata">

作者： ![步天歌](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/%E6%AD%A5%E5%A4%A9%E6%AD%8C/32/29973_2.png) [@步天歌](https://forum.freemdict.com/u/%E6%AD%A5%E5%A4%A9%E6%AD%8C)\
发布日期： [2026 年7 月 17 日 10:28 UTC](https://forum.freemdict.com/t/topic/44601/4 "2026-07-17T10:28:45Z")

</div>

可以考虑使用下面的数据：

> [@针对中文母语者的剪贴板查词优化：简日汉字字典\_日本語非辞書形辞典\_v2\_子项目](https://forum.freemdict.com/t/topic/16260):
>
> 本文是[简日汉字字典](https://github.com/NoHeartPen/Kanji2Hanzi)的[README文档](https://github.com/NoHeartPen/Kanji2Hanzi/blob/master/README.md)，发布在如下平台： [FreeMdict](https://forum.freemdict.com/t/topic/16260)[语雀](https://www.yuque.com/noheartpen/hbrngk/eneciobr7ksdmyds)[知乎](https://zhuanlan.zhihu.com/p/583280005)简日汉字简日汉字字典 介绍 相比于欧美国家，中国的学习者在日语学习的起步阶段无疑会轻松很多，但进入一定阶段后可能才会发现：简体字和漢字之间还是有很多微妙区别，除了意思上的差别之外，字形上也存在诸多差异——搜索查阅与文化、地名、人名有关的词汇表现得十分明显： 简/日 绫辻行人 綾辻行人 京极夏彦…

效果可以参考：

> [@欧路词典的痛点！ 苹果、ipad版的繁简通搜问题，苹果系统有无更好的词典软件？](http://forum.freemdict.com/t/topic/20695/14):
>
> 嗯……我提供的思路其实是批量为「所有词条」添加跳转规则 《简日汉字字典》发布的是一个「词典」，不是发布一个收录汉字转换 规则的字典： （视频想演示的是：直接按「中文简体汉字」输入想查的东西，然后提供一个跳到对应「日文汉字」的链接，不是输入单个汉字去查规则）

---

<div class="post-metadata">

作者： ![yx\_wh](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/yx_wh/32/77200_2.png) [@yx\_wh](https://forum.freemdict.com/u/yx_wh)\
发布日期： [2026 年7 月 17 日 10:47 UTC](https://forum.freemdict.com/t/topic/44601/5 "2026-07-17T10:47:09Z")

</div>

谢谢！  
许多手机应用没有内置opencc也没有PC版GoldenDict的程序词典。直接用一个路由词典把简中链接到日本新字体汉字，这是个非常实用的解决方案诶。

---

<div class="post-metadata">

作者： ![yx\_wh](https://forumcdn.freemdict.com/user_avatar/forum.freemdict.com/yx_wh/32/77200_2.png) [@yx\_wh](https://forum.freemdict.com/u/yx_wh)\
发布日期： [2026 年9 月 27 日 20:28 UTC](https://forum.freemdict.com/t/topic/44601/6 "2026-09-27T20:28:43Z")

</div>

最新版GoldenDict-ng已经添加了中文简繁体汉字到日文新字体汉字的查询

> **[建议：能否添加大陆简体到日本新字体、日本新字体到大陆简体，标准繁体到日本新字体、日本新字体到标准繁体的转换？ · xiaoyifang...](https://github.com/xiaoyifang/goldendict-ng/discussions/2438)**
>
> 现在GoldenDict只使用了opencc的三个转换文件：s2tw.json、s2hk.json、t2s.json。 但是，日本同样使用汉字，而且二战后日本通行的“新字体”有些字跟简体中文繁体中文都不一样，比如： 铁（大陆简体）鐵（標準繁體）鉄（日本新字体） 圆（大陆简体）圓（標準繁體）円（日本新字体） 这就导致中国的日语初学者在阅读纸质书时如果不知道一个汉字在日语里面怎么念又想查词典，想...
