LinuxVillage
		Projets et ressources (Fr) => Trucs et astuces => Discussion démarrée par: melodie le 23 avril 2015 à 03:14:34
		
			
			- 
				Bonjour,
 
 Un peu marre de re-re-rechercher la ligne de commande magique sur Internet à chaque fois que ça arrive. Et je ne sais pas scripter. Mais je sais imiter un script, apparemment ! C'est ce que je viens de faire, et en plus ça marche. (cool !)
 
 son nom est "get-key.sh", mais on peut le nommer oiseau ou poisson si on veut:
 #!/bin/sh
 
 unset KEYNUMBER
 
 echo "clé de signature ?"
 read KEY
 if [ -n "$KEY" ]; then
 KEYNUMBER="-${KEY}"
 fi
 
 sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com $KEY
 
 
 Résultat pour mon premier test:
 [melodie@bento64:~]$ ./get-key.sh 
 clé de signature ?
 92E8759D76F09DD6
 [sudo] password for melodie:
 Désolé, veuillez réessayer.
 [sudo] password for melodie:
 Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.8GtHBN76yb --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --recv-keys --keyserver keyserver.ubuntu.com 92E8759D76F09DD6
 gpg: demande de la clef 76F09DD6 sur le serveur hkp keyserver.ubuntu.com
 gpg: clef 76F09DD6 : clef publique « Launchpad PPA for Mateusz Łukasik » importée
 gpg: Quantité totale traitée : 1
 gpg:               importées : 1  (RSA: 1)
 [melodie@bento64:~]$
 
 \o/ !
 
 
- 
				Changelog : 
 des traductions pour le message
 renommage de get-key.sh en getkey.sh
 
 #!/bin/sh
 
 unset KEYNUMBER
 export TEXTDOMAIN=getkey.sh
 export TEXTDOMAINDIR="/usr/share/locale"
 
 echo $"Please provide the key signature you want to add?"
 read KEY
 if [ -n "$KEY" ]; then
 KEYNUMBER="-${KEY}"
 fi
 
 sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com $KEY
 
 Outil pour créer les fichiers pot et po, bashtrans.sh:
 #!/bin/bash
 #
 # Build for PCLinuxOS 2010
 # By Leiche (kellerleicheorig at aol.com)
 # Licence GPL
 # Generate pot, and *-language.po files, to translate bash scripts
 # Aug Sun 08 2010
 #
 Encoding=UTF-8
 #
 usage ()
 {
 echo "No File"
 exit 1 #exit script
 }
 #
 if [ $# -eq 0 ];
 then
 usage
 fi
 #
 SCRIPT="$1"
 #
 SAVE=$(zenity --file-selection --title "Bash-Script-Translator-Generator" --save)
 if [ "$SAVE" = "" ];then
 exit
 else
 LOCALE=$(cat /usr/share/i18n/locales/i18n |grep LC_CTYPE |tail -1 |cut -c 10-14)
 bash --dump-po-strings "$SCRIPT" | xgettext -L PO -o $SAVE.pot -
 xterm -e "msginit -l $LOCALE -i $SAVE.pot -o $SAVE-$LOCALE.po"
 fi
 exit
 
 J'ai adapté le chemin du fichier i18n qui est différent pour pclinuxos. J'ai tenté de remplacer "xterm" par une variable, mais je ne sais pas faire : contributions bienvenues.
 
 Enfin, le script bashtrans fonctionne mais de manière bizarre : il nécessite le fichier sujet en argument, puis ensuite la modale requière de sélectionner à nouveau le fichier. Encore là, les contributions sont bienvenues.
 
 Voici le fichier getkey-fr.pot obtenu:
 
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2015-04-25 15:33+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #: getkey.sh:7
 msgid "Please provide the key signature you want to add?"
 msgstr ""
 
 Il restera à vérifier que les .mo obtenus (les fichiers de traduction compilés) fonctionnent.
 
 PS: quelqu'un pour me rappeler ce qui diffère dans le résultat, selon qu'on emploie /bin/sh ou /bin/bash ?