GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak přizpůsobit národní prostředí systému?

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

  1. Textový editor. Každý bude stačit, i když VIM bude excelovat.
  2. 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 pole t_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.

Související:Jak spustit aplikaci po nastavenou dobu v shellu?

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 v t_fmt pole, spusťte ./encodestr "Time: %T"; toto vrátí <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054> a tak budete mít řádek t_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í.

  1. 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 kde custom je název vašeho národního prostředí.

  2. 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říkazu sudo cp locale /usr/share/i18n/locales/ kde locale je název souboru vašeho vlastního národního prostředí.

  3. 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 řádek custom UTF-8 , kde custom je název vašeho národního prostředí.

  4. 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í.

  5. Ř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ťte locale příkaz. Měl by vydat seznam s položkami jako LANGUAGE , 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 toto SECTION="locale" kde SECTION je sekce a locale 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.

Související:Iptables – nelze inicializovat filtr tabulky?

Vyjádřete se prosím k nesrovnalostem nebo nepravdivým tvrzením v této příručce!


Ubuntu
  1. Jak nainstalovat Gradle na Ubuntu 18.04

  2. Jak nastavit národní prostředí systému na CentOS 7

  3. Jak nastavit národní prostředí systému na Ubuntu 16.04

  1. Jak nainstalovat Ruby na Windows 10

  2. Jak změnit národní prostředí systému na RHEL7 Linux

  3. Jak nainstalovat OpenProject na Ubuntu 16.04

  1. Jak restartovat Ubuntu 20.04 LTS

  2. Jak nainstalovat Django na Ubuntu 20.04

  3. Jak nainstalovat Notepadqq na Ubuntu 20.04