Na Systém → Administrace → Jazyková podpora → Text. Mohu si vybrat pouze standardní lokality, ale chtělo by to doladit. Například ve Windows bych mohl ručně upravit věci jako formát času a data, jednotky měření, oddělovač desetinných míst, měnu atd. – jak to mohu udělat v Ubuntu?
Nejlepší odpověď
Tato odpověď ukáže, jak plně přizpůsobit národní prostředí, volitelně pomocí existujícího národního prostředí jako základu. Typ národního prostředí, který bude použit v této odpovědi, je i18n
typ; takový typ národního prostředí bude obsažen v každé zmínce o slovu „locale“ v těle odpovědi.
Najděte průvodce
První věc, kterou musíte přizpůsobit národnímu prostředí, je seznámit se s formátem národního prostředí. Tento webový editor národního prostředí má obsáhlý popis každého pole v národním prostředí, přestože jej nemůže hned tak někdo použít. Toto bude návod k použití.
Potřebné nástroje
Jediné nástroje, které potřebujete pro práci s národními prostředími, jsou
- Textový editor. Každý bude stačit, i když VIM bude excelovat.
- Převaděč textu na kód Unicode. Nejvíc se očekávalo, že žádný nemáte, proto vám poskytnu jednoduchý. Chcete-li jej získat, přečtěte si následující podsekci.
Doporučuji vám vytvořit adresář a uložit do něj vše, co souvisí s prací, kterou budete v národním prostředí dělat.
Převodník textu na kód Unicode (encodestr)
POZNÁMKA: pokud používáte neběžné znaky můžete mít problémy se skriptem, který píšu níže; možná se budete chtít podívat na alternativní skripty propojené pomocí nass .
Uložte následující kód do souboru. Tento soubor bude identifikován vaším systémem jako python skript, což je v pořádku, protože je to jeden. Tato příručka předpokládá, že jste skript nazvali encodestr
.
#!/usr/bin/env python3
import sys
def main():
if len(sys.argv) != 2:
exit(f'Usage: {sys.argv[0]} <string to encode>')
print(encode(sys.argv[1]))
def encode(s):
return ''.join(f"<U{ord(c):04X}>" for c in s)
if __name__ == '__main__':
sys.exit(main())
Po uložení dejte souboru povolení ke spuštění – to se vám bude hodit. Můžete to udělat pomocí nautilus nebo spuštěním následujícího příkazu z terminálu v adresáři, do kterého jste skript uložili:chmod +x encodestr
.
Nyní můžete tento skript otestovat spuštěním ve stejném adresáři:./encodestr hello
. Měli byste dostat výstup rovný <U0068><U0065><U006C><U006C><U006F>
.
Upravit existující národní prostředí
Úprava existujícího národního prostředí je nejsnazší případ, protože v ideálním případě si vyberete národní prostředí, které téměř zcela vyhovuje vašim potřebám, v takovém případě stačí provést pouze malé úpravy. Chcete-li jej přizpůsobit, můžete pomocí průvodce zjistit, které ze sekcí jsou ty, které chcete změnit, a jak je můžete změnit. Všechna nainstalovaná národní prostředí se nacházejí v /usr/share/i18n/locales
, nicméně průvodce obsahuje téměř všechna národní prostředí, která kdy byla vytvořena.
Nicméně první věc, které si všimnete, když otevřete národní prostředí, je, že budete číst anglická slova stejně jako divné <UXXXX>
kódy. Budete muset být schopni vytvořit tyto kódy – zde je encodestr
skript přichází.
Když víte, které sekce musíte změnit, musíte znát každé pole obsažené v sekci.
Například
LC_TIME
sekce obsahuje polet_fmt
, a mnoho dalších. Každé pole má v průvodci svůj vlastní popis.
Nyní, když víte, která pole upravit, použijte znovu průvodce, abyste zjistili, jaké hodnoty pole přijímá.
Například pole
t_fmt
přijímá text a běžné proměnné strfmt.
Až budete vědět, co napsat do polí, která chcete upravit, spusťte text pomocí encodestr
skript, abyste získali jeho zakódovaný ekvivalent.
POZNÁMKA: Ne každé pole musí být kódováno, v případě potřeby použijte jako referenci existující národní prostředí.
Pokud například chcete mít formát času
Time: %T
vt_fmt
pole, spusťte./encodestr "Time: %T"
; toto vrátí<U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
a tak budete mít řádekt_fmt <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
ve vašem národním prostředí (samozřejmě v jeho příslušné sekci).
Poté, co jste upravili všechna požadovaná pole, budete muset přistoupit k instalaci národního prostředí do systému, aby jej bylo možné použít. Pokračujte v sekci instalace.
Vytvoření národního prostředí od začátku
Na rozdíl od úpravy jednoho, druhá metoda, kterou můžete použít k vytvoření vlastního národního prostředí, je pracovat na něm od začátku. To není příliš obtížné, pokud – opět – použijete průvodce. Zde je však užitečný tip:můžete kopírovat sekce z jiných národních prostředí bez skutečného kopírování a vkládání metody. Musíte pouze dodržet tento formát:
LC_SECTION
copy "locale"
END LC_SECTION
Kde LC_SECTION
je sekce, kterou chcete upravit, a locale
je národní prostředí, ze kterého chcete tuto sekci zkopírovat.
Pokud například chcete zkopírovat formát času v anglickém národním prostředí, měli byste tento text použít jako soubor vlastního národního prostředí:
LC_TIME
copy "en_GB"
END LC_TIME
A to vám ušetří spoustu práce a zajistí, že všechny změny provedené v odkazovaném národním prostředí budou zrcadleny do vašeho.
Instalace vlastního národního prostředí
Kroky, které uvedu níže, nemusí být optimální, ale fungují.
-
Zkompilujte své národní prostředí. Nepanikařte! To nezabere žádný čas. Stačí spustit příkaz
sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v
kdecustom
je název vašeho národního prostředí. -
Zkopírujte své národní prostředí do
/usr/share/i18n/locales/
adresář. Určitě budete potřebovat sudo oprávnění to udělat a můžete to udělat pomocí příkazusudo cp locale /usr/share/i18n/locales/
kdelocale
je název souboru vašeho vlastního národního prostředí. -
Zadejte své národní prostředí v
/var/lib/locales/supported.d/
. Vytvořte například název souboru/var/lib/locales/supported.d/asd
a přidejte řádekcustom UTF-8
, kde custom je název vašeho národního prostředí. -
Spusťte magický příkaz. Vlastně nevím, co přesně tento příkaz dělá, ale je zásadní. Spusťte
sudo locale-gen
. Je nejpravděpodobnější, že tam, kde je to potřeba, generuje odkazy na dostupná národní prostředí. -
Řekněte svému systému, aby použil národní prostředí. Pokud chcete, aby bylo národní prostředí používáno v rámci celého systému, upravte
/etc/environment
soubor. Pokud ne, můžete upravit svůj~/.profile
soubor nebo jakýkoli jiný, který se získává při spuštění. Pokud nevíte, co to druhé znamená, nebojte se, stačí použít~/.profile
soubor. Chcete-li vědět, co do něj máte napsat, nejprve spusťtelocale
příkaz. Měl by vydat seznam s položkami jakoLANGUAGE
,LC_MESSAGES
,LC_CTYPE
a mnoho dalších. Pro každou z požadovaných sekcí (uvedenou v předchozím příkazu) napíšete na samostatné řádky totoSECTION="locale"
kdeSECTION
je sekce alocale
název vašeho vlastního národního prostředí.
Pokud například chcete použít formát času z Nizozemska, ale anglický jazyk, napište:
LANGUAGE="en_GB:en"
LC_TIME="nl_NL"
POZNÁMKA: Pokud chcete pro každé nastavení národního prostředí použít jedno národní prostředí, napište LC_ALL="locale"
kde locale
je název vašeho vlastního národního prostředí. Pokud chcete použít národní prostředí pro všechno kromě jazyka, můžete napsat LANG="locale"
a (samozřejmě na jiném řádku) LANGUAGE="locale":XX
kde XX
je 2písmenný kód požadovaného jazyka.
Například, pokud chcete použít nizozemské národní prostředí a anglický jazyk, můžete použít:
LANG="nl_NL"
LANGUAGE="nl_NL:en"
Dokončili jste
Při příštím přihlášení by se mělo používat vaše národní prostředí. Můžete to otestovat spuštěním locale
příkaz znovu.
Vyjádřete se prosím k nesrovnalostem nebo nepravdivým tvrzením v této příručce!