Sur le système → Administration → Support linguistique → Texte. Je ne peux choisir que des paramètres régionaux standard, mais je voudrais affiner le réglage. Par exemple, sous Windows, je pouvais personnaliser manuellement des éléments tels que le format de l'heure et de la date, les unités de mesure, le séparateur décimal, la devise, etc. - comment puis-je le faire dans Ubuntu?
Cette réponse montrera comment personnaliser entièrement un environnement local, en utilisant éventuellement un environnement local existant comme base. Le type de paramètres régionaux qui sera utilisé dans cette réponse est le type i18n
; ce type de locale sera impliqué dans chaque mention du mot "locale" dans le corps de la réponse.
La première chose dont vous avez besoin pour personnaliser les paramètres régionaux est de connaître le format de ces paramètres. Cet éditeur de paramètres régionaux Web possède une description complète de chaque champ d'un paramètre régional, bien qu'il ne soit pas utilisable immédiatement par quiconque. Ce sera le guide à utiliser.
Les seuls outils dont vous avez besoin pour travailler avec les paramètres régionaux sont
Je vous recommande de créer un répertoire et de sauvegarder tout ce qui concerne le travail que vous ferez sur les paramètres régionaux.
REMARQUE: si vous utilisez des caractères non communs , vous pouvez avoir des problèmes avec le script que j'écris ci-dessous; vous voudrez peut-être jeter un coup d'œil aux scripts alternatifs liés par nass .
Enregistrez le code suivant dans un fichier. Ce fichier sera identifié par votre système en tant que script python, ce qui est correct car il en est un. Ce guide suppose que vous avez appelé le script encodestr
name__.
#!/usr/bin/python
def encode(string):
newstring = str()
for ch in string:
newstring += "<U%04X>" % ord(ch)
return newstring
if __== '__main__':
import sys
print encode(sys.argv[1])
Une fois que vous l’avez sauvegardé, donnez l’autorisation d’exécution du fichier - cela vous sera utile. Vous pouvez le faire en utilisant nautilus ou en exécutant depuis un terminal la commande suivante dans le répertoire dans lequel vous avez enregistré le script: chmod +x encodestr
.
Vous pouvez maintenant tester ce script en exécutant sur le même répertoire: ./encodestr hello
. Vous devriez obtenir une sortie égale à <U0068><U0065><U006C><U006C><U006F>
.
Le cas le plus simple est la modification de paramètres régionaux existants. Idéalement, vous devez choisir un paramètre régional qui répond presque totalement à vos besoins. Dans ce cas, vous ne devez effectuer que de petites modifications. Pour le personnaliser, vous pouvez utiliser le guide pour savoir quelles sont les sections que vous souhaitez modifier et comment vous pouvez les modifier. Tous les paramètres régionaux installés résident dans /usr/share/i18n/locales
, cependant le guide contient à peu près tous les paramètres régionaux jamais créés.
Cependant, la première chose que vous remarquerez lorsque vous ouvrez un environnement local est que vous lirez des mots anglais autant que des codes bizarres <UXXXX>
. Vous devrez être capable de créer ces codes - c’est là que vient le script encodestr
name__.
Lorsque vous savez quelles sections vous devez modifier, vous devez connaître chaque champ contenu dans la section.
Par exemple, la section
LC_TIME
contient le champt_fmt
et de nombreux autres. Chaque champ a sa propre description sur le guide .
Maintenant que vous savez quels champs modifier, utilisez le guide pour déterminer les valeurs acceptées par le champ.
Par exemple, le champ
t_fmt
accepte le texte et le commun variables strfmt .
Juste quand vous savez quoi écrire sur les champs que vous souhaitez modifier, exécutez le texte à travers le script encodestr
pour obtenir son équivalent codé.
REMARQUE: Il n'est pas nécessaire que tous les champs soient codés. Utilisez les paramètres régionaux existants comme référence si nécessaire.
Par exemple, si vous souhaitez que le format d'heure
Time: %T
dans le champt_fmt
, exécutez./encodestr "Time: %T"
; ceci retournera<U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
et vous aurez donc la lignet_fmt <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
dans vos paramètres régionaux (dans sa section respective, bien sûr).
Une fois que vous avez modifié tous les champs de votre choix, vous devrez installer les paramètres régionaux sur le système pour pouvoir les utiliser. Passez à la section d'installation pour cela.
Au lieu de modifier l’une, l’autre méthode que vous pouvez utiliser pour créer vos paramètres régionaux personnalisés fonctionne à partir de rien. Ce n'est pas très difficile si - encore une fois - vous utilisez le guide . Voici cependant un conseil utile: vous pouvez copier des sections d’autres paramètres régionaux sans utiliser de véritables méthodes copier-coller. Il vous suffit de suivre ce format:
LC_SECTION
copy "locale"
END LC_SECTION
Où LC_SECTION
est la section que vous souhaitez modifier et locale
est l'environnement local à partir duquel vous souhaitez copier cette section.
Par exemple, si vous souhaitez copier le format de l'heure dans les paramètres régionaux anglais, le texte ci-dessous sera votre fichier de paramètres régionaux personnalisé:
LC_TIME
copy "en_GB"
END LC_TIME
Et cela vous épargne beaucoup de travail et vous assure que toute modification apportée aux paramètres régionaux référencés sera reflétée dans la vôtre.
Les étapes que je vais montrer ci-dessous peuvent ne pas être optimales, mais fonctionnent.
Compilez vos paramètres régionaux. Ne paniquez pas! Cela ne prend pas de temps. Il suffit d’exécuter la commande Sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v
où custom
est le nom de votre langue.
Copiez vos paramètres régionaux dans le répertoire /usr/share/i18n/locales/
. Vous aurez certainement besoin de Sudo privilèges pour le faire, et vous pouvez le faire avec la commande Sudo cp locale /usr/share/i18n/locales/
où locale
est le nom du fichier correspondant à vos paramètres régionaux personnalisés.
Spécifiez vos paramètres régionaux dans /var/lib/locales/supported.d/
. Par exemple, créez un nom de fichier /var/lib/locales/supported.d/asd
et ajoutez la ligne custom UTF-8
, où custom est le nom de vos paramètres régionaux.
Exécutez la commande magique. En fait, je ne sais pas ce que fait exactement cette commande, mais c'est crucial. Exécutez Sudo locale-gen
. Il est fort probable qu'il génère des références aux paramètres régionaux disponibles, le cas échéant.
Dites à votre système d'utiliser les paramètres régionaux. Si vous souhaitez que les paramètres régionaux soient utilisés sur l'ensemble du système, modifiez le fichier /etc/environment
. Sinon, vous pouvez modifier votre fichier ~/.profile
ou tout autre fichier créé au démarrage. Si vous ne savez pas ce que cela signifie ne vous inquiétez pas, utilisez simplement le fichier ~/.profile
. Pour savoir ce que vous devez écrire, lancez d'abord la commande locale
name__. Il devrait générer une liste d'éléments tels que LANGUAGE
name__, LC_MESSAGES
, LC_CTYPE
et beaucoup d'autres. Vous écrirez, pour chacune des sections de votre choix (répertoriées par la commande précédente), sur des lignes distinctes, ce SECTION="locale"
où SECTION
est la section et locale
le nom de vos paramètres régionaux personnalisés.
Par exemple, si vous souhaitez utiliser le format d'heure des Pays-Bas, mais l'anglais, écrivez:
LANGUAGE="en_GB:en"
LC_TIME="nl_NL"
REMARQUE: Si vous souhaitez utiliser un paramètre régional pour chaque paramètre de paramètres régionaux, écrivez LC_ALL="locale"
où locale
est le nom de vos paramètres régionaux personnalisés. Si vous souhaitez utiliser des paramètres régionaux pour tout sauf pour la langue, vous pouvez écrire LANG="locale"
et (sur une autre ligne, bien sûr) LANGUAGE="locale":XX
où XX
est le code à 2 lettres correspondant à la langue souhaitée.
Par exemple, si vous souhaitez utiliser les paramètres régionaux néerlandais et l'anglais, vous pouvez utiliser:
LANG="nl_NL"
LANGUAGE="nl_NL:en"
La prochaine fois que vous vous connecterez, vos paramètres régionaux devraient être utilisés. Vous pouvez le tester en exécutant à nouveau la commande locale
name__.
Veuillez commenter les incohérences ou les fausses déclarations dans ce guide!
Vous ne savez pas quel type de personnalisation vous souhaitez, mais vous pouvez définir certaines variables de paramètres régionaux à l'aide de votre ~/.locale
. Par exemple, pour obtenir des messages en anglais, mais l'heure allemande et les goûts que j'utilise
export LC_ALL=""
export LANG="en_GB.utf8"
export LC_CTYPE="de_DE.utf8"
export LC_NUMERIC="de_DE.utf8"
export LC_TIME="de_DE.utf8"
export LC_COLLATE="de_DE.utf8"
export LC_MONETARY="de_DE.utf8"
export LC_MESSAGES="en_GB.utf8"
export LC_PAPER="de_DE.utf8"
export LC_NAME="en_GB.utf8"
export LC_ADDRESS="de_DE.utf8"
export LC_TELEPHONE="de_DE.utf8"
export LC_MEASUREMENT="de_DE.utf8"
export LC_IDENTIFICATION="de_DE.utf8"
La génération de paramètres régionaux personnalisés est également possible. Voir par exemple ce guide pour les dates.