Ta odpowiedź pokaże, jak w pełni dostosować ustawienia regionalne, opcjonalnie używając istniejących ustawień narodowych jako podstawy. Typem ustawień regionalnych, które zostaną użyte w tej odpowiedzi, jest i18n
typ; taki typ lokalizacji będzie implikowany przy każdej wzmiance o słowie „lokalizacja” w treści odpowiedzi.
Znajdź przewodnika
Pierwszą rzeczą, którą musisz dostosować do ustawień regionalnych, jest poznanie formatu ustawień regionalnych. Ten edytor ustawień regionalnych w sieci zawiera wyczerpujący opis każdego pola w ustawieniach regionalnych, mimo że nie jest używany przez nikogo od razu. Będzie to przewodnik po użyciu.
Potrzebne narzędzia
Jedynymi narzędziami potrzebnymi do pracy z ustawieniami regionalnymi są
- Edytor tekstu. Wszystko zrobi, ale VIM będzie doskonały.
- Konwerter tekstu na Unicode. Można się spodziewać, że go nie masz, więc dam ci prosty. Przeczytaj następny podrozdział, aby go uzyskać.
Zalecam utworzenie katalogu i zapisanie w nim wszystkiego związanego z pracą, którą wykonasz w ustawieniach regionalnych.
Konwerter tekstu na Unicode (koder)
UWAGA: jeśli używasz nietypowych znaków , możesz mieć problemy ze skryptem, który piszę poniżej; możesz rzucić okiem na alternatywne skrypty połączone przez nass .
Zapisz następujący kod w pliku. Ten plik zostanie zidentyfikowany przez twój system jako skrypt Pythona, co jest w porządku, ponieważ jest jednym. Ten przewodnik zakłada, że nazywasz się skryptem encodestr
.
#!/usr/bin/python
def encode(string):
newstring = str()
for ch in string:
newstring += "<U%04X>" % ord(ch)
return newstring
if __name__ == '__main__':
import sys
print encode(sys.argv[1])
Po zapisaniu, daj pozwolenie na wykonanie pliku - to się przyda. Można to zrobić za pomocą Nautilus lub uruchamiając z terminalu następujące polecenie, w katalogu, w którym został zapisany skrypt: chmod +x encodestr
.
Teraz można przetestować ten skrypt działa na tym samym katalogu: ./encodestr hello
. Powinieneś otrzymać wynik równy <U0068><U0065><U006C><U006C><U006F>
.
Zmodyfikuj istniejące ustawienia narodowe
Modyfikacja istniejącego ustawienia narodowego jest najłatwiejszym przypadkiem, ponieważ najlepiej wybrać ustawienie regionalne, które prawie całkowicie odpowiada twoim potrzebom, w takim przypadku musisz dokonać tylko niewielkich modyfikacji. Aby to dostosować, możesz skorzystać z przewodnika, aby dowiedzieć się, które sekcje chcesz zmienić i jak je zmienić. Wszystkie zainstalowane lokalizacje znajdują się w tym podręczniku/usr/share/i18n/locales
, jednak przewodnik zawiera prawie wszystkie utworzone kiedykolwiek lokalizacje.
Jednak pierwszą rzeczą, którą zauważysz po otwarciu lokalizacji, jest to, że czytasz angielskie słowa tak samo, jak dziwne <UXXXX>
kody. Trzeba będzie móc tworzyć te kody - w tym miejscu encodestr
pojawia się skrypt.
Kiedy wiesz, które sekcje musisz zmienić, musisz znać każde pole zawarte w tej sekcji.
Na przykład LC_TIME
sekcja zawiera pole t_fmt
i wiele innych. Każde pole ma własny opis w przewodniku .
Teraz, gdy wiesz, które pola zmodyfikować, ponownie skorzystaj z przewodnika, aby dowiedzieć się, jakie wartości akceptuje to pole.
Na przykład pole t_fmt
akceptuje tekst i wspólne zmienne strfmt .
Gdy tylko wiesz, co napisać na polach, które chcesz zmodyfikować, uruchom tekst przez encodestr
skrypt, aby uzyskać jego zakodowany odpowiednik.
UWAGA: Nie każde pole musi być zakodowane, w razie potrzeby użyj istniejącego ustawienia narodowego.
Na przykład, jeśli chcesz mieć format czasu Time: %T
w t_fmt
polu, uruchom ./encodestr "Time: %T"
; to wróci, <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
a więc będziesz mieć linię t_fmt <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
w swoim języku (oczywiście w odpowiedniej sekcji).
Po zmodyfikowaniu każdego pola, które chcesz, musisz kontynuować instalację ustawień regionalnych w systemie, aby można było z niego korzystać. W tym celu przejdź do sekcji instalacji.
Tworzenie ustawień narodowych od podstaw
W przeciwieństwie do modyfikowania jednej, druga metoda, której możesz użyć do utworzenia własnych ustawień narodowych, działa na niej od zera. Nie jest to bardzo trudne, jeśli ponownie skorzystasz z przewodnika . Oto przydatna wskazówka: możesz kopiować sekcje z innych lokalizacji bez faktycznych metod kopiowania i wklejania . Musisz tylko przestrzegać tego formatu:
LC_SECTION
copy "locale"
END LC_SECTION
Gdzie LC_SECTION
jest sekcja, którą chcesz zmodyfikować, i locale
ustawienia regionalne, z których chcesz skopiować tę sekcję.
Na przykład, jeśli chcesz skopiować format czasu w ustawieniach regionalnych w języku angielskim, możesz mieć ten tekst jako swój niestandardowy plik ustawień regionalnych:
LC_TIME
copy "en_GB"
END LC_TIME
A to oszczędza dużo pracy i zapewnia, że wszelkie zmiany dokonane w ustawieniach regionalnych, do których się odnoszą, zostaną odzwierciedlone w twojej.
Instalowanie niestandardowych ustawień regionalnych
Kroki, które pokażę poniżej, mogą nie być optymalne, ale działają.
Skompiluj swoje ustawienia regionalne. Nie panikuj! To nie zajmuje czasu. Po prostu uruchom polecenie sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v
gdzie custom
jest nazwa twojego locale.
Skopiuj ustawienia regionalne do /usr/share/i18n/locales/
katalogu. Na pewno będziesz potrzebować przywilejów sudo, aby to zrobić, i możesz to zrobić za pomocą polecenia, sudo cp locale /usr/share/i18n/locales/
gdzie locale
jest nazwa pliku niestandardowych ustawień regionalnych.
Podaj swoje ustawienia regionalne w /var/lib/locales/supported.d/
. Na przykład utwórz nazwę pliku /var/lib/locales/supported.d/asd
i dodaj wiersz custom UTF-8
, w którym niestandardowe to nazwa ustawień regionalnych.
Uruchom magiczne polecenie. Właściwie nie wiem, co dokładnie robi to polecenie, ale jest to kluczowe. Uruchom sudo locale-gen
. Najprawdopodobniej w razie potrzeby generuje odniesienia do dostępnych lokalizacji.
Powiedz systemowi, aby używał ustawień regionalnych. Jeśli chcesz, aby ustawienia narodowe były używane w całym systemie, zmodyfikuj /etc/environment
plik. Jeśli nie, możesz zmodyfikować ~/.profile
plik lub dowolny inny plik, który jest pozyskiwany podczas uruchamiania. Jeśli nie wiesz, co oznacza to drugie, nie martw się, po prostu użyj ~/.profile
pliku. Aby wiedzieć, co musisz w nim napisać, najpierw uruchom locale
polecenie. Należy wydać listę przedmiotów, takich jak LANGUAGE
, LC_MESSAGES
, LC_CTYPE
i wiele innych. Napisz dla każdej żądanej sekcji (wymienionej przez poprzednie polecenie) w osobnych wierszach, SECTION="locale"
gdzie SECTION
jest sekcja i locale
nazwa niestandardowych ustawień regionalnych.
Na przykład, jeśli chcesz użyć formatu czasu z Holandii, ale w języku angielskim, napisz:
LANGUAGE="en_GB:en"
LC_TIME="nl_NL"
UWAGA: Jeśli chcesz używać jednego ustawienia narodowego dla każdego ustawienia ustawień regionalnych, napisz LC_ALL="locale"
gdzie locale
jest nazwa ustawień narodowych niestandardowych. Jeśli chcesz używać ustawień regionalnych do wszystkiego oprócz języka, możesz napisać LANG="locale"
i (w innym wierszu, oczywiście), LANGUAGE="locale":XX
gdzie XX
jest dwuliterowy kod dla wybranego języka.
Na przykład, jeśli chcesz używać holenderskich ustawień regionalnych i języka angielskiego, możesz użyć:
LANG="nl_NL"
LANGUAGE="nl_NL:en"
Skończyłeś
Przy następnym logowaniu Twoje ustawienia regionalne powinny być w użyciu. Możesz to przetestować, uruchamiając locale
ponownie komendę.
Prosimy o komentarz w tym przewodniku na temat niespójności lub fałszywych stwierdzeń!
πμ
wypisuje<U00CF><U0080><U00CE><U00BC>
zamiast oczekiwanych znaków<U03C0><U03BC>
. Oto link, który działa.