web-dev-qa-db-fra.com

Comment définir la variable LC_TIME sur en_DK tout en conservant en_US la valeur par défaut du système pour les autres variables?

Le système par défaut est défini sur en_US.UTF-8. Mais (entre autres choses absurdes), cela fait du dimanche (un jour de week-end) le premier jour de la semaine dans les calendriers.

Je souhaite utiliser la variable LC_TIME de en_DK.UTF-8 tout en conservant les variables en_US.UTF-8 pour tout le reste.

J'ai généré à la fois en_US.UTF-8 et en_DK.UTF-8 et j'avais l'habitude de pouvoir éditer simplement /etc/default/locale en ajoutant la ligne LC_TIME="en_DK.UTF-8".

Mais cela ne fonctionne plus et je ne sais pas pourquoi. Alors, comment puis-je le faire fonctionner à nouveau?

Avant que les gens ne me disent de pirater le fichier texte en_US.UTF-8 (en /usr/share/i18n/locales), cela ne fonctionne pas non plus, car les mises à jour le réinitialisent régulièrement. Je veux savoir quelle est la "bonne" méthode de configuration pour cela.

1
user308393

Voici ce que je ferais:

  1. vérifiez quels paramètres régionaux sont activés:

    grep -v '^#' /etc/locale.gen
    

    Vous devriez au moins obtenir (ou quelque chose de similaire):

    en_US.UTF-8 UTF-8
    
  2. Activez-le s'il ne l'est pas et désactivez les paramètres régionaux inutiles en commentant ces lignes.

  3. générer des locales:

    Sudo locale-gen
    
  4. définir les paramètres régionaux par défaut:

    Sudo localectl set-locale LANG=en_US.utf8
    Sudo localectl set-locale LC_TIME=en_DK.UTF-8
    
  5. vérifiez tous les fichiers importants tels que: .profile, .bashrc et d'autres fichiers de démarrage pour vous assurer que rien ne remplace nos configurations.

ça devrait marcher.

1
Ravexina

Ouvrez ~/.profile pour le modifier et ajoutez cette ligne:

export LC_TIME=en_DK.UTF-8

Sous Ubuntu GNOME, vous devrez peut-être aussi exécuter cette commande:

gsettings reset org.gnome.system.locale region
0