
Я хочу использовать локаль в MacOS(10.15.3), которая не существует по умолчанию. И в Mac C.UTF-8
нет команды.locale-gen
Как создать локаль в MacOS?
Я использую локаль только для базы данных Postgresql.
решение1
Вы не используете Debian Linux. locale-gen
— это инструмент Debian, скрипт оболочки, который оборачивает фактический стандартный инструмент для создания локалей. Этот инструмент localedef
, как описано вЕдиная спецификация Unixи доступно на MacOS.
Требуется локальисходный файли файл карты символов в качестве входных данных.СУСопределяет форматы для обоих, и в соответствии с руководством Apache C++ длясвой собственный localedef
Раньше (но, по-видимому, сейчас это уже не так) можно было загрузить исходные файлы локалей с сайта The Open Group.
Обратите внимание, что одним из известных способов настройки C.UTF-8
в MacOS является использование локали C и наложение локали UTF-8, которая есть в MacOS, только для ввода символов, т. е.
экспортировать LANG=C LC_CTYPE=UTF-8
Этокак сообщается, что эмуляторы терминала MacOS устанавливают в своих дочерних процессах. Раньше так же все работало и на FreeBSD. (Установка локали *.UTF-8 фактически LANG
делала то же самое, благодаря тому, что LC_CTYPE
файл локали был символической ссылкой на ../UTF-8/LC_CTYPE
эти локали.)
mklocale
Обратите внимание, что инструмент 4.4BSDнетдля создания локалей. Он предназначен специально для создания частей локалей, относящихся к типу символов.
дальнейшее чтение
man localedef
localedef
. Технические характеристики Open Group Base. Стандарт IEEE 1003.1-2017.localedef
.Справочное руководство по стандартной библиотеке Apache C++.apache.org.