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 i18n
type; ce type de paramètres régionaux sera impliqué dans chaque mention du mot «paramètres régionaux» dans le corps de la réponse.
Trouvez un guide
La première chose dont vous avez besoin pour personnaliser un environnement local est de connaître le format de l'environnement local. Cet éditeur de paramètres régionaux Web a une description complète de chaque champ d'un paramètre régional, bien qu'il ne soit pas utilisable par n'importe qui de manière immédiate. Ce sera le guide à utiliser.
Outils nécessaires
Les seuls outils dont vous avez besoin pour travailler avec les paramètres régionaux sont
- Un éditeur de texte. Tout le monde fera l'affaire, bien que VIM excellera.
- Un convertisseur texte-à-unicode. On s'attendrait à ce que vous n'en ayez pas, alors je vais vous en fournir un simple. Lisez la sous-section suivante pour l'obtenir.
Je vous recommande de créer un répertoire et d'y enregistrer tout ce qui concerne le travail que vous ferez sur les paramètres régionaux.
Convertisseur texte en unicode (encodestr)
REMARQUE: si vous utilisez des caractères non courants, vous pouvez rencontrer des problèmes avec le script que j'écris ci-dessous; vous voudrez peut-être jeter un œil aux scripts alternatifs liés par nass .
Enregistrez le code suivant dans un fichier. Ce fichier sera identifié par votre système comme un script python, ce qui est correct car il en est un. Ce guide suppose que vous avez appelé le script encodestr
.
#!/usr/bin/python
def encode(string):
newstring = str()
for ch in string:
newstring += "<U%04X>" % ord(ch)
return newstring
if __name__ == '__main__':
import sys
print encode(sys.argv[1])
Après l'avoir enregistré, 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 cours d' exécution sur le même répertoire: ./encodestr hello
. Vous devriez obtenir une sortie égale à <U0068><U0065><U006C><U006C><U006F>
.
Modifier un environnement local existant
La modification d'un environnement local existant est le cas le plus simple, car dans l'idéal, vous choisirez un environnement local qui correspond presque entièrement à vos besoins, auquel cas vous ne devrez apporter que de petites modifications. Pour l'adapter, vous pouvez utiliser le guide pour savoir quelles sections vous souhaitez modifier et comment les modifier. Tous les paramètres régionaux installés résident /usr/share/i18n/locales
, mais 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 ouvrirez une locale est que vous lirez autant les mots anglais que les <UXXXX>
codes étranges . Vous devrez être en mesure de créer ces codes - c'est là que le encodestr
script vient.
Lorsque vous savez quelles sections vous devez modifier, vous devez connaître chaque champ contenu dans la section.
Par exemple, la LC_TIME
section contient le champ t_fmt
et bien d'autres. Chaque champ a sa propre description sur le guide .
Maintenant que vous savez quels champs modifier, utilisez à nouveau le guide pour savoir quelles valeurs le champ accepte.
Par exemple, le champ t_fmt
accepte le texte et les variables strfmt courantes .
Juste au moment où vous savez quoi écrire sur les champs que vous souhaitez modifier, exécutez le texte via le encodestr
script pour obtenir son équivalent codé.
REMARQUE: tous les champs n'ont pas besoin d'être codés, utilisez une locale existante comme référence si nécessaire.
Par exemple, si vous souhaitez avoir le format d'heure Time: %T
dans le t_fmt
champ, exécutez ./encodestr "Time: %T"
; cela reviendra <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
et vous aurez donc la ligne t_fmt <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
dans votre locale (dans sa section respective, bien sûr).
Après avoir modifié tous les champs souhaités, vous devrez procéder à l'installation des paramètres régionaux sur le système, afin qu'ils puissent être utilisés. Passez à la section d'installation pour cela.
Créer un environnement local à partir de zéro
Au lieu d'en modifier une, l'autre méthode que vous pouvez utiliser pour créer vos paramètres régionaux personnalisés fonctionne à partir de zéro. Ce n'est pas très difficile si - encore une fois - vous utilisez le guide . Voici une astuce utile: vous pouvez copier des sections à partir d'autres paramètres régionaux sans méthodes de copier-coller réelles . Il vous suffit de suivre ce format:
LC_SECTION
copy "locale"
END LC_SECTION
Où se LC_SECTION
trouve la section que vous souhaitez modifier et locale
les paramètres régionaux à partir desquels vous souhaitez copier cette section.
Par exemple, si vous souhaitez copier le format d'heure dans les paramètres régionaux anglais, vous devriez avoir ce texte dans votre fichier de paramètres régionaux personnalisé:
LC_TIME
copy "en_GB"
END LC_TIME
Et cela vous fait économiser beaucoup de travail et garantit que toute modification apportée aux paramètres régionaux référencés sera reflétée dans la vôtre.
Installation de vos paramètres régionaux personnalisés
Les étapes que je vais montrer ci-dessous ne sont peut-être pas optimales, mais fonctionnent.
Compilez vos paramètres régionaux. Pas de panique! Cela ne prend pas de temps. Exécutez simplement la commande sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v
où custom
est le nom de votre locale.
Copiez vos paramètres régionaux dans le /usr/share/i18n/locales/
répertoire. Vous aurez certainement besoin des privilèges sudo pour ce faire, et vous pouvez le faire avec la commande sudo cp locale /usr/share/i18n/locales/
où locale
est le nom de fichier de votre locale personnalisée.
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ù personnalisé est le nom de votre environnement local.
Exécutez la commande magique. En fait, je ne sais pas exactement ce que fait cette commande, mais elle est cruciale. Courez sudo locale-gen
. Il est très 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 à l'échelle du système, modifiez le paramètre/etc/environment
fichier. Sinon, vous pouvez modifier votre ~/.profile
fichier ou tout autre qui provient du démarrage. Si vous ne savez pas ce que cela signifie, ne vous inquiétez pas, utilisez simplement le ~/.profile
fichier. Pour savoir ce que vous devez y écrire, lancez d'abord la locale
commande. Il devrait publier une liste avec des articles comme LANGUAGE
, LC_MESSAGES
, LC_CTYPE
et bien d' autres. Vous écrirez, pour chacune des sections souhaitées (répertoriées par la commande précédente), sur des lignes distinctes, SECTION="locale"
où se SECTION
trouve la section et locale
le nom de votre locale personnalisée.
Par exemple, si vous souhaitez utiliser le format d'heure des Pays-Bas, mais la langue anglaise, é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 un environnement local 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 pour la langue que vous souhaitez.
Par exemple, si vous souhaitez utiliser les paramètres régionaux néerlandais et la langue anglaise, vous pouvez utiliser:
LANG="nl_NL"
LANGUAGE="nl_NL:en"
Vous avez fini
La prochaine fois que vous vous connecterez, vos paramètres régionaux devraient être utilisés. Vous pouvez tester cela en exécutant à locale
nouveau la commande.
Veuillez commenter les incohérences ou les fausses déclarations dans ce guide!
πμ
, il génère<U00CF><U0080><U00CE><U00BC>
, au lieu des caractères attendus<U03C0><U03BC>
. Voici un lien qui fonctionne.custom UTF-8
à/usr/share/i18n/SUPPORTED
avant que je puisse courirsudo locale-gen
. Sinon, il ne serait pas dans la liste.Vous ne savez pas quel type de personnalisation vous souhaitez, mais vous pouvez définir certaines variables locales à l'aide de votre
~/.locale
. Par exemple, pour obtenir des messages en anglais, mais l'heure allemande et les goûts que j'utiliseLa génération de paramètres régionaux personnalisés est également possible. Voir par exemple ce guide pour les dates.
la source
en_US
pourLC_NUMERIC
etde_DE
pourLC_MONETARY
etLC_MEASUREMENT
vous donne d'autres effets secondaires? Voir également le nouveau lien pour générer un environnement local personnel.