Vraag Hoe voeg ik locale toe aan ubuntu-server?


Ik heb momenteel die landinstellingen:

locale -a

C
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX

Hoe kan ik installeren ru_RU locale naar mijn server?


158
2017-11-06 10:24


oorsprong




antwoorden:


  1. controleer welke talen worden ondersteund:

    locale -a
    
  2. voeg de gewenste locaties toe (bijvoorbeeld ru):

    sudo locale-gen ru_RU
    sudo locale-gen ru_RU.UTF-8
    
  3. voer deze update-opdracht uit

    sudo update-locale 
    

224
2017-11-06 17:08



... dan rennen sudo update-locale - Justin Force
Wat doe je als het niet wordt ondersteund? - Kimble
Kun je alsjeblieft uitleggen waarom beide beide zijn ru_RU en ru_RU.UTF-8 nodig zijn? Ik weet niet veel over plaatsen. - Sopalajo de Arrierez
Als je met php5-fpm werkt, heb je dat nodig sudo service php5-fpm restart - Stalinko
Dit was precies wat ik nodig had, maar ik moest Apache opnieuw opstarten om het te laten werken ... bedankt! - Jabari


Ik zou een andere route gaan, die IMO is die beter geschikt is voor de Ubuntu-stijl. Gebruik de meegeleverde pakketten. Er zijn pakketten voor elke locale en ze doen al het werk voor je ... het is niet nodig om / var-bestanden te bewerken, waarvan ik altijd dacht dat ze niet handmatig moesten worden bewerkt.

sudo apt-get install language-pack-XX

waarbij XX staat voor de taalcode. Door een taal te installeren worden ook alle landspecifieke varianten geïnstalleerd (bijvoorbeeld het installeren van language-pack-it zal it_CH.utf8 en it_IT.utf8 installeren, installeren voor NL zal nl_AW, nl_AW.utf8, nl_BE.utf8 en nl_NL.utf8 installeren ).


48
2018-01-21 13:38



Ik denk dat dit de beste en meest 'Ubuntu'-manier is om dit te doen - Luke Madhanga
Maar het genereren van de locales levert dingen zoals een gelokaliseerd datumformaat, een decimaal scheidingsteken, tekensets etc. De taalpakketten leveren ook vertalingen, wat niet noodzakelijk de bedoeling is. - Oskar Berggren
Ben het eens met Oskar. Nog sterker als je bedenkt dat deze installatie voor een server is - de meeste interfaces zijn hoe dan ook in het Engels. - igorsantos07
Ik was bang dat dit ook zou gebeuren verandering de huidige locale, maar nee. Alles is in orde. Lijkt op de beste approch imo. Ik doe het niet bijzonder nodig hebben "vertalingen of andere dingen", maar als ik om de een of andere reden specifiek gebruik maak van een landinstelling, verwacht ik dat deze compleet is. - Balmipour


  1. controleer welke talen worden ondersteund:

    less /usr/share/i18n/SUPPORTED
    
  2. Voeg locale toe aan lijst met gegenereerde

    echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
    
  3. Regenereer lijst (het zal locale-gen oproepen ...)

     sudo dpkg-reconfigure locales
    

40
2018-01-14 16:54



Ik moest de tweede kolom toevoegen: echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local (UTF-8 komt twee keer voor) op Ubuntu 15.04. Anders werkt het. - jfs


Ik heb gevonden dat locale-gen je vriend is. zoals in (bijvoorbeeld hebreeuws utf8 toevoegen):

root@world:~# locale-gen he_IL.UTF-8

je kunt het zelfs als volgt herscheppen:

root@world:~# dpkg-reconfigure locales

en controleer of je het goed hebt gedaan:

root@world:~# locale -a

Ik vond deze oplossing veel eenvoudiger dan dingen aan tekstbestanden toe te voegen, ook al is het wat het doet.


16
2017-07-18 09:10





echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local

Ik krijg het volgende bericht in punt 3: "Fout: Ongeldige invoer 'ru_RU.UTF8'"

Dit werk voor mij:

echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local

5
2018-01-21 15:56





Gebruik Ubuntu-taalpakketten. Alle ondersteunde talen zijn beschikbaar in standaard repository's:

apt-cache search language-pack

Een volledig voorbeeld van locale switching in Ubuntu (server) -versie:

jani@example:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

Alle beschikbare (dat wil zeggen reeds geïnstalleerde) landinstellingen kunnen worden weergegeven met:

locale -a

Mijn huidige locale is en_IE:

jani@example:~$ locale
LANG=en_IE.UTF-8
LANGUAGE=
LC_CTYPE="en_IE.UTF-8"
LC_NUMERIC="en_IE.UTF-8"
LC_TIME="en_IE.UTF-8"
LC_COLLATE="en_IE.UTF-8"
LC_MONETARY="en_IE.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="en_IE.UTF-8"
LC_NAME="en_IE.UTF-8"
LC_ADDRESS="en_IE.UTF-8"
LC_TELEPHONE="en_IE.UTF-8"
LC_MEASUREMENT="en_IE.UTF-8"
LC_IDENTIFICATION="en_IE.UTF-8"
LC_ALL=
jani@example:~$ date
Sat Nov  1 15:36:51 UTC 2014
jani@example:~$

Omdat ik geen ru locales had, moet ik ru language pack installeren:

jani@example:~$ sudo apt-get -y install language-pack-ru
[..]
Generating locales...
  ru_RU.UTF-8... done
  ru_UA.UTF-8... done
Generation complete.
jani@example:~$ 

Nu zijn de ru-landen beschikbaar. De standaardlandinstelling van het systeem wordt ingesteld door bewerken /etc/default/locale:

jani@example:~$ sudo vi /etc/default/locale
# Created by cloud-init v. 0.7.5 on Mon, 27 Oct 2014 18:46:13 +0000
LANG="ru_RU.UTF-8"
LC_MESSAGES=POSIX
jani@example:~$

Log opnieuw in en controleer uw gloednieuwe landinstelling:

jani@example:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
jani@example:~$ date
Сб. нояб.  1 15:43:45 UTC 2014
jani@example:~$ 

4
2017-11-01 16:07





Wijzigen /etc/locale.gen, commentaar of toevoeging van de locales die u wenst te genereren. Ren dan sudo locale-gen.

U kunt controleren of de locales zijn toegevoegd met locale -a, die alle landinstellingen toont.


2
2018-01-20 19:12



oh, mijn locale-gen heeft een aantal locs aangemaakt en het locale.gen-bestand genegeerd. Gebruik dit advies dus met de nodige voorzichtigheid. - Dzenly