From ddc8621d6e32807d6a01e30bf1a2c9ce9b368128 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 10 May 2025 11:53:00 -0700 Subject: [PATCH] fix: Correctly normalize hyphenated language codes --- aider/coders/base_coder.py | 3 ++- tests/basic/test_coder.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 4c7324ac7..c478db43b 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -1082,7 +1082,8 @@ class Coder: "ko": "Korean", "ru": "Russian", } - return fallback.get(lang_code.split("_")[0].lower(), lang_code) + primary_lang_code = lang_code.replace("-", "_").split("_")[0].lower() + return fallback.get(primary_lang_code, lang_code) def get_user_language(self): """ diff --git a/tests/basic/test_coder.py b/tests/basic/test_coder.py index 2f250d858..bb93ad107 100644 --- a/tests/basic/test_coder.py +++ b/tests/basic/test_coder.py @@ -1202,6 +1202,7 @@ This command will print 'Hello, World!' to the console.""" self.assertEqual(coder.normalize_language("fr_FR"), "French") self.assertEqual(coder.normalize_language("es"), "Spanish") self.assertEqual(coder.normalize_language("de_DE.UTF-8"), "German") + self.assertEqual(coder.normalize_language("zh-CN"), "Chinese") # Test hyphen in fallback self.assertEqual(coder.normalize_language("ja"), "Japanese") self.assertEqual( coder.normalize_language("unknown_code"), "unknown_code"