diff --git a/aider/args.py b/aider/args.py index 08c9bde76..f14a8acec 100644 --- a/aider/args.py +++ b/aider/args.py @@ -731,6 +731,12 @@ def get_parser(default_config_files, git_root): default=None, help="Specify the language to use in the chat (default: None, uses system settings)", ) + group.add_argument( + "--commit-language", + metavar="COMMIT_LANGUAGE", + default=None, + help="Specify the language to use in the commit message (default: None, user language)", + ) group.add_argument( "--yes-always", action="store_true", diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 5dbe03cf9..10ad76efe 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -118,6 +118,7 @@ class Coder: detect_urls = True ignore_mentions = None chat_language = None + commit_language = None file_watcher = None @classmethod @@ -328,6 +329,7 @@ class Coder: num_cache_warming_pings=0, suggest_shell_commands=True, chat_language=None, + commit_language=None, detect_urls=True, ignore_mentions=None, total_tokens_sent=0, @@ -341,6 +343,7 @@ class Coder: self.event = self.analytics.event self.chat_language = chat_language + self.commit_language = commit_language self.commit_before_message = [] self.aider_commit_hashes = set() self.rejected_urls = set() diff --git a/aider/main.py b/aider/main.py index ea344f0ba..ec843c189 100644 --- a/aider/main.py +++ b/aider/main.py @@ -993,6 +993,7 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F num_cache_warming_pings=args.cache_keepalive_pings, suggest_shell_commands=args.suggest_shell_commands, chat_language=args.chat_language, + commit_language=args.commit_language, detect_urls=args.detect_urls, auto_copy_context=args.copy_paste, auto_accept_architect=args.auto_accept_architect, diff --git a/aider/repo.py b/aider/repo.py index 01652b15f..83d9e202a 100644 --- a/aider/repo.py +++ b/aider/repo.py @@ -210,7 +210,9 @@ class GitRepo: else: user_language = None if coder: - user_language = coder.get_user_language() + user_language = coder.commit_language + if not user_language: + user_language = coder.get_user_language() commit_message = self.get_commit_message(diffs, context, user_language) # Retrieve attribute settings, prioritizing coder.args if available