MCPcopy
hub / github.com/Aider-AI/aider / normalize_language

Method normalize_language

aider/coders/base_coder.py:1048–1092  ·  view source on GitHub ↗

Convert a locale code such as ``en_US`` or ``fr`` into a readable language name (e.g. ``English`` or ``French``). If Babel is available it is used for reliable conversion; otherwise a small built-in fallback map handles common languages.

(self, lang_code)

Source from the content-addressed store, hash-verified

1046 self.cur_messages = []
1047
1048 def normalize_language(self, lang_code):
1049 """
1050 Convert a locale code such as ``en_US`` or ``fr`` into a readable
1051 language name (e.g. ``English`` or ``French``). If Babel is
1052 available it is used for reliable conversion; otherwise a small
1053 built-in fallback map handles common languages.
1054 """
1055 if not lang_code:
1056 return None
1057
1058 if lang_code.upper() in ("C", "POSIX"):
1059 return None
1060
1061 # Probably already a language name
1062 if (
1063 len(lang_code) > 3
1064 and "_" not in lang_code
1065 and "-" not in lang_code
1066 and lang_code[0].isupper()
1067 ):
1068 return lang_code
1069
1070 # Preferred: Babel
1071 if Locale is not None:
1072 try:
1073 loc = Locale.parse(lang_code.replace("-", "_"))
1074 return loc.get_display_name("en").capitalize()
1075 except Exception:
1076 pass # Fall back to manual mapping
1077
1078 # Simple fallback for common languages
1079 fallback = {
1080 "en": "English",
1081 "fr": "French",
1082 "es": "Spanish",
1083 "de": "German",
1084 "it": "Italian",
1085 "pt": "Portuguese",
1086 "zh": "Chinese",
1087 "ja": "Japanese",
1088 "ko": "Korean",
1089 "ru": "Russian",
1090 }
1091 primary_lang_code = lang_code.replace("-", "_").split("_")[0].lower()
1092 return fallback.get(primary_lang_code, lang_code)
1093
1094 def get_user_language(self):
1095 """

Callers 2

get_user_languageMethod · 0.95

Calls

no outgoing calls

Tested by 1