5.2 KiB
5.2 KiB
国家中英文名称映射技术文档
概述
本模块提供了一个简单的国家中英文名称双向映射功能,支持根据中文名称获取对应的英文名称,或根据英文名称获取对应的中文名称。该功能适用于需要进行国家名称本地化处理的场景,如国际化(i18n)、数据清洗、用户界面显示等。
文件信息
- 文件编码:UTF-8
- 语言:Python 3
- 用途:国家名称中英互译字典与工具函数
核心数据结构
ecc 字典:英文 → 中文 映射
ecc = {
"Afghanistan": "阿富汗",
"Albania": "阿尔巴尼亚",
...
}
- 说明:
键为国家的英文全称(标准英文拼写),值为对应的简体中文名称。 - 覆盖范围:包含全球绝大多数主权国家及部分地区(如中国香港、澳门、台湾)和海外领地。
- 特殊命名示例:
"Congo (Congo-Kinshasa)": 刚果民主共和国(简称“刚果(金)”)"Korea (South)"/"Korea (North)": 区分韩国与朝鲜"Hong Kong": 香港(中国)"Taiwan": 台湾(中国)
⚠️ 注意:所有条目均基于通用国际认知及中国官方立场进行翻译。
cec 字典:中文 → 英文 映射
cec = {v: k for k, v in ecc.items()}
- 生成方式:通过字典推导式将
ecc的键值对反转。 - 作用:实现从中文国名到英文国名的快速查找。
- 示例:
cec["中国"] → "China" cec["法国"] → "France"
功能函数
get_en_country_name(country)
功能
根据输入的中文国家名称返回其对应的英文名称;若未找到匹配项,则原样返回输入值。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
country |
str | 输入的中文国家名称 |
返回值
- 若存在映射:返回对应的英文国家名称(字符串)
- 否则:返回原始输入
country
示例
get_en_country_name("中国") # → "China"
get_en_country_name("德国") # → "Germany"
get_en_country_name("火星") # → "火星" (无匹配,原样返回)
get_cn_country_name(country)
功能
根据输入的英文国家名称返回其对应的中文名称;若未找到匹配项,则原样返回输入值。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
country |
str | 输入的英文国家名称 |
返回值
- 若存在映射:返回对应的中文国家名称(字符串)
- 否则:返回原始输入
country
示例
get_cn_country_name("Japan") # → "日本"
get_cn_country_name("Italy") # → "意大利"
get_cn_country_name("Mars") # → "Mars" (无匹配,原样返回)
使用场景
- 国际化系统中的国家名称本地化
- 将数据库中的英文国家名转换为中文展示给用户。
- 表单数据清洗
- 统一用户输入的国家名称格式(如“CHINA”、“中国”、“PRC” → “中国”)。
- API 接口适配
- 在不同语言系统间传递国家信息时做标准化转换。
- 报表生成
- 自动生成多语言版本的统计报告。
注意事项
-
大小写敏感性
当前实现是完全匹配且区分大小写的。建议在调用前对输入进行标准化处理(如首字母大写、去除多余空格等)。✅ 建议预处理:
get_cn_country_name(country.strip().title()) -
别名支持有限
仅支持字典中明确定义的名称。例如:"USA"不等于"United States""UK"不等于"United Kingdom"
如需支持别名,可扩展字典或增加别名映射层。
-
编码要求
- 文件以 UTF-8 编码保存,确保中文字符正确解析。
-
维护建议
- 新增国家或修改译名时,请同步更新
ecc字典,并验证cec自动生成逻辑是否正常。
- 新增国家或修改译名时,请同步更新
扩展建议
| 功能需求 | 实现建议 |
|---|---|
| 支持别名(如 USA → 美国) | 添加 aliases 字典,预先映射常见别名至标准名称 |
| 不区分大小写查询 | 在函数内部统一转为小写/大写后查询 |
| 返回标准化名称 | 提供 normalize_country() 函数输出标准中/英文名 |
| 支持 ISO 国家代码 | 扩展为包含 ISO 3166-1 alpha-2/alpha-3 代码的结构化字典 |
版权与声明
- 中文译名参考中国官方出版物及外交部标准译法。
- 本数据不用于任何商业目的之外的责任归属。
- “台湾”、“香港”、“澳门”按一个中国原则标注为中国地区。
示例代码
# 示例:中英文互译
print(get_en_country_name("日本")) # 输出: Japan
print(get_cn_country_name("Brazil")) # 输出: 巴西
# 示例:未识别名称原样返回
print(get_cn_country_name("Middle Earth")) # 输出: Middle Earth
✅ 版本状态:稳定可用
📅 最后更新:2025年4月5日