Imagine a wild amount of incoming environment variables like `LANG`, `LANGUAGE`, `LC_MESSAGES` and so on.
How to defuse localization?
| ๐ด `LANGUAGE=C` | Even if this has maximum priority, this is too risky since other specific things may call `LC_stuff` as far as I understand. |
| ๐ด `LANG=C` | This is supposed to be the default for missing `LC_stuff` so, not correct. Moreover, `LC_ALL` can be available and will take precedence - https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables.html |
| ๐ถ `LANG=C` + `LC_MESSAGES=C` | it should work since it was adopted by https://github.com/apache/subversion/blob/trunk/tools/client-side/bash_completion#L81 but `LC_ALL` may be available and could take precedence, or, `LC_NUMERIC` and other stuff will still be read
| ๐ถ unset `LC_ALL` + `LC_MESSAGES=C` | OK for parsing messages, and in theory `LANG` has lower precedence, but not OK for parsing numbers and times and other stuff by `LC_*` |
| โ
`LC_ALL=C` | probably bombproof - in theory `LC_ALL` has highest precedence and the variable LANGUAGE is ignored if the locale is set to โCโ. https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html#The-LANGUAGE-variable |
| โ
unset `LANGUAGE` + `LC_ALL=C` | probably bombproof - and in theory thanks to `LC_ALL=C` the `LANG` is not used to get defaults of `LC_stuff` including `LC_MESSAGES` |
| โ
โ
`LC_ALL=C` + `LANG=C` | probably super bombproof, probably overkill, probably it's already OK the `LC_ALL=C` |
IMPORTANT: If something above is uncorrect, please edit, add links, thanks ๐