Skip to content

Commit ebc2327

Browse files
committed
fix (language_tag): handle 'C' and 'POSIX' locales as English fallback on POSIX systems
1 parent 76aeacd commit ebc2327

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

language_tool_python/language_tag.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,16 @@ def _normalize(self, tag: str) -> str:
8787
languages = {
8888
language.lower().replace("-", "_"): language for language in self.languages
8989
}
90+
91+
# If POSIX, default to English variants
92+
if tag.lower() in {"c", "posix"} or tag.lower().startswith("c."):
93+
for candidate in ("en_us", "en_gb", "en"):
94+
if candidate in languages:
95+
return languages[candidate]
96+
raise ValueError(
97+
f"unsupported language (no default for POSIX locale): {tag!r}"
98+
)
99+
90100
try:
91101
return languages[tag.lower().replace("-", "_")]
92102
except KeyError:

0 commit comments

Comments
 (0)