mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-24 14:25:00 +00:00
feat: Add user language detection to platform_text
The changes in this commit add a function to detect the user's language and include it in the `platform_text` without assuming English as a fallback. The language detection is done by checking the `locale` module and common environment variables. If a language is detected, it is added to the `platform_text` with a note about how it was obtained. If no language is detected, no language information is added to `platform_text`.
This commit is contained in:
parent
768d7af32e
commit
7d56889880
1 changed files with 21 additions and 0 deletions
|
@ -11,6 +11,7 @@ import sys
|
|||
import threading
|
||||
import time
|
||||
import traceback
|
||||
import locale
|
||||
from collections import defaultdict
|
||||
from datetime import datetime
|
||||
from json.decoder import JSONDecodeError
|
||||
|
@ -739,6 +740,21 @@ class Coder:
|
|||
]
|
||||
self.cur_messages = []
|
||||
|
||||
def get_user_language(self):
|
||||
try:
|
||||
lang = locale.getlocale()[0]
|
||||
if lang:
|
||||
return lang.split('_')[0] # Extract just the language code
|
||||
except:
|
||||
pass
|
||||
|
||||
for env_var in ['LANG', 'LANGUAGE', 'LC_ALL', 'LC_MESSAGES']:
|
||||
lang = os.environ.get(env_var)
|
||||
if lang:
|
||||
return lang.split('_')[0] # Extract just the language code
|
||||
|
||||
return None
|
||||
|
||||
def fmt_system_prompt(self, prompt):
|
||||
lazy_prompt = self.gpt_prompts.lazy_prompt if self.main_model.lazy else ""
|
||||
|
||||
|
@ -750,6 +766,11 @@ class Coder:
|
|||
|
||||
val = os.getenv(var)
|
||||
platform_text += f"- The user's shell: {var}={val}\n"
|
||||
|
||||
user_lang = self.get_user_language()
|
||||
if user_lang:
|
||||
platform_text += f"- The user's language: {user_lang} (detected from locale or environment variables)\n"
|
||||
|
||||
dt = datetime.now().isoformat()
|
||||
platform_text += f"- The current date/time: {dt}"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue