Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/03/2015, à 02:19

Arbiel

[Résolu] Traduction des libellés des lanceurs

Bonsoir à tous

J'aimerais comprendre comment Unity traduit les libellés des lanceurs.

Lorsque je passe la souris ou lorsque je fais un clic droit par exemple sur le lanceur de gedit, s'affichent les libellés "Éditeur de texte", "Ouvrir une nouvelle fenêtre" ou "Ouvrir un nouveau document", qui n'apparaissent pas dans le texte du lanceur, à savoir

cat /usr/share/applications/gedit.desktop
[Desktop Entry]
Name=gedit
GenericName=Text Editor
Comment=Edit text files
Exec=gedit %U
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Icon=accessories-text-editor
Categories=GNOME;GTK;Utility;TextEditor;
X-GNOME-DocPath=gedit/gedit.xml
X-GNOME-FullName=Text Editor
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gedit
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.10.4
X-GNOME-Bugzilla-ExtraInfoScript=/usr/share/gedit/gedit-bugreport
Actions=Window;Document;
Keywords=Text;Editor;Plaintext;Write;
X-Ubuntu-Gettext-Domain=gedit

[Desktop Action Window]
Name=Open a New Window
Exec=gedit --new-window
OnlyShowIn=Unity;

[Desktop Action Document]
Name=Open a New Document
Exec=gedit --new-document
OnlyShowIn=Unity;

Le lanceur utilisé par Unity est-il en réalité dans un autre répertoire ?

Sinon, où Unity va-t-il trouver la traduction de "Text Editor" en "Éditeur de texte", "Open a New Window" en "Ouvrir une nouvelle fenêtre", …?

La traduction est-elle produite par la ligne

X-Ubuntu-Gettext-Domain=gedit

Une telle ligne n'apparaît en effet pas dans les lanceurs dans le texte desquels les traductions sont insérées.

Arbiel

Dernière modification par Arbiel (Le 26/03/2015, à 12:27)


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#2 Le 25/03/2015, à 10:13

J5012

Re : [Résolu] Traduction des libellés des lanceurs

le dossier /usr/share/applications contient les lanceurs de toutes les applications installees par le systeme de paquets
le tableau de bord unity les affiche avec clic logo ubuntu (appele aussi dash)
les applications que l'utilisateur garde dans le lanceur sont elles rangees dans /home/nom-user/.local/share/applications, les lanceurs sont normalement modifies en fonction du reglage lang de l'utilisateur ...

le lanceur gedit fait exception à la regle (il n'est par redoublé dans le dossier de l'utilisateur) mais il peut toujours faire l'objet d'une reprogrammation du lanceur ...

edit : oui gettext est le procede par lequel les fichiers de traduction disponibles sont appelés ... paquet gettext du depot

gettext
Utilitaires d'internationalisation GNU

Intéressants pour les auteurs et les responsables de paquets ou de
programmes qui souhaitent voir leur travail internationalisé.

Dernière modification par J5012 (Le 25/03/2015, à 10:20)

Hors ligne

#3 Le 25/03/2015, à 11:19

nany

Re : [Résolu] Traduction des libellés des lanceurs

Bonjour,

Arbiel a écrit :

[…]
Sinon, où Unity va-t-il trouver la traduction de "Text Editor" en "Éditeur de texte", "Open a New Window" en "Ouvrir une nouvelle fenêtre", …?

La traduction est-elle produite par la ligne

X-Ubuntu-Gettext-Domain=gedit

[…]

Oui, cette ligne semble avoir pour effet de lancer une recherche dans les fichiers de langage. Pour le français, a priori, il doit s’agir de /usr/share/locale-langpack/fr/LC_MESSAGES/gedit.mo.

Hors ligne

#4 Le 26/03/2015, à 12:26

Arbiel

Re : [Résolu] Traduction des libellés des lanceurs

Bonjour

Merci beaucoup pour ces informations.

J'ai recopié le lanceur gedit dans un répertoire personnel, je l'y ai modifié et je l'ai installé dans la barre des lanceurs à la place du lanceur original. J'ai bien sûr défini les libellés des nouvelles entrées en français. Les libellés de gedit, que j'ai laissés tels quels dans mon propre lanceur, sont bien affichés en français.

J'ai essayé d'invoquer gettext en ligne de commande, sans succès. J'ai également constaté que la création des fichiers de traduction (.mo) ne coule pas de source. Je me pencherai plus tard sur ces problèmes, très secondaires.

Merci encore.

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#5 Le 26/03/2015, à 15:04

nany

Re : [Résolu] Traduction des libellés des lanceurs

Arbiel a écrit :

[…]
J'ai essayé d'invoquer gettext en ligne de commande, sans succès.

Essaye ça, par exemple :

echo $(gettext gedit "gedit is the official text editor of the GNOME desktop environment. While aiming at simplicity and ease of use, gedit is a powerful general purpose text editor.")
man gettext a écrit :

gettext [OPTION] [[TEXTDOMAIN] MSGID]

N.B. : j’ai mis la commande echo uniquement pour provoquer un retour à la ligne.

J'ai également constaté que la création des fichiers de traduction (.mo) ne coule pas de source. […]

Ce sont des fichiers binaires qui nécessitent en effet un logiciel particulier mais tu peux quand même voir le contenu par exemple à l’aide de la commande cat :

cat /usr/share/locale-langpack/fr/LC_MESSAGES/gedit.mo

Hors ligne

#6 Le 26/03/2015, à 20:17

Arbiel

Re : [Résolu] Traduction des libellés des lanceurs

Bonsoir

Merci pour ce complément d'information.

echo $(gettext gedit "gedit is the official text editor of the GNOME desktop environment. While aiming at simplicity and ease of use, gedit is a powerful general purpose text editor.")
gedit est l'éditeur de texte officiel de l'environnement de bureau GNOME. Tout en visant la simplicité et la facilité d'utilisation, gedit est un puissant éditeur de texte à usage général .

À la lecture du "man gettext", il ne m'était pas apparu de manière évidente que TEXTDOMAIN devait prendre la simple valeur "gedit" et non le chemin vers le répertoire /usr/share/locale-langpack/fr/LC_MESSAGES. J'imagine que ce chemin découle de variables d'environnement (que je n'ai pas identifiées).

La commande

cat /usr/share/locale-langpack/fr/LC_MESSAGES/gedit.mo

m'a permis de repérer les deux textes, anglais et français, mais sans que la relation qui les relie n'apparaisse clairement.

Mais je n'ai pas trouvé de fichier geany.mo dans ce répertoire. Par contre j'ai trouvé

/usr/share/locale/fr/LC_MESSAGES/geany.mo

et la traduction que j'ai tentée n'a pas fonctionné, peut-être parce que le texte que j'ai entré ne correspondait pas à un texte prévu, bien que je l'aie composé à partir de ce que j'ai vu dans le fichier

echo $(gettext geany "Add a little header to every page containing the page number, the filename and the current date")
Add a little header to every page containing the page number, the filename and the current date

Dernière modification par Arbiel (Le 26/03/2015, à 20:18)


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#7 Le 27/03/2015, à 14:56

nany

Re : [Résolu] Traduction des libellés des lanceurs

Arbiel a écrit :

[…] J'imagine que ce chemin découle de variables d'environnement (que je n'ai pas identifiées).

J’avoue que ces histoires de chemins me dépassent un peu aussi. Ce que je crois comprendre, c’est que /usr/share/locale-langpack est le répertoire pour les paquets de base de la distribution et que, pour tous les paquets ajoutés, la variable d’environnement $TEXTDOMAINDIR (qui affiche chez moi /usr/share/locale) est utilisée.

[…] mais sans que la relation qui les relie n'apparaisse clairement.

Je ne sais pas quelles sont tes intentions mais si tu souhaites lire régulièrement les fichiers de traduction, tu peux installer virtaal qui te simplifiera la lecture.

[…]
et la traduction que j'ai tentée n'a pas fonctionné, peut-être parce que le texte que j'ai entré ne correspondait pas à un texte prévu, bien que je l'aie composé à partir de ce que j'ai vu dans le fichier
[…]

Il semble qu’il faille le texte complet à la virgule près (d’où l’intérêt de virtaal) pour que la correspondance soit trouvée :

nany@stupidcomputer:~$ echo $(gettext geany "Add a little header to every page containing the page number, the filename and the current date (see below). It takes 3 lines of the page.")
Ajoute un court en-tête à chaque page contenant le numéro de page, le nom du fichier et la date (voir ci-après). Cela prend 3 lignes par page.
nany@stupidcomputer:~$

wink

Hors ligne

#8 Le 27/03/2015, à 18:12

Arbiel

Re : [Résolu] Traduction des libellés des lanceurs

Bonsoir

Je te remercie de m'avoir indiqué l'existence de virtaal. Je n'avais initialement aucune autre intention particulière, mais le fait d'avoir pu comparer les textes français et anglais de gedit m'incite à envisager de m'en servir de temps en temps, lorsque le texte français est ambigu. Retrouver le texte original peut permettre de lever cette ambiguïté.

Arbiel

Dernière modification par Arbiel (Le 27/03/2015, à 18:15)


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne