Обычно C
для компьютера, en_US
для людей в США, говорящих по-английски (и других людей, которые хотят того же поведения).
для компьютера означаетчто строки иногда более стандартизированы (но все еще на английском языке), поэтому выходные данные программы могут быть прочитаны из другой программы.С en_US
можно улучшить строки, улучшить алфавитный порядок (возможно, по новым правилам чикагских правил стиля и т. Д.).Так что более удобный, но, возможно, менее стабильный.Примечание: локали предназначены не только для перевода строк, но и для сопоставления (алфавитный порядок, числа (например, разделитель тысяч), валюта (я думаю, можно с уверенностью предсказать, что $ и 2 десятичных знака останутся), месяцы, день неделии т. д.
В вашем случае это всего лишь версия UTF-8 для обоих языков.
В общем, это не должно иметь значения. Обычно я предпочитаю en_US.UTF-8, но обычно этоне имеет значения, и в вашем случае (серверное приложение) он должен только изменять журнал и сообщения об ошибках (если вы используете locale.setlocale()
. Вы должны обрабатывать языковые стандарты клиента внутри вашего приложения. Программы, которые читают из других программ, должны установить C
перед открытием канала, поэтому это не должно иметь большого значения.
Как видите, возможно, это не имеет значения. Вы также можете использовать POSIX
locale, также определите в Debian. Вы получите список установленных локалейс locale -a
.
Примечание. Микрооптимизация будет предписывать C
/ C.UTF-8
языковой стандарт: нет перевода файлов (gettext
) и простые правила сопоставления и форматирования чисел, ноэто должно быть видно только на стороне сервера.