language.py 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. """MinerU支持的语言列表。"""
  2. from typing import Dict, List
  3. # 支持的语言列表
  4. LANGUAGES: List[Dict[str, str]] = [
  5. {"name": "中文", "description": "Chinese & English", "code": "ch"},
  6. {"name": "英文", "description": "English", "code": "en"},
  7. {"name": "法文", "description": "French", "code": "fr"},
  8. {"name": "德文", "description": "German", "code": "german"},
  9. {"name": "日文", "description": "Japanese", "code": "japan"},
  10. {"name": "韩文", "description": "Korean", "code": "korean"},
  11. {"name": "中文繁体", "description": "Chinese Traditional", "code": "chinese_cht"},
  12. {"name": "意大利文", "description": "Italian", "code": "it"},
  13. {"name": "西班牙文", "description": "Spanish", "code": "es"},
  14. {"name": "葡萄牙文", "description": "Portuguese", "code": "pt"},
  15. {"name": "俄罗斯文", "description": "Russian", "code": "ru"},
  16. {"name": "阿拉伯文", "description": "Arabic", "code": "ar"},
  17. {"name": "印地文", "description": "Hindi", "code": "hi"},
  18. {"name": "维吾尔", "description": "Uyghur", "code": "ug"},
  19. {"name": "波斯文", "description": "Persian", "code": "fa"},
  20. {"name": "乌尔都文", "description": "Urdu", "code": "ur"},
  21. {"name": "塞尔维亚文(latin)", "description": "Serbian(latin)", "code": "rs_latin"},
  22. {"name": "欧西坦文", "description": "Occitan", "code": "oc"},
  23. {"name": "马拉地文", "description": "Marathi", "code": "mr"},
  24. {"name": "尼泊尔文", "description": "Nepali", "code": "ne"},
  25. {
  26. "name": "塞尔维亚文(cyrillic)",
  27. "description": "Serbian(cyrillic)",
  28. "code": "rs_cyrillic",
  29. },
  30. {"name": "毛利文", "description": "Maori", "code": "mi"},
  31. {"name": "马来文", "description": "Malay", "code": "ms"},
  32. {"name": "马耳他文", "description": "Maltese", "code": "mt"},
  33. {"name": "荷兰文", "description": "Dutch", "code": "nl"},
  34. {"name": "挪威文", "description": "Norwegian", "code": "no"},
  35. {"name": "波兰文", "description": "Polish", "code": "pl"},
  36. {"name": "罗马尼亚文", "description": "Romanian", "code": "ro"},
  37. {"name": "斯洛伐克文", "description": "Slovak", "code": "sk"},
  38. {"name": "斯洛文尼亚文", "description": "Slovenian", "code": "sl"},
  39. {"name": "阿尔巴尼亚文", "description": "Albanian", "code": "sq"},
  40. {"name": "瑞典文", "description": "Swedish", "code": "sv"},
  41. {"name": "西瓦希里文", "description": "Swahili", "code": "sw"},
  42. {"name": "塔加洛文", "description": "Tagalog", "code": "tl"},
  43. {"name": "土耳其文", "description": "Turkish", "code": "tr"},
  44. {"name": "乌兹别克文", "description": "Uzbek", "code": "uz"},
  45. {"name": "越南文", "description": "Vietnamese", "code": "vi"},
  46. {"name": "蒙古文", "description": "Mongolian", "code": "mn"},
  47. {"name": "车臣文", "description": "Chechen", "code": "che"},
  48. {"name": "哈里亚纳语", "description": "Haryanvi", "code": "bgc"},
  49. {"name": "保加利亚文", "description": "Bulgarian", "code": "bg"},
  50. {"name": "乌克兰文", "description": "Ukranian", "code": "uk"},
  51. {"name": "白俄罗斯文", "description": "Belarusian", "code": "be"},
  52. {"name": "泰卢固文", "description": "Telugu", "code": "te"},
  53. {"name": "阿巴扎文", "description": "Abaza", "code": "abq"},
  54. {"name": "泰米尔文", "description": "Tamil", "code": "ta"},
  55. {"name": "南非荷兰文", "description": "Afrikaans", "code": "af"},
  56. {"name": "阿塞拜疆文", "description": "Azerbaijani", "code": "az"},
  57. {"name": "波斯尼亚文", "description": "Bosnian", "code": "bs"},
  58. {"name": "捷克文", "description": "Czech", "code": "cs"},
  59. {"name": "威尔士文", "description": "Welsh", "code": "cy"},
  60. {"name": "丹麦文", "description": "Danish", "code": "da"},
  61. {"name": "爱沙尼亚文", "description": "Estonian", "code": "et"},
  62. {"name": "爱尔兰文", "description": "Irish", "code": "ga"},
  63. {"name": "克罗地亚文", "description": "Croatian", "code": "hr"},
  64. {"name": "匈牙利文", "description": "Hungarian", "code": "hu"},
  65. {"name": "印尼文", "description": "Indonesian", "code": "id"},
  66. {"name": "冰岛文", "description": "Icelandic", "code": "is"},
  67. {"name": "库尔德文", "description": "Kurdish", "code": "ku"},
  68. {"name": "立陶宛文", "description": "Lithuanian", "code": "lt"},
  69. {"name": "拉脱维亚文", "description": "Latvian", "code": "lv"},
  70. {"name": "达尔瓦文", "description": "Dargwa", "code": "dar"},
  71. {"name": "因古什文", "description": "Ingush", "code": "inh"},
  72. {"name": "拉克文", "description": "Lak", "code": "lbe"},
  73. {"name": "莱兹甘文", "description": "Lezghian", "code": "lez"},
  74. {"name": "塔巴萨兰文", "description": "Tabassaran", "code": "tab"},
  75. {"name": "比尔哈文", "description": "Bihari", "code": "bh"},
  76. {"name": "迈蒂利文", "description": "Maithili", "code": "mai"},
  77. {"name": "昂加文", "description": "Angika", "code": "ang"},
  78. {"name": "孟加拉文", "description": "Bhojpuri", "code": "bho"},
  79. {"name": "摩揭陀文", "description": "Magahi", "code": "mah"},
  80. {"name": "那格浦尔文", "description": "Nagpur", "code": "sck"},
  81. {"name": "尼瓦尔文", "description": "Newari", "code": "new"},
  82. {"name": "保加利亚文", "description": "Goan Konkani", "code": "gom"},
  83. {"name": "梵文", "description": "Sanskrit", "code": "sa"},
  84. {"name": "阿瓦尔文", "description": "Avar", "code": "ava"},
  85. {"name": "阿瓦尔文", "description": "Avar", "code": "ava"},
  86. {"name": "阿迪赫文", "description": "Adyghe", "code": "ady"},
  87. {"name": "巴利文", "description": "Pali", "code": "pi"},
  88. {"name": "拉丁文", "description": "Latin", "code": "la"},
  89. ]
  90. # 构建语言代码到语言信息的映射字典,便于快速查找
  91. LANGUAGES_DICT: Dict[str, Dict[str, str]] = {lang["code"]: lang for lang in LANGUAGES}
  92. def get_language_list() -> List[Dict[str, str]]:
  93. """获取所有支持的语言列表。"""
  94. return LANGUAGES
  95. def get_language_by_code(code: str) -> Dict[str, str]:
  96. """根据语言代码获取语言信息。"""
  97. return LANGUAGES_DICT.get(
  98. code, {"name": "未知", "description": "Unknown", "code": code}
  99. )