Yerel ayarları yapılandırmak için önce '/ usr / share / i18n / SUPPORTED' dosyasının içeriğine bağlı olarak '/etc/locale.gen' dosyasının yeni bir kopyasını yaratacak bir sed komut dosyası çalıştırıyorum . Giriş dosyasındaki her satır kopyalanacak, ancak sistemimde kullanmak istediğim bir dil için UTF-8 yerel ayarının bir girişi olmadığı sürece bir yoruma çevrilecek (örneğin, İngilizce, Hollandaca, Fransızca, ve Almanca):
sed --regexp-extended --expression='
1 {
i\
# This file lists locales that you wish to have built. You can find a list\
# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add\
# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change\
# this file, you need to rerun locale-gen.\
\
}
/^(en|nl|fr|de)(_[[:upper:]]+)?(\.UTF-8)?(@[^[:space:]]+)?[[:space:]]+UTF-8$/! s/^/# /
' /usr/share/i18n/SUPPORTED > /etc/locale.gen
Daha sonra, örneğin debconf veritabanındaki varsayılan ortam yerel ayarını İngiliz İngilizcesi olarak ayarlarım :
debconf-set-selections <<< 'locales locales/default_environment_locale select en_GB.UTF-8'
Daha sonra mevcut '/ etc / default / locale' dosyasını kaldırdım (yalnızca eski içeriğinin yeni ayarlarıma engel olamayacağından emin olmak için) ve sed komut dosyasının seçtiği tüm yerel ayarları oluşturmak için dpkg-reconfigure komutunu çalıştırdım ve 'LANG' değişkenini seçili varsayılan ortam yerel ayarıma ayarlamak için yalnızca giriş içeren yeni bir '/ etc / default / locale' dosyası oluşturmak için:
rm --force --verbose /etc/default/locale
dpkg-reconfigure --frontend=noninteractive locales
Ardından, gereksinimlerime bağlı olarak , örneğin değerlerin biçimlendirmesini etkileyen değişkenleri geçersiz kılmak için birkaç güncelleme-yerel ayar komutları çalıştırmak ve bunları farklı bir yerel ayar ( İrlanda İngilizcesi gibi ) ayarlamak isteyebilirim :
update-locale LC_NUMERIC='en_IE.UTF-8'
update-locale LC_TIME='en_IE.UTF-8'
update-locale LC_MONETARY='en_IE.UTF-8'
update-locale LC_PAPER='en_IE.UTF-8'
update-locale LC_NAME='en_IE.UTF-8'
update-locale LC_ADDRESS='en_IE.UTF-8'
update-locale LC_TELEPHONE='en_IE.UTF-8'
update-locale LC_MEASUREMENT='en_IE.UTF-8'
update-locale LC_IDENTIFICATION='en_IE.UTF-8'
(Bu parametrelerin hepsini update-locale komutunun tek bir başlatması için belirtebilirdim , ancak görünüşe göre, girdilerin '/ etc / default / locale' dosyasına yazılma sırası tahmin edilemez. her zaman aynı sırada olmalarını tercih ediyorum, bu yüzden onları birer birer üretiyorum.)
Son olarak, LANGUAGE değişkenini ayarlamak için update-locale komutunu son bir kez çalıştırmak isteyebilirim (örneğin, çevrilebilir metin mesajlarının görüntülenmesini istediğim dillerin listesi):
update-locale LANGUAGE='en_GB:en_US:en'
File "/usr/share/apt-listchanges/ALChacks.py", line 32, in <module> sys.stderr.write(_("Can't set locale; make sure $LC_* and $LANG are correct!\n"))
...