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_TIMEsekce 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_fmtpř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: %Tvt_fmtpole, 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 -vkdecustomje 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/kdelocaleje 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/asda 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/environmentsoubor. Pokud ne, můžete upravit svůj~/.profilesoubor 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~/.profilesoubor. Chcete-li vědět, co do něj máte napsat, nejprve spusťtelocalepříkaz. Měl by vydat seznam s položkami jakoLANGUAGE,LC_MESSAGES,LC_CTYPEa 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"kdeSECTIONje sekce alocalená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!