公元中文去掉年单位,与年数中文一致

This commit is contained in:
sansen
2026-09-21 13:48:55 +08:00
parent 9ba113ebb6
commit 1a65c070d6
+10 -9
View File
@@ -193,7 +193,8 @@ _gz_era_group = r'(?P<era>' + '|'.join(
# === 数字转中文 ===
def arabic_to_chinese_year(num: int) -> str:
"""公元年份转中文(逐位体):1662 → 一六六二,-140 → -一四〇。
公元年份读作逐位数字,故不适用计数体规则(见 arabic_to_chinese_count)。"""
公元年份读作逐位数字,故不适用计数体规则(见 arabic_to_chinese_count)。
返回值不带"年"单位——字段"公元中文"与"年数中文"一样只给数字写法,单位由前端拼接。"""
digits = "〇一二三四五六七八九"
if num < 0:
return '-' + ''.join(digits[int(d)] for d in str(abs(num)))
@@ -433,7 +434,7 @@ def extract_era_years(text):
"年号": "民国纪年",
"年数": year_num,
"公元": gregorian,
"公元中文": f"{arabic_to_chinese_year(gregorian)}年",
"公元中文": arabic_to_chinese_year(gregorian),
"位置": {"起始": start, "结束": end},
"类型": "民国纪年",
}
@@ -479,7 +480,7 @@ def extract_era_years(text):
"年数": year_in_era,
"干支": ganzhi,
"公元": gy_year if gy_year is not None else computed,
"公元中文": f"{arabic_to_chinese_year(gy_year if gy_year is not None else computed)}年",
"公元中文": arabic_to_chinese_year(gy_year if gy_year is not None else computed),
"位置": {"起始": start, "结束": end},
"类型": "民国纪年(干支)",
}
@@ -533,7 +534,7 @@ def extract_era_years(text):
"年号": era,
"年数": year_in_era,
"公元": year_num,
"公元中文": f"{arabic_to_chinese_year(year_num)}年",
"公元中文": arabic_to_chinese_year(year_num),
"位置": {"起始": start, "结束": end},
"类型": "年号+公元",
}
@@ -592,7 +593,7 @@ def extract_era_years(text):
"原文(简体)": m.group(0),
"干支": ganzhi,
"公元": gy_year,
"公元中文": f"{arabic_to_chinese_year(gy_year)}年",
"公元中文": arabic_to_chinese_year(gy_year),
"位置": {"起始": start, "结束": end},
"类型": "干支纪年",
}
@@ -656,7 +657,7 @@ def extract_era_years(text):
"原文(简体)": simplified_text[start:end],
"类型": era_type,
"公元": year_num,
"公元中文": f"{arabic_to_chinese_year(year_num)}年",
"公元中文": arabic_to_chinese_year(year_num),
"位置": {"起始": start, "结束": end},
}
if ganzhi in _ganzhi_to_offset:
@@ -713,7 +714,7 @@ def extract_era_years(text):
"年数": year_in_era,
"干支": ganzhi,
"公元": gregorian,
"公元中文": f"{arabic_to_chinese_year(gregorian)}年",
"公元中文": arabic_to_chinese_year(gregorian),
"位置": {"起始": start, "结束": end},
"类型": "干支纪年",
}
@@ -787,7 +788,7 @@ def extract_era_years(text):
"朝代": dynasty,
"庙号": temple,
"公元": base,
"公元中文": f"{arabic_to_chinese_year(base)}年",
"公元中文": arabic_to_chinese_year(base),
"位置": {"起始": start, "结束": end},
"类型": "庙号纪年",
})
@@ -858,7 +859,7 @@ def extract_era_years(text):
"年号": era,
"年数": year_num,
"公元": gregorian,
"公元中文": f"{arabic_to_chinese_year(gregorian)}年",
"公元中文": arabic_to_chinese_year(gregorian),
"位置": {"起始": start, "结束": end},
"类型": "古代纪年",
}