J'ai téléchargé la dernière version (4.4 pour l'instant) des sources de Bash sur le site de GNU.
J'ai ouvert le fichier de traduction français (fr.po
) de po
répertoire et j'ai cherché "autorisation refusée". Il n'y a eu aucun résultat.
Quand j'ouvre le terminal et lance cd /var/log/apache2
J'obtiens l'erreur :bash: cd: /var/log/apache2: Permission denied
. Il s'agit donc d'une erreur Bash mais elle n'est pas incluse dans le fichier mentionné. Aussi, quand je grep -rn . -e "denied"
dans le répertoire des sources bash, je n'obtiens que 2 résultats, tous deux issus du fichier "COPYING".
De plus, lorsque je change de langage Bash avec cette commande :export LC_ALL=fr_FR
J'obtiens bash: cd: /var/log/apache2: Permission non accordée
. Changer le langage Bash modifie cette erreur, c'est donc une autre preuve qu'il s'agit bien d'un message Bash.
Est-ce que quelqu'un sait pourquoi cette erreur n'est pas incluse dans le fichier po ?
Réponse acceptée :
La chaîne provient de strerror(3)
, qui mappe les numéros d'erreur aux messages. Dans ce cas, il s'agit de mapper EACCES
. Les chaînes (et leurs traductions) sont contenues dans votre bibliothèque C.