Pada MBP saya yang agak berderit menjalankan Yosemite, saya menemukan bahwa variabel lingkungan POSIX untuk mengendalikan lokal ( LANG
dan LC_*
) diatur dengan benar di dalam jendela Terminal ...
$ printenv | grep -E '^(LANG|LC_)'
LANG=en_US.UTF-8
$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
... tetapi tidak diatur dengan benar di lingkungan yang disediakan untuk aplikasi GUI; misalnya, di dalam jendela shell Emacs , perintah di atas dicetak
$ printenv | grep -E '^(LANG|LC_)'
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
Bagaimana saya memastikan bahwa setiap proses yang berjalan di komputer, terlepas dari bagaimana itu dimulai melihat pengaturan LANG = lingkungan yang tepat? Poin bonus untuk jawaban yang tidak memerlukan tindakan manual untuk tetap sinkron dengan pengaturan bahasa di Preferensi Sistem.
(Pertanyaan terkait: Di mana variabel $ LANG diatur di Mac OS X? Menunjukkan bahwa itu adalah Terminal.app yang mencerminkan pengaturan bahasa dari Preferensi Sistem ke lingkungan shell. Di mana variabel lingkungan sistem diatur dalam Mountain Lion? Menyarankan bahwa yang tepat cara untuk membuat pengaturan lingkungan global manual terus berubah dengan setiap versi baru dari sistem operasi, huek.)
open -a Emacs