Napisałem aplikację internetową, dla której interfejs użytkownika jest w języku niderlandzkim. Korzystam z systemowych procedur daty i godziny do formatowania ciągów dat w aplikacji. Jednak data ciągi formatów systemu są w języku angielskim, ale chcę je w języku niderlandzkim, więc muszę ustawić ustawienia regionalne systemu. Jak to zrobić na Debianie? Próbowałem ustawienia, LC_ALL=nl_NL
ale wydaje się, że nie ma to żadnego wpływu:
$ date
Sat Aug 15 14:31:31 UTC 2009
$ LC_ALL=nl_NL date
Sat Aug 15 14:31:36 UTC 2009
Pamiętam, że ustawienie LC_ALL w moim systemie Ubuntu działa dobrze. Czy muszę zainstalować dodatkowe pakiety, aby to działało, czy robię to całkowicie źle?
linux
debian
localization
Hongli Lai
źródło
źródło
sudo dpkg-reconfigure locales
.Odpowiedzi:
Edytuj
/etc/default/locale
i ustaw zawartość na:Możesz sprawdzić, które lokalizacje aktualnie wygenerowałeś, używając:
Możesz wygenerować więcej, edytując
/etc/locale.gen
i usuwając komentarz z wierszy dla ustawień regionalnych, które chcesz włączyć. Następnie możesz je wygenerować, uruchamiając:Listę obsługiwanych ustawień regionalnych można znaleźć w
/usr/share/i18n/SUPPORTED
Więcej informacji jest dostępnych na wiki Debiana .
źródło
Może być konieczne zainstalowanie
locales
pakietu. Zostaniesz zapytany, które lokalizacje wygenerować. Jeśli jest już zainstalowany,dpkg-reconfigure locales
pozwoli Ci wygenerować więcej ustawień narodowych.źródło
sudo
jak wsudo dpkg-reconfigure locales
.NONE
.Odpowiedzi tutaj są niepełne, jak w większości innych. Po zebraniu informacji z kilku miejsc, zadziałało dla mnie (1) upewnienie się, że pożądane ustawienia narodowe są dostępne (wygenerowanie, jeśli nie były), a następnie (2) ustawienie zmiennych środowiskowych powiązanych z ustawieniami narodowymi na pożądane ustawienia regionalne.
W moim przypadku potrzebowałem
en_US.UTF-8
programowo (tj. Nieinteraktywnie) zainstalowany w kontenerze dokera. Ff osiągnął to, czego potrzebuję, ale powinien działać dobrze w interaktywnej powłoce.W tej samej powłoce musisz zrobić,
source ~/.bashrc
aby zmienne env zaczęły działać natychmiast. Można sprawdzić, czy ustawienia regionalne zostały poprawnie skonfigurowane, wywołująclocale
.Było wiele pytań i pytań dotyczących tego tematu, ale tylko kilka było w rzeczywistości pomocnych. Kredyt, na który przysługuje kredyt:
źródło
Żadna z tych odpowiedzi nie działała dla mnie na kontenerze LXC zainstalowanym z:
Zawsze otrzymywałem następujące dane wyjściowe
locale-gen
, tj. Nie generowałem żadnych ustawień narodowych (nie ma na liście):Uruchomienie
dpkg-reconfigure locales
i wybranie niektórych ustawień narodowych nie zaktualizowało się/etc/locale.gen
tak, jak się spodziewałem.Jednak gdy ręcznie zmodyfikowałem ten plik i odkomentowałem wybrane ustawienia narodowe, a następnie
locale-gen
zacząłem działać poprawnie:Mogłem również ręcznie wygenerować ustawienia regionalne, takie jak to:
Ale to nie było trwałe rozwiązanie: odkryłem, że uruchomienie
locale-gen
bez--keep-existing
opcji spowoduje usunięcie wszystkich takich ręcznie wygenerowanych ustawień narodowych, tj. Wszystkich ustawień narodowych niewymienionych (i niekomentowanych) w/etc/locale.gen
.źródło
W przypadku aplikacji internetowej lepszym rozwiązaniem może być użycie setlocale () wewnątrz programu, niż wymaganie, aby domyślne ustawienia narodowe systemu były odpowiednio ustawione na zewnątrz. W ten sposób mniej luźne końce.
źródło
setlocale
to nie będzie działać.Ale najpierw musisz mieć zainstalowany pakiet językowy. Na moim niemieckim VPS nie było wcześniej zainstalowanego pakietu języka angielskiego. Najpierw sprawdź, czy masz zainstalowany:
źródło
Dla tych, którzy, jak ja, na Ubuntu 14.04 LTS, nie mają żadnego
/etc/locale.gen
pliku, możesz dodać nowe ustawienia narodowe,/var/lib/locales/supported.d/local
a następnie uruchomić:sudo dpkg-reconfigure locales
Możesz także dodać ustawienia regionalne dla języka francuskiego (na przykład) w ten sposób (zamiast edycji
/var/lib/locales/supported.d/local
):sudo locale-gen fr_FR fr_FR.UTF-8
dodawać i generować
ISO-8859-1
iUTF-8
zestawów znaków zfr_FR
lokalizacji i ostatecznie wpisz:sudo dpkg-reconfigure locales
aby zakończyć pracę
źródło