« Auto-éditer un wikilivre/Annexer (Version internationalisée) » : différence entre les versions
m →install_annex.sh : Mise à jour des dates |
m →header.inc.sh : Mise à jour de la barre |
||
Ligne 115 : | Ligne 115 : | ||
=== header.inc.sh === |
=== header.inc.sh === |
||
{{Avancement| |
{{Avancement|95|barre 4}} {{vert|<sup>vβ 210519</sup>}} {{vert|vβ}} [[Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/header.inc.sh]]<br /> |
||
<span style="font-size:75%>{{orange|L'internationalisation des messages est à reprendre}}</span> |
<span style="font-size:75%>{{orange|L'internationalisation des messages est à reprendre}}</span> |
||
Version du 19 mai 2021 à 18:22
- Structure spéciale de cette page : Annexer_(Version_internationalisée)
- L'article est structuré pour faciliter les téléchargements des codes sans perte d'information, directement ou grâce aux programmes mis à disposition.
Les applications de téléchargement disposent leurs propres programmes d'installation.
Le but final est de générer les pages Annexe des livres de wikibooks.
Notez que la page Index des livres n'est possible qu'à l'aide de programmes spécialisés comme OpenOffice, LibreOffice, ou autres.
Généralités
- Structure simple des répertoires d'installation pour les tests, valable pour tous les systèmes d'exploitation
- Le répertoire racine de la version française est ~/Annexer
Il n'y a aucun sous répertoire, les fichiers exécutables (sans l'extension .sh y sont téléchargés. Les fichiers de projets d'annexes sont automatiquement créés par l'application comme dans l'exemple ~/Annexer/LivreTest. Le fichier d'installation INSTALLER.sh peut créer des sous répertoires comme tmp, src, ou ressources dans lesquels on peut trouver des fichiers pour démarrer.
- Installation rapide pour les tests
- Copier le code ci-dessous (ctrl-c) coller ce code dans un terminal (ctrl-shift-v). Ce code crée aussi le sous-répertoire src qui n'est pas indispensable mais est pratique pour l'installation.
cd; mkdir Annexer; mkdir Annexer/src
- Surligner les codes sources disponibles dans les sections suivantes,les copier et les enregistrer dans Annexer/src avec l'aide d'un éditeur de texte,
- Copier les fichiers obtenus dans src : header.inc.sh, annexer.sh, list.sh, download.sh, add_sclt.sh, add_sclic.sh, add_sclip.inc.sh, sclipco.sh, sclipw.sh.
- Ensuite, dans copier un terminal la ligne suivante (ctrl-shift + v):
cd; cd Annexer; cp src/*.sh .*; chmod 755 *
- Dans le répertoire Annexer se trouvent maintenant tous les fichiers exécutables que l'on peut tester successivement, pour terminer par annexer
- Essayer successivement : './header.inc', 'header.inc LivreTest' et examiner ce qui se passe dans le répertoire de travail Annexer et Annexer/LivreTest.
- Télécharger les codes LivreTest.compilé que l'on doit coller dans le répertoire LivreTest
- Essayer tous les modules : './list LivreTest', './download LivreTest', etc. et finir par './annexer LivreTest'
- Si tout va bien vous pourrez alors supprimer les répertoires et fichiers inutiles.
- Structure plus technique, des répertoires d'installation sous linux pour les mainteneurs
Répertoires de base pour l'installation internationalisée
- Le répertoire de travail pour créer les annexes : $Workdir doit être ~/Add_appendix
- Le répertoire de mise au point des modules et des tests : ~/Add_appendix/tests
- Les répertoires d'installation $Installdir peuvent être :
- traditionnel, pour tous les utilisateurs : /usr/local quand tout sera vérifié.
- par défaut, dans le répertoire personnel pour les essais : ~/Add_appendix'
Répertoires corollaires
- Les codes sources internationalisés se trouvent dans le répertoire $Installdir/src
- Répertoire des messages traduits : $Installdir/share/locale/en,es,fr/LC_MESSAGES/*.mo
- Fichiers de bases pour les traductions $Workdir/resources/lang/po/header.inc.pot et $Workdir/resources/lang/po//annex.pot.
- Remarques :
- Pour démarrer sous linux
- Copier le fichier de commandes ci-dessous :
- Surligner le code de install_annex.sh ci-dessous puis le mettre en mémoire avec les touches Ctrl + c.
- Ouvrir un éditeur des textes, y coller le code (Ctrl + v).
- Enregistrer ce code sous le nom intall_annex.sh dans votre répertoire d'utilisateur, ~/tmp par exemple.
- Ouvrir un terminal et modifier son mode d'exécution pour que ce code soit exécutable (chmod 755 intall_annex.sh)
- Exécuter ./intall_annex.sh qui créera la structure des répertoires dans ~/Add_appendix par défaut.
- Copier ce code dans le répertoire sbin existant, sous le nom re-insttall_annex.sh et le rendre exécutable.
- Supprimer ce code d'installation install_annex.sh du répertoire utilisateur.
- Lorsque l'on est assuré que tout fonctionne, on peut relancer la commande avec le paramètre /usr/local
On aura alors automatiquement accès aux manuels et aux langues étrangères.
~/annexer/sbin/install_annex.sh /usr/locaL.
- Attention: ces programmes d'installation sont encore cours d'essais le 28 mars 2021.
Ce programme est très complet pour assurer la maintenance
Modifier le script install_annex.sh
Description - Recommandations
- install_annex.sh is tested with test_install_annex.bash and Copy2Tmp.bash
- This script install Add_appendix or Annexer for single user or Add_appendix for all users
- Syntax to install and tests: The scripts to tests are all in user working tests directory
$HOME/Tmp/test_install_annex.bash
- Syntax to install directly:
$HOME/Tmp/install_annex.sh Add_appendix $HOME/Tmp/install_annex.sh Annexer $HOME/Tmp/install_annex.sh /usr/local
install_annex.sh
#! /bin/bash
#H File install_annex.sh in ~/tmp or re-install_annex.sh in /usr/local/sbin directory
#H Codage UTF-8 sans BOM
#H Syntax : ~/Add_appendix/sbin/install_annex.sh [Install directory | ? ]
#H The installation directory can be /usr/local or /usr or ~/Annexer or ~/Add_appendixby default
#P Creation date : 2020/06/10 by GC
#P Modification date : 2020/06/12 by GC
#P Modification date : 2021/05/19 by GC
#P Last test date : 2021/05/19 by GC
#P This program installs the directory structure for the annex program of wikibooks.
#P
#P . gettext for translation
#P . gettext.sh
#O Include function users_install_annex.sh
function users_install_annex ()
{
#T Tests
echo "First param : $1"
#O Create variables : Workdir, Bindir
if [ $1 = "Add_appendix" ]; then Workdir=~/Add_appendix; echo "Workdir = "$Workdir; fi
if [ $1 = "Annexer" ]; then Workdir=~/Annexer; echo "Workdir = "$Workdir; fi
if [ -d $Workdir ]; then echo " $Workdir is present."; else echo " $Workdir is not present, i create it."; mkdir $Workdir; fi
Bindir="$Installdir/bin"; echo "Bindir : "$Bindir
if test -d $Bindir
then echo " is ok."
else echo " not present, create it"; mkdir $Bindir
fi
#T Breakpoint exit 0
#O Create or recreate directory hierarchy
cd $Workdir
echo -n "The current directory to create $Workdir sub directories = "; pwd
mkdir bin books datas lib man lib/src resources sbin share src temp tests vars
cd $Workdir/tests
echo "$Workdir/tests is the current directory to create sub tests directories."; pwd
mkdir 00-install_annex 0-pre-annex.sh 1-annex.lib 2-annex.sh 3-header.inc.sh 4-list.sh 5-download.sh 6-add_sclt.sh
mkdir 7-scli.inc.sh 8-add_sclic.sh 9-add_sclipco.sh 10-add_sclipwb.sh 11-annexer.sh 12-add_appendix.sh
cd $Workdir/share
echo "$Workdir/share is the current directory to create sub share directories."; pwd
mkdir man doc doc/html
mkdir -p man man/{man1,fr,fr/man1,fr.UTF8,fr.UTF8/man1,es,es/man1}
mkdir -p locale locale/{en,en/LC_MESSAGES,fr,fr/LC_MESSAGES,es,es/LC_MESSAGES}
#T Breakpoint exit 0
#O If findbook.sh, ecfpb.sh, ecfpc.sh, exist in the lib/src directory, build the annex.lib file
if test -e $Workdir/lib/src/findbook.sh && test -e $Workdir/lib/src/ecfpb.sh && test -e $Wordir/lib/src/ecfpc
then
cat $Workdir/lib/src/findbook.sh | grep -v "#O\|#P\|#T" > $Workdir/lib/annex.lib
cat $Workdir/lib/src/ecfpb.sh | grep -v "#O\|#P\|#T" >> $Workdir/lib/annex.lib
cat $Workdir/lib/src/ecfpc.sh | grep -v "#O\|#P\|#T" >> $Workdir/lib/annex.lib
else echo "annex.lib is not builded or not updated in $Workdir/lib/annex.lib"
fi
#O If file annex.lib not exist in $Libdir and if file annex.lib.sh exist in $Libdir/src,
if test -z $Workdir/lib/annex.lib && test -e $Workdir/src/annex.lib.sh
then cat $Workdir/src/annex.lib.sh | grep -v "#O\|#P\|#T" > $Workdir/lib/annex.lib
fi
rm $Workdir/vars/installdir.var
echo "Installdir=$Installdir" > $Workdir/vars/installdir.var
echo "Workdir=$Workdir" >> $Workdir/vars/installdir.var
echo; echo "Content of file $Workdir/vars/installdir.var"
cat $Workdir/vars/installdir.var
if [ "$1" = "Annexer" ]
then
echo; echo "First param = $1"
echo; echo "Se connecter à l'url :"
echo "https://fr.wikibooks.org/wiki/Autoéditer_un_wikilivre/Annexer_(Version_internationalisée)#src.orig_en_français"
echo "Copier les pages de codes, les coller dans un éditeur de texte et les enregistrer dans les répertoires spécialisés"
echo "Les fichiers : "
echo " sources, dans le répertoire $1/src"
echo " de données dans $1/datas"
echo " de librairies, dans $1/lib"
echo " d'exécutables de maintenance, dans $1/sbin (chmod 755 * dans sbin)"
echo " de documentation dans $1/share/doc"
echo " de manuels dans $1/share/man"
echo "Utiliser cette version imprimable : "
echo " https://fr.wikibooks.org/wiki/Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/Version_imprimable"
echo " pour copier les codes bash"
echo; echo "Finalement ré-exécuter cette commande ~/Annexer/sbin/users_install_annex.sh"
fi
if [ "$1" = "Add_appendix" ]
then
echo; echo "First param = $1"
echo; echo "Login to url :"
echo "https://fr.wikibooks.org/wiki/Autoéditer_un_wikilivre/Annexer_(Version_internationalisée)#Codes_sources_(internationalized_source_code)"
echo "Copy code pages in memory, paste them in a text editor and save in the specialized directory"
echo "The files :"
echo " sources in the directory Add_appendix/src"
echo " datas in Add_appendix/datas"
echo " library in Add_appendix/lib"
echo " executable for maintenance, in Add_appendix/sbin (chmod 755 * in sbin)"
echo " documentation in Add_appendix/share/doc"
echo " manuals in Add_appendix/share/man"
echo "Use this printable version : "
echo " https://fr.wikibooks.org/wiki/Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/Version_imprimable"
echo " to copy the bash code"
echo; echo "Finaly reexecute this command ~/Add_appendix/sbin/users_install_annex.sh"
fi
echo
#O Initialize $Conversions variable
Datasdir=$Workdir/datas; echo "Datadir = $Datasdir"
Conversions=$Datasdir/conversions.dat; echo "Conversion file = $Conversions"
#O Create or recreate the conversions.dat file in datas directory
if test -e $Conversions
then echo "The $Conversions file is present and will not be updated"
else
{
echo "s/%24/\$/g;s/%21/\!/g;s/%25/%/g;s/%2B/+/g;s/%3C/\\\<\;/g;s/%3E/\>\;/g;" > $Conversions
echo "s/%5C/\\\/g;s/%B0/°/g" >> $Conversions
echo "s/%E0/à/g;s/%E2/â/g" >> $Conversions
echo "s/%E8/è/g;s/%E9/é/g;s/%EA/ê/g;s/%EB/ë/g" >> $Conversions
echo "s/%EE/î/g;s/%EF/ï/g" >> $Conversions
echo "s/%F4/ô/g" >> $Conversions
echo "s/%F9/ù/g;s/%FB/û/g" >> $Conversions
echo "s/%25/%/g;" >> $Conversions
echo "s/%28/(/g;s/%29/)/g;" >> $Conversions
echo "s/%2B/+/g;" >> $Conversions
echo "s/%3A/:/g;" >> $Conversions
echo "s/%3D/=/g;" >> $Conversions
echo "s/%5B/[/g;" >> $Conversions
echo "s/%5D/]/g" >> $Conversions
echo "s/%3B/;/g;s/%2F/\//g;s/%27/'/g" >> $Conversions
echo 's/%22/"/g' >> $Conversions
echo "s/%C3%A7/ç/g;s/%E7/ç/g" >> $Conversions
echo "s/%C3%A0/à/g;s/%C3%A2/â/g" >> $Conversions
echo "s/%C3%A9/é/g;s/%C3%A8/è/g;s/%C3%AA/ê/g" >> $Conversions
echo "s/%C3%AE/î/g;s/%C3%AF/ï/g" >> $Conversions
echo "s/%C3%B4/ô/g" >> $Conversions
echo "s/%C3%B9/ù/g;s/%C3%BB/û/g" >> $Conversions
echo "s/%C2%B7/-/g;s/%C2%AB/«/g;s/%C2%BB/»/g" >> $Conversions
}
fi
echo "----"
#O Initialize $Content_cleaner variable
Content_cleaner=$Datasdir/content_cleaner.dat
echo "Content_cleaner = $Content_cleaner"
#O If not exist create the content_cleaner.dat in datas directory
if test -e $Content_cleaner
then echo "The $Content_cleaner file is present and will not be updated"
else
{
echo "s/: \[/\[/g;s/:\[/\[/g" > $Content_cleaner
echo "s/# \[/[/g;s/#\[/\[/g" >> $Content_cleaner
echo "s/* \[/[/g;s/*\[/\[/g" >> $Content_cleaner
echo "s/; /;/g" >> $Content_cleaner
}
fi
echo "----"
#O Initialize $Unrecognized_links variable
Unrecognized_links=$Datasdir/unrecognized_links.dat
echo "Unrecognized_links = $Unrecognized_links"
#O If not exist, create the file Unrecognized_links.dat
#O If not exist create the content_cleaner.dat in datas directory
if test -e $Unrecognized_links
then echo "The $Unrecognized_links file is present and will not be updated"
else
{
echo "fr.wikibooks.org: unrecognized_link.dat ignore les liens non contenus dans les pages Résumé ou Sommaire"
echo "title" > $Unrecognized_links
echo "Spécial" >> $Unrecognized_links
echo "Accueil" >> $Unrecognized_links
echo "Vitrine" >> $Unrecognized_links
echo "Tous_les_livres" >> $Unrecognized_links
echo "Rechercher_un_livre" >> $Unrecognized_links
echo "Wikijunior" >> $Unrecognized_links
echo "Portail_communautaire" >> $Unrecognized_links
echo "Le_Bistro" >> $Unrecognized_links
echo "Special:" >> $Unrecognized_links
echo "Aide:Accueil" >> $Unrecognized_links
echo "propos_de" >> $Unrecognized_links
echo "https://fr.wikibooks.org/wiki/Wikilivres" >> $Unrecognized_links
echo "Wikilivres:" >> $Unrecognized_links
echo "Catégorie:" >> $Unrecognized_links
echo "en.wikibooks.org: unrecognized_link.dat ignore the uncontained Links in the Summary or Contents pages"
echo "Main_Page" >> $Unrecognized_links
echo "Help:Contents" >> $Unrecognized_links
echo "Card_Catalog_Office" >> $Unrecognized_links
echo "Cookbook:Table_of_Contents" >> $Unrecognized_links
echo "Featured_books" >> $Unrecognized_links
echo "Using_Wikibooks" >> $Unrecognized_links
echo "Reading_room" >> $Unrecognized_links
echo "Community_Portal" >> $Unrecognized_links
echo "Reading_room/Bulletin_Board" >> $Unrecognized_links
echo "Maintenance" >> $Unrecognized_links
echo "Policies_and_guidelines" >> $Unrecognized_links
echo "Contact_us" >> $Unrecognized_links
echo "Welcome" >> $Unrecognized_links
echo "General_disclaimer" >> $Unrecognized_links
echo "Category:" >> $Unrecognized_links
}
fi
echo "----"
#O Write README in bin directory
#T echo "param 1 = $1"
if [ "$1" = "Add_appendix" ]
then
echo "*** Write bin/README file "
echo "README to use bin directory" > $Workdir/bin/README
echo "This directory is reserved for commands without a '.sh' file suffix." >> $Workdir/bin/README
echo "Commands without '.sh' are stripped of comments. They come from the" >> $Workdir/bin/README
echo " 'src' directory or from the 'tests' subdirectories." >> $Workdir/bin/README
echo "Executables commands with '.sh', '.x' or .exe suffix are commands for" >> $Workdir/bin/README
echo " maintainers in 'sbin' directory" >> $Workdir/bin/README
echo "*** Write README in Add_appendix"
echo "README file in Add_apperdix" > $Workdir/README
echo "Type ~/Add_appendix/bin/annex to launch the application" >> $Workdir/README
fi
if [ "$1" = "Annexer" ]
then
echo "*** écriture du fichier bin/LISEZ-MOI"
echo "LISEZ-MOI pour l'utilisation du répertoire 'bin'" > $Workdir/bin/LISEZ-MOI
echo "Ce répertoire est réservé aux commandes shell sans l'extension '.sh'." >> $Workdir/bin/LISEZ-MOI
echo "Les commandes sans '.sh' proviennent du répertoire 'src' ou des sous-répertoires" >> $Workdir/bin/LISEZ-MOI
echo " des 'tests', dépouillées des commentaires." >> $Workdir/bin/README
echo "Les exécutables avec l'extension 'sh', '.x' ou .exe sont des commandes" >> $Workdir/bin/LISEZ-MOI
echo " pour les mainteneurs dans le répertoire'sbin'" >> $Workdir/bin/LISEZ-MOI
echo "*** écriture du fichier LISEZ-MOI dans Annexer"
echo "Fichier LISEZ-MOI dans Annexer" > $Workdir/LISEZ-MOI
echo "Taper ~/Annexer/bin/annex pour lancer l'application" >> $Workdir/LISEZ-MOI
fi
#O When you run this script again, the message translation .pot files will be updated.
if test -e $Installdir/bin/header.inc; then
xgettext -L shell -o $Installdir/share/locale/header.inc.pot --from-code=UTF-8 $Installdir/bin/header.inc; fi
if test -e $Installdir/bin/annex; then
xgettext -L shell -o $Installdir/share/locale/annex.pot --from-code=UTF-8 $Installdir/bin/annex; fi
echo "-----"
echo -e "\033[1;33mYou find Pot-files in $Workdir/share/locale for translations with 'Poedit':\033[0m"
ls -R $Workdir/share/locale
echo -e "\033[1;33mWhen you run this script again, the message translation .pot files will be updated.\033[0m"
#O Copy this program to $Workdir/sbin
cp -Pu $0 $Workdir/sbin/users_install_annex.sh
#O Create the documentation of this program
if test -e $Workdir/sbin/users_install_annex.sh; then cat $Workdir/sbin/users_install_annex.sh | grep -e "#D" | grep -v "if test" | sed 's/#D//g' > $Workdir/share/doc/users_install_annex.sh.doc; fi
#O Clean tmpfiles
if test -d ~/tmp; then rm -r ~/tmp; fi
#O End of function users_install_annex
}
#######################################################
#O clean screen
clear;
#O Version
VERSION=210919
if [ "$1" = "--v" ]; then echo "Version of install_annex.sh $VERSION"; exit 0; fi
#O If the first parameter '$1' is empty or '?' print syntax.
if [ "$1" = "?" ]; then echo "Syntax for install_annex.sh: $0 [ <Install-directory> | ? | --v ]"; exit 0; fi
if [ -z $1 ];
then
echo "Syntax ~/Tmp/install_annex.sh [ --v | ? | Add_appendix | Annexer | /usr/local ]"; exit 0
fi
#P Do not use sudo
if [ $USER = "root" ]; then echo "USER = $USER"; echo "Do not use 'sudo' please."; exit -1; fi
#O Go to home directory and print the current directory.
cd ~
echo""; echo -n "current directory = "; pwd; echo ""
#O If the first parameter is not empty
if [ $1 ];
then
if [ $1 = "/usr/local" ]; then Installdir=$1; echo "Installdir = /usr/local"
elif [ $1 = "Annexer" ]; then Installdir=~/Annexer; echo "Installdir = $Installdir"
elif [ $1 = "Add_appendix" ]; then Installdir=~/Add_appendix; echo "Installdir = $Installdir"
fi
fi
if [ $1 = "Annexer" ] || [ $1 = "Add_appendix" ]; then users_install-annex $1; exit 0; fi
if [ $1 = "/usr/local" ]
then
if test -d /usr/local/src/Add_appendix
then echo "/usr/local/src/Add_appendix is present"
else echo "/usr/local/src/Add_appendix is not found, create it."; sudo mkdir /usr/local/src/Add_appendix
fi
#O Create variables
Workdir=~/Add_appendix
Booksdir=$Workdir/books
Testsdir=$Workdir/tests
Varsdir=$Workdir/vars
Installdir=/usr/local
Bindir=$Installdir/bin
Includedir=$Installdir/include
Libdir=$Installdir/lib
Mandir=$Installdir/man
Sbindir=$Installdir/sbin
Sharedir=$Installdir/share
Srcdir=$Installdir/src/Add_appendix
#P Extra directories added
Datasdir=$Installdir/datas
Resourcesdir=$Workdir/resources
#O Print variables
echo "Workdir=$Workdir"
echo "Booksdir=$Booksdir"
echo "Testsdir=$Testsdir"
echo "Varsdir=$Varsdir"
echo "Installdir=$Installdir"
echo "Bindir=$Bindir"
echo "Includedir=$Includedir"
echo "Libdir=$Libdir"
echo "Mandir=$Mandir"
echo "Sbindir=$Sbindir"
echo "Sharedir=$Sharedir"
echo "Srcdir=$Srcdir"
echo "Extra directory Datadir=$Datasdir"
echo "Extra directory Resourcesdir=$Resourcesdir"
#O Directives
echo "Copy or update all sources .sh files in $Srcdir with root privilege."
fi
#T Test break exit 0
########################################"
#O Create or recreate directories
mkdir -p $Varsdir $Booksdir $Resourcesdir $Resourcesdir/{lang,lang/po,lang/po/fr,lang/po/es,lang/man,man,man/en,man/es,man/fr}
sudo mkdir -p $Datasdir
#O If findbook.sh, ecfpb.sh, ecfpc.sh, exist in the lib/src directory, build the annex.lib file
mkdir $Workdir/lib
if test -e $Srcdir/findbook.sh
then sudo cat $Srcdir/findbook.sh | grep -v "#O\|#P\|#T" > $Workdir/lib/annex.lib
sudo cp $Workdir/lib/annex.lib $Libdir/annex.lib
else echo "findbook in annex.lib is not builded or not updated in $Libdir/annex.lib"
fi
rm -rf $Workdir/lib
# if test -e $Srcdir/ecfpb.sh; then cat $Srcdir/ecfpb.sh | grep -v "#O\|#P\|#T" >> $Libdir/annex.lib; fi
# if test -e $Srcdir/ecfpc.sh; then cat $Srcdir/ecfpc.sh | grep -v "#O\|#P\|#T" >> $Libdir/annex.lib; fi
#O If they exist: install_datasfiles.sh in the lib/src directory,
#O then build this file and move to $Datasdir
if test -e $Srcdir/install_datasfiles.sh
then
mkdir $Workdir/datas
cp $Srcdir/install_datasfiles.sh $Workdir/datas/.; chmod 755 $Workdir/datas/install_datasfiles.sh
$Workdir/datas/install_datasfiles.sh
sudo cp -Rf $Workdir/datas/*.dat /usr/local/datas/.
else echo "install_datasfiles.sh not found in $Srcdir (datas files not updated in $Datasdir)"
fi
rm -r $Workdir/datas
#O Verify the content of datas dir
if test -e $Datasdir/content_cleaner.dat; then echo "$Datasdir/content_cleaner.dat is found"; else echo "$Datasdir/content_cleaner.dat not found"; fi
if test -e $Datasdir/conversions.dat; then echo "$Datasdir/conversions.dat is found"; esle echo "$Datasdir/conversions.dat is not found"; fi
if test -e $Datasdir/unrecognized_links; then echo "$Datasdir/unrecognized_links is found"; else echo "$Datasdir/unrecognized_links is not found"; fi
#O Install cp-src2bin.shx, install_annex.shx, users_install_annex.shx, makeman_annex.shx, docu2html.shx
mkdir $Workdir/sbin
if test -e $Srcdir/cp-src2bin.sh; then cp $Srcdir/cp-src2bin.sh $Workdir/sbin/.; shc -r -v -f $Workdir/sbin/cp-src2bin.sh -o $Workdir/sbin/cp-src2bin.x; else echo "$Srcdir/cp-src2bin.sh not found"; fi
if test -e $Workdir/sbin/cp-src2bin.x; then sudo cp $Workdir/sbin/cp-src2bin.x /usr/local/sbin/; fi
if test -e $Srcdir/install_annex.sh; then cp $Srcdir/install_annex.sh $Workdir/sbin/.; shc -r -v -f $Workdir/sbin/install_annex.sh -o $Workdir/sbin/install_annex.x; else echo "$Srcdir/install_annex.sh not found"; fi
if test -e $Workdir/sbin/install_annex.x; then sudo cp $Workdir/sbin/install_annex.x /usr/local/sbin/; fi
if test -e $Srcdir/users_install_annex.sh; then cp $Srcdir/users_install_annex.sh $Workdir/sbin/.; shc -r -v -f $Workdir/sbin/users_install_annex.sh -o $Workdir/sbin/users_install_annex.x; else echo "$Srcdir/users_install_annex.sh not found"; fi
if test -e $Workdir/sbin/users_install_annex.x; then sudo cp $Workdir/sbin/users_install_annex.x /usr/local/sbin/; fi
if test -e $Srcdir/makeman_annex.sh; then cp $Srcdir/makeman_annex.sh $Workdir/sbin/.; shc -r -v -f $Workdir/sbin/users_install_annex.sh -o $Workdir/sbin/users_install_annex.x; else echo "$Srcdir/makeman_annex.sh not found"; fi
if test -e $Workdir/sbin/users_install_annex.x; then sudo cp $Workdir/sbin/users_install_annex.x /usr/local/sbin/; fi
if test -e $Srcdir/docu2html.sh; then cp $Srcdir/docu2html.sh $Workdir/sbin/.; shc -r -v -f $Workdir/sbin/docu2html.sh -o $Workdir/sbin/docu2html.x; else echo "$Srcdir/docu2html.sh not foud"; fi
if test -e $Workdir/sbin/docu2html.x; then sudo cp $Workdir/sbin/docu2html.x /usr/local/sbin/; fi
if test -e $Srcdir/install_datasfiles.sh; then cp $Srcdir/install_datasfiles.sh $Workdir/sbin/.; shc -r -v -f $Workdir/sbin/install_datasfiles.sh -o $Workdir/sbin/install_datasfiles.x; else echo "$Srcdir/install_datasfiles.sh not foud"; fi
if test -e $Workdir/sbin/install_datasfiles.x; then sudo cp $Workdir/sbin/install_datasfiles.x /usr/local/sbin/; fi
# rm -rf $Workdir/sbin
exit 0
#O Create function cpcleaned2bin
function cpcleaned2bin
{
#O Cleaner
mkdir -p $Workdir/tmp
sudo cat $Srcdir/$1.sh | grep -v "#O\|#P\|#T" | sed "s/eval_gettext /echo \$/g" | sed "s/; echo//g" \
| sed "s/\"\$(gettext '/\$\"/g" | sed "s/' )//g" | sed "s/')//g" > $Workdir/tmp/$1
sudo cp $Workdir/tmp/$1 $Bindir/$1
if echo $Bindir/$1 | grep ".inc"; then sudo chmod 644 $Bindir/$1; else sudo chmod 755 $Bindir/$1; fi
#O Create new .pot file
xgettext -L shell -o $Resourcesdir/lang/po/$1.pot --from-code=UTF-8 $Bindir/$1
#O Create or update fr .po files
if test -z $Resourcesdir/lang/po/fr/$1.po
then cp $Resourcesdir/lang/po/$1.pot $Resourcesdir/lang/po/fr/$1.po
else msgmerge --update $Resourcesdir/lang/po/fr/$1.po $Resourcesdir/lang/po/$1.pot
fi
#O Create or update fr .mo files in resources directory
msgfmt $Resourcesdir/lang/po/fr/$1.po -o $Resourcesdir/lang/po/fr/$1.mo
echo -e "\033[1;33m### Only if you are edit and update $1.po with Poedit: ###\033[0m"
echo "copy $Resourcesdir/lang/po/fr/$1.mo to /usr/share/locale/fr/LC_MESSAGES/$1.mo"
#O Create or update es .po files
if test -z $Resourcesdir/lang/po/es/$1.po
then cp $Resourcesdir/lang/po/$1.pot $Resourcesdir/lang/po/es/$1.po
else msgmerge --update $Resourcesdir/lang/po/es/$1.po $Resourcesdir/lang/po/$1.pot
fi
#O Create or update fr .mo files in resources directory
msgfmt $Resourcesdir/lang/po/es/$1.po -o $Resourcesdir/lang/po/es/$1.mo
echo -e "\033[1;33m### Only if you are edit and update $1.po with Poedit: ###\033[0m"
echo "copy $Resourcesdir/lang/po/es/$1.mo to /usr/share/locale/es/LC_MESSAGES/$1.mo"
}
#O Clean program sources files and add .pot files
# add_sclic
if [ -e $Srcdir/add_sclic.sh ]; then cpcleaned2bin add_sclic; else echo "$Srcdir/add_sclic.sh not found"; fi
# add_sclipco
if [ -e $Srcdir/add_sclipco.sh ]; then cpcleaned2bin add_sclipco; else echo "$Srcdir/add_sclipco.sh not found"; fi
# add_sclipwb
if [ -e $Srcdir/add_sclipwb.sh ]; then cpcleaned2bin add_sclipwb; else echo "$Srcdir/add_sclipwb.sh not found"; fi
# add_sclt
if [ -e $Srcdir/add_sclt.sh ]; then cpcleaned2bin add_sclt; else echo "$Srcdir/add_sclt.sh not found"; fi
# annex
if [ -e $Srcdir/annex.sh ]; then cpcleaned2bin annex; else echo "$Srcdir/annex.sh not found"; fi
# download
if [ -e $Srcdir/download.sh ]; then cpcleaned2bin download; else echo "$Srcdir/download.sh not found"; fi
# en_sclic.inc
if [ -e $Srcdir/en_sclic.inc.sh ]; then cpcleaned2bin en_sclic.inc; else echo "$Srcdir/en_sclic.inc.sh not found"; fi
# en_sclipco.inc
if [ -e $Srcdir/en_sclipco.inc.sh ]; then cpcleaned2bin en_sclipco.inc; else echo "$Srcdir/en_sclipco.inc.sh not found"; fi
# en_sclipwb.inc
if [ -e $Srcdir/en_sclipwb.inc.sh ]; then cpcleaned2bin en_sclipwb.inc; else echo "$Srcdir/en_sclipwb.inc.sh not found"; fi
# en_sclt.inc
if [ -e $Srcdir/en_sclt.inc.sh ]; then cpcleaned2bin en_sclt.inc; else echo "$Srcdir/en_sclt.inc.sh not found"; fi
# fr_sclic.inc
if [ -e $Srcdir/fr_sclic.inc.sh ]; then cpcleaned2bin fr_sclic.inc; else echo "$Srcdir/fr_sclic.inc.sh not found"; fi
# fr_sclipco.inc
if [ -e $Srcdir/fr_sclipco.inc.sh ]; then cpcleaned2bin fr_sclipco.inc; else echo "$Srcdir/fr_sclipco.inc.sh not found"; fi
# fr_sclipwb.inc
if [ -e $Srcdir/fr_sclipwb.inc.sh ]; then cpcleaned2bin fr_sclipwb.inc; else echo "$Srcdir/fr_sclipwb.inc.sh not found"; fi
# fr_sclt.inc
if [ -e $Srcdir/fr_sclt.inc.sh ]; then cpcleaned2bin fr_sclt.inc; else echo "$Srcdir/fr_sclt.inc.sh not found"; fi
# header.inc
if [ -e $Srcdir/header.inc.sh ]; then cpcleaned2bin header.inc; else echo "$Srcdir/header.inc.sh not found"; fi
# list
if [ -e $Srcdir/list.sh ]; then cpcleaned2bin list; else echo "$Srcdir/list.sh not found"; fi
# pre-annex
if [ -e $Srcdir/pre-annex.sh ]; then cpcleaned2bin pre-annex; else echo "$Srcdir/pre-annex.sh not found"; fi
# scli.inc
if [ -e $Srcdir/scli.inc.sh ]; then cpcleaned2bin scli.inc; else echo "$Srcdir/scli.inc.sh not found"; fi
#O List the Installdir/src directory and recreate the tmp/shell_files.prj
#P if test -e ~/tmp; then rm -r ~/tmp; fi
#P mkdir ~/tmp
#P ls $Srcdir/*.sh > ~/tmp/shell_files.prj
#T Breakpoint exit 0
#O While line read in shell_files.prj
#P while read line
#P do
#O Read $line, delete comments, write the result in Testdir directory for the Units Tests.
#P echo $line | awk -F "/" '{print $NF}' > ~/tmp/tmpfile.txt
#P read file < ~/tmp/tmpfile.txt
#T echo " file = "$file
#P mkdir $Testdir/$file
#P cp $Srcdir/$file $Testdir/$file/$file; chmod 755 $Testdir/$file/$file
#P done < ./tmp/shell_files.prj
#O Clean tmpfile
#P rm ~/tmp/tmpfile.txt
#P rm -r ~/tmp
#O Message of the tasks to be accomplished.
echo "-----"
echo "Tasks to be accomplished :"
echo "Modify these files as functions"
echo "Integrate functions in the librairie $Libdir/annex.lib"
echo "Copy include files in $Includedir"
# echo "Copy $Srcdir/install_annex.sh in $Sbindir"
echo "See also users_install_annex.sh, best command for user"
#O Put install dirs to /vars/installdir.var
rm $Workdir/vars/installdir.var
echo "Installdir=$Installdir" > $Varsdir/installdir.var
echo "Workdir=$Workdir" >> $Varsdir/installdir.var
echo "Booksdir=$Booksdir" >> $Varsdir/installdir.var
echo "Testsdir=$Testsdir" >> $Varsdir/installdir.var
echo "Varsdir=$Varsdir" >> $Varsdir/installdir.var
echo "Bindir=$Bindir" >> $Varsdir/installdir.var
echo "Includedir=$Includedir" >> $Varsdir/installdir.var
echo "Libdir=$Libdir" >> $Varsdir/installdir.var
echo "Mandir=$Mandir" >> $Varsdir/installdir.var
echo "Sbindir=$Sbindir" >> $Varsdir/installdir.var
echo "Sharedir=$Sharedir" >> $Varsdir/installdir.var
echo "Srcdir=$Srcdir" >> $Varsdir/installdir.var
echo "Extra directory Datadir=$Datasdir" >> $Varsdir/installdir.var
echo "Extra directory Resourcesdir=$Resourcesdir" >> $Varsdir/installdir.var
echo; echo "Content of file $Varsdir/installdir.var"
cat $Varsdir/installdir.var
#O Clean tmpfiles
if test -d ~/tmp; then rm -r ~/tmp; fi
if test -d $Workdir/tmp; then rm -r $Workdir/tmp; fi
#O End 'install_annex.sh'
test_install_annex.bash
#!/bin/bash
#P File : test_install_annex.bash
#H Usage : ~/Tmp/test_install_annex.bash [ --v | ? | Annexer | Add_appendix ]
#H
#P Creation date : 2021/07/27 by GC
#P Update and tests : 2021/07/27 by GC
#P
#D This Documentation is included in source file
#H Header of file included in source file
#O Organigram of program included in source file
#P Comments for programmers included in source file
#S Structure comments of program included in source file
#w Warnings comments in program included in source file
#O clean screen
clear
# Copy files to Tmp directory
./Copy2Tmp.bash
#O Version
unset $VERSION
VERSION=210917
if [ "$1" = "--v" ]; then echo "Version of test_install_annex.bash "$VERSION; exit 0; fi
#O If the first parameter '$1' is '?' print syntax.
if [ "$1" = "?" ]
then
echo "$HOME/Tmp/test_install_annex.bash [ --v | ? | Annexer | Add_appendix | /urs/local ]"; exit 0
fi
#O If the first parameter '$1' is empty print syntax.
#T echo "param 0 = $0; param 1 = $1" exit 0
if [ "$0" != "$HOME/Tmp/test_install_annex.bash" ] || [ -z $1 ]
then
echo "Copy test_install_annex.bash in ~/Tmp directory"
echo "Syntax $HOME/Tmp/test_install_annex.bash [ --v | ? | Add_appendix | Annexer | /usr/local ]"
fi
#T Test break exit 0
#O Test whishout firstparam
echo "Test whishout firstparam"
$HOME/Tmp/install_annex.sh
sleep 3
#O Test --v
echo "Test VERSION with '--v'"
$HOME/Tmp/install_annex.sh --v
sleep 3
#O Test ?
echo "Test syntax with '?'"
$HOME/Tmp/install_annex.sh ?
sleep 4
#O Choose Annexer or Add_appendix
echo -n "Choose Annexer inkey '1' or Add_appendix inkey '2' or /usr/local inkey '3': "
read Inkey
if [ "$Inkey" == "1" ]
then
#O Test Annexer
$HOME/Tmp/install_annex.sh Annexer
echo "Contenu du répertoire Annexer :"
ls -al ~/Annexer
echo "Contenu des sous-répertoires"
ls -al ~/Annexer/datas ~/Annexer/lib ~/Annexer/lib/src ~/Annexer/sbin ~/Annexer/share/doc ~/Annexer/vars
exit 0
elif [ "$Inkey" == "2" ]
then
#O Test Add_appendix
$HOME/Tmp/install_annex.sh Add_appendix
echo "Add_appendix directory :"
ls -al ~/Add_appendix
echo "Contents of sub-directories :"
ls -al ~/Add_appendix/datas ~/Add_appendix/lib ~/Add_appendix/lib/src ~/Add_appendix/sbin ~/Add_appendix/share/doc ~/Add_appendix/vars
exit 0
elif [ "$Inkey" == "3" ]
then
#O Test /usr/local
$HOME/Tmp/install_annex.sh /usr/local
ls -al ~/Add_appendix ~/Add_appendix/vars ~/Add_appendix/resources
echo; echo "Contents of /usr/local sub-directories :"
ls -al /usr/local/src/Add_appendix /usr/local/datas /usr/local/lib /usr/local/sbin
exit 0
#O Else print syntax
else $HOME/Tmp/install_annex.bash ?
fi
#O End test_install_annex.bash
Copy2Tmp.bash
#!/bin/bash
#H File Copy2Tmp.bash in $Workdir/tests/00-install_annex directory
VERSION=210818
cp -u test_users_install_annex.bash ~/Tmp/.; chmod 766 ~/Tmp/test_users_install_annex.bash
cp -u users_install_annex.sh ~/Tmp/.; chmod 766 ~/Tmp/users_install_annex.sh
cp -u users_install_annex.sh.x ~/Tmp/.
#
cp -u test_install_annex.bash ~/Tmp/.; chmod 766 ~/Tmp/test_install_annex.bash
cp -u install_annex.sh ~/Tmp/.; chmod 766 ~/Tmp/install_annex.sh
#P End of file Copy2Tmp.bash
- L'exécutable cp-src2bin.sh vient en complément de la création de la structure des répertoires par le fichier de commandes install_annex.sh
la commande install_annex.sh ou re-install_annex.sh doit ensuit être ré-exécutée pour créer les fichier de traductions .pot
Modifier le script cp-src2bin.sh
Compil2bin.sh
- Attention this script is common for lib, sbin, and src for Add_appendix software
- this script is used in package addappendix-O~210927
#!/bin/bash
#H Header of compil2bin.sh
#H ------------------------
#H File : compil2bin.sh product compiled files in bindir and doumentation,
#H : pot files and more. See cpcleadned2bin.sh in lib directory
#H Syntax : compil2bin [--v|srcdir] [bindir|sbindir|libdir] [list-of-files.sh] [--t]
#H OPTIONS : --v, print version of compil2bin in test mode
#H : --t, clear screen and print parameters: version, srcdir, bindir, third parameter is present in test mode
#H : srcdir bindir, is source .sh shell directory, bindir is bin directory to receive compiled files
#H : list-of-files.sh, is the list of files in srcdir to convert for bin directory
#H
VERSION=211113
pwd > pwd.txt
read Currentdir<pwd.txt
cat pwd.txt | cut -d "/" -f4 > workname.txt
read Workname<workname.txt
#T echo -n "Working name directory= $Workname"
if [ $Workname = "Annexer" ] || [ $Workname = "Add_appendix" ]
then echo -n "" #T echo " is found";
else echo " Currentdir is not a working name directory"; exit -1
fi
rm workname.txt pwd.txt
Workdir=~/$Workname
Libdir=$Workdir/lib
source $Workdir/vars/installdir.var
#T echo "Install directory : $Installdir"
#T echo "Working dir : $Workdir"
#T echo "Sources = $1 ; Bin is : $2"; exit 0
#O Si le premier paramètre est vide afficher la syntaxe
if test -z "$1"
then
echo "Syntax : compil2bin [--v|srcdir] [bindir|sbindir|libdir] [list-of-shell-files] [--t]"
exit -1
fi
#O Afficher la version si le premier argument est --v
if [ "$1" = "--v" ]; then echo "compil2bin : VERSION $VERSION"; exit 0; fi
#O If file-list is empty create file_list from SRC
#if test -z $3; then ls -1 $1 > file-list; fi
#O Afficher les paramètres si
N=$#
if [ "$N" = "--t" ]
then
clear screen
echo "compil2bin version $VERSION"
echo "Directories: "
echo "SRC=$1, BIN=$2"
if test -e $3; then echo "file list is not empty, see forward."; fi
exit 0
fi
#O if [ "$1" = "compil2bin.sh" ]; then echo "cannot self extracting compil2bin.sh"; exit -1; fi
#O Affect Srcdir variable (#P if then else détaillé à cause des pertes d'information. éviter les ';')
if test -d $1
then
echo "Sources directory is found: $1"
Srcdir=$1
else
echo "Sources directory is not found"
exit -1
fi
#O Affect Bindir variable
if test -d $2
then
echo "Bin directory is found: $2"
Bindir=$2
else
echo "Bin directory is not found"
exit -1
fi
#O Affect Resourcesdir variable
if test -d "$Workdir/share/addappendix/resources"
then
Resourcesdir="$Workdir/share/addappendix/resources"
echo "Variable Resources is found $Resourcesdir"
fi
#O Indicate the number of pameters
echo "Number of parameter : $#"
#T exit 0
#P include $Libdir/annex.lib to access at cpcleaned2bin function
source $Libdir/annex.lib
#O If the commandline hat only two parameters then compile all lines
if [ "$N" = "2" ]
then
Pwd=$PWD; cd $1; ls -1 *.sh > $Pwd/list.txt; cd $Pwd
while read line
do
echo "Line of list.txt: $line"
cpcleaned2bin $line
done < $Pwd/list.txt
#O Else create loop to ...for i in `seq 1 $#`
else
for i in "$@"
do
if test $i != $1 && test $i != $2
then
echo "$i"
cpcleaned2bin $i
fi
done
fi
exit 0
#D
#D Documentation for compil2bin shell file
#D ----------------------------------------
#D Compil2bin is used in package to product addappendix-<version>.deb and
#D to copy sources files to bin directories.
#D
#D Makefile syntax: compil2bin SRC-OPTIONS BIN-OPTIONS <file-list>
#D SRC-OPTIONS: [ $(SRCS) | $(SBINS) | $(SLIBS) ]
#D BIN-OPTIONS: [ $(BIN) | $(SBIN) | $(LIB) ]
#D <file-list> are shell files list to compil from SRC directory
#D
#D Shell syntax: compil2bin [--v|srcdir] [bindir|sbindir|libdir] [list-of-shell-files] [--t]
#D
#D Examples: with file-list: users_install_annex.sh and install_annex.sh in SRC.
#D compil2bin srcdir bindir
#D or: compil2bin srcdir bindir $Parameters
#D $Parameters is variable content the list of files with .sh extensions
#D
#D The compilation consists of eliminating the tags of Documentation, Manual,
#D Organization-charts, Programmers-doc Tests-doc and producing .pot .po files
#D with cpcleaned2bin function, for the translations, can also update .mo files.
#D
#P Note: The manuals must be extracted with the command grep -v "#M ".
#P There must always be a space between #M and the text to extract.
#M .\ Manual man1 extraction: cat compil2bin.sh | grep "#M " | sed "s/#M //g" | grep -v "#P" > compil2bin_en.1
#M .\ This manual is included in compil2bin.sh source file
#M .\"Replace <program> with the program name, x with the Section Number
#M .TH compil2bin 1 "5 nov 2021" "compil2bin(1)" "Linux User's Manual"
#M .SH NAME
#M compi2bin \- compilation program consists of eliminating the tags of Documentation, Manual, Organization-charts, Programmers-doc Tests-doc and producing .pot .po files for the translations, can also update .mo files.
#M .SH SYNOPSIS
#M .B compil2bin
#M .RI $(SRC)\ [$(BIN)|$(SBIN)|$(LIB)]\ [files-list]\ in\ Makefile
#M .br
#M .B compil2bin
#M .RI [--v|srcdir]\ [bindir|sbindir|libdir]\ [files-list]\ [--t]
#M .br
#M in\ Add-appendix\ software
#M .br
#M .SH DESCRIPTION
#M This manual page explains the \fBcompil2bin\fP program. The \fBcompil2bin\fP program is included in Makefile to install sources files in binary directories such as bin lib sbin and product .pot .po .mo files to lang resources directories. If you are edit and saved po files you can copy .mo files to /usr/share/locale/lang/LC_MESSAGES/.
#M .SH OPTIONS
#M .IP \fB\-\ [--v]\fP
#M Print the compil2bin version
#M .IP \fB\-\ $(SRC)\ and\ srcdir\fP
#M This variable is used in makefile example: SRC=/usr/local/src or srcdir=$Workdir/src\ in \fBAdd_appendix\fP software
#M .IP \fB\-\ [$(BIN)|$(SBIN)|$(LIB)]\ and\ [bindir|sbindir|libdir]\fP
#M This variables are used in makefile example: SBIN=/usr/local/sbin or bindir=$Bindir sbindir=$Sbindir libdir=$Libdir in \fBAdd_appendix\fP software
#M .IP \fB\-\ [file-list]\fP
#M This arguments list are list of files to convert and install to $(BIN) or $(SBIN) or $(LIB)
#M .IP \fB\-\ [--t]\fP
#M Print the compil2bin variables in current command execution
#M .br
#M .SH EXAMPLES
#M .B compil2bin
#M .RI $Srcdir\ $Bindir
#M .br
#M .B compil2bin
#M .RI $Currentdir/src\ $Currentdir/bin\ $Parameters
#M .br
#M Variable \fB$Parameters\fP content the list of files to convert
#M .br
#M .SH NOTES
#M To complete your information:
#M https://fr.wikibooks.org/wiki/Annexes_de_wikibooks#Makefile_proposé_aux_essais
#M .SH "SEE ALSO"
#M addapendix packages
#M
#O End of compil2bin
old version cp-src2bin.sh
- WARNING, this is an old version revised on Sep 18, 2021
- Install this executable shell code in sbin ( /usr/local/sbin | ~/Add_appendix/sbin | ~/Annexer/sbin )
- Installer ce code shell exécutable dans sbin
- espagnol ; Instale este código de shell ejecutable en sbin
#! /bin/bash
#P File : .../sbin/cp-src2bin.sh. This file must be copied in executable mode
#P Copy the source files to the executables directory.
#P The tests directory is used to individual test bash files from annex programm.
clear
VERSION=210419
if [ "$1" = "--v" ]; then echo "cp-src2bin.sh : VERSION $VERSION rrevised on Sep 18, 2021"; exit 0; fi
#P Find the current directory
pwd > pwd.txt
read Currentdir<pwd.txt
#P Find the working name directory
cat pwd.txt | cut -d "/" -f4 > workname.txt
read Workname<workname.txt
echo -n "Working name directory= $Workname"
if [ $Workname = "Annexer" ] || [ $Workname = "Add_appendix" ]
then echo " is found";
else echo " is not a working name directory"; exit -1
fi
#P Find full directories install, working etc.
source ~/$Workname/vars/installdir.var
echo "Install directory : $Installdir"
echo "Working dir : $Workdir"
#T Test break exit 0
#P Make list files.pj
echo "Make files list from src directory in files.pj"
ls -1 $Installdir/src/*.sh > files.pj
#P If files.pj is not empty copy all files *.sh to executable directory
if [ -s "files.pj" ]
then
echo "files in files.pj :"
cat files.pj
else
echo "files.pj is empty, exit from cp-src2bin.sh"
exit 1
fi
#P Copy copy without extension .sh, and make files executables
echo "#####################################################################"
echo "# Warning: this script move all src/*.sh to bin/* without comments. #"
echo "# Warning: is not available to product POT files for translations. #"
echo "#####################################################################"
while read line
do
#T echo "copy the ligne $line from files.pj '.sh' in the file exename without extension .sh"
echo $line | sed s/.sh//g | awk -F "/" '{print $NF}'> exename.txt
#P Affect the value in 'exename.txt' at the variable $Exename
read Exename < exename.txt
echo "copy $Installdir/src/$Exename.sh to $Installdir/bin/$Exename"
cat $Installdir/src/$Exename.sh | grep -v "#O\|#P\|#T" > $Installdir/bin/$Exename
echo "Add mode 755 'executable' at file $Installdir/bin/$Exename"
chmod 755 $Installdir/bin/$Exename
echo "----"
done < files.pj
#T Breakpoint exit 0
#P clean sbin directory
rm files.pj pwd.txt exename.txt
#P End cp-src2bin
test_compil2bin.bash
- test program is in $Testdir/01-sbsrc/O11/compil2bin.sh/
- This test program also makes the manual copyable to /usr/share/man/man1/.
- syntax: sudo cp compil2bin_en.1.gz /usr/share/man/man1/compil2bin.1.gz
#!/bin/bash
#H File test_compil2bin.bash
#H
VERSION=211105
pwd > pwd.txt
read Currentdir<pwd.txt
cat pwd.txt | cut -d "/" -f4 > workname.txt
read Workname<workname.txt
#T echo -n "Working name directory= $Workname"
if [ $Workname = "Annexer" ] || [ $Workname = "Add_appendix" ]
then echo -n "" #T echo " is found";
else echo " Currentdir is not a working name directory"; exit -1
fi
rm workname.txt pwd.txt
Workdir=~/$Workname
Libdir=$Workdir/lib
source $Workdir/vars/installdir.var
Testsdir=$Workdir/tests
clear
if [ "$1" = "--v" ]; then echo "Version of test_compil2bin.bash $VERSION";exit 0;fi
echo -e "\033[1;33mcommande ./compil2bin.sh --v \033[0m"
./compil2bin.sh --v
sleep 3
echo "----"
echo -e "\033[1;33mcommande ./compil2bin.sh --v --t \033[0m"
./compil2bin.sh --v --t
sleep 3
echo "----"
echo -e "\033[1;33mcommande ./compil2bin.sh src bin --t \033[0m"
./compil2bin.sh src bin --t
sleep 3
echo "----"
echo -e "\033[1;33mcommande ./compil2bin.sh src bin compil2bin.sh --t; ls -1 bin after 3 sec \033[0m"
./compil2bin.sh src bin compil2bin.sh --t
sleep 3
echo -e "\033[1;33m ls -1 bin: \033[0m"; ls -1 bin
echo -e "\033[1;33m make local manual of compil2bin wtith compil2bin.sh \033[0m"
cat compil2bin.sh | grep "#M " | sed "s/#M //g" | grep -v "#P" > compil2bin_en.1
gzip compil2bin_en.1 compil2bin_en.1.gz
mv compil2bin_en.1.gz man/compil2bin_en.1.gz
man man/compil2bin_en.1.gz
sleep 3
echo "----"
echo -e "\033[1;33m./compil2bin.sh $Currentdir/src $Currentdir/bin \033[0m"
./compil2bin.sh $Currentdir/src $Currentdir/bin
sleep 3
ls -al bin
echo "----"
echo -e "\033[1;33m./compil2bin.sh $Currentdir/src $Currentdir/bin compil2bin.sh cp-src2bin.sh docu2html.sh findversions.sh install_annex.sh install_datasfiles.sh makeman_annex.sh users_install_annex.sh \033[0m"
./compil2bin.sh $Currentdir/src $Currentdir/bin compil2bin.sh cp-src2bin.sh docu2html.sh findversions.sh install_annex.sh install_datasfiles.sh makeman_annex.sh users_install_annex.sh
sleep 3
ls -al bin
echo "----"
clear
cd src;ls -m *.sh | sed "s/,//g"|tr "\n" " ">listm.txt
echo "List of files in srcdir:"; cat listm.txt; echo
cd $Currentdir
read Parameters < src/listm.txt
echo "Parameters: $Parameters"
echo -e "\033[1;33m./compil2bin.sh $Currentdir/src $Currentdir/bin $Parameters \033[0m"
./compil2bin.sh $Currentdir/src $Currentdir/bin $Parameters
ls -al bin
echo "----"
Manuel
compil2bin(1) Linux User's Manual compil2bin(1) NAME compi2bin - compilation program consists of eliminating the tags of Documentation, Manual, Organization-charts, Programmers-doc Tests-doc and producing .pot .po files for the translations, can also update .mo files. SYNOPSIS compil2bin $(SRC) [$(BIN)|$(SBIN)|$(LIB)] [files-list] in Makefile compil2bin [--v|srcdir] [bindir|sbindir|libdir] [files-list] [--t] in Add-appendix software DESCRIPTION This manual page explains the compil2bin program. The compil2bin pro‐ gram is included in Makefile to install sources files in binary direc‐ tories such as bin lib sbin and product .pot .po .mo files to lang resources directories. If you are edit and saved po files you can copy .mo files to /usr/share/locale/lang/LC_MESSAGES/. OPTIONS - [--v] Print the compil2bin version - $(SRC) and srcdir This variable is used in makefile example: SRC=/usr/local/src or srcdir=$Workdir/src in Add_appendix software - [$(BIN)|$(SBIN)|$(LIB)] and [bindir|sbindir|libdir] This variables are used in makefile example: SBIN=/usr/lo‐ cal/sbin or bindir=$Bindir sbindir=$Sbindir libdir=$Libdir in Add_appendix software - [file-list] This arguments list are list of files to convert and install to $(BIN) or $(SBIN) or $(LIB) - [--t] Print the compil2bin variables in current command execution EXAMPLES compil2bin $Srcdir $Bindir compil2bin $Currentdir/src $Currentdir/bin $Parameters Variable $Parameters content the list of files to convert NOTES To complete your information: https://fr.wikibooks.org/wiki/An‐ nexes_de_wikibooks#Makefile_proposé_aux_essais SEE ALSO addapendix packages compil2bin(1) 5 nov 2021 compil2bin(1)
- Remarque
- Par convention dans l'installation de l’application annex, les fichiers shell *.sh ne doivent pas être exécutables, ce sont des références d'installation, ils peuvent contenir de la documentation. Ces fichiers peuvent être différents des fichiers de même nom, exécutables sans l'extension .sh
- Télécharger les logiciels de dépendances et d'installation
- Poedit et xgettext se trouvent en standard dans les bibliothèque des systèmes linux.
- Pour les autres programmes, consulter : Install and dependency files
Annexer (Version internationalisée)
Cette version est à utiliser sous linux.
(Fichiers d'installation et de dépendances)
Ces processus avec mkd et mkddoccu vont probablement être abandonnés très prochainement. (Commentaire du 9 avril 2021 à 17:29 (CEST))
mkd et mkddocu
- Le logiciel mkd est utilisé dans l'exécution du programme annex
- mkddocu est utilisé avec la liste des modules de programme annex.prj pour dresser la liste des messages à traduire en d'autres langues. La langue de références est l'anglais.
Installer l'application Annexer
Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)#src.orig_en_français
Codes sources (internationalized source code)
- Globalement, les répertoires des binaires des systèmes unix/linux sont naturellement intégrés dans l'environnement de travail.
- Localement, on peut copier les fichiers dans le répertoire racine de l'application,
dans :
- ~/Annexer/src/ pour les sources, et ~/Annexer/bin/ pour les exécutables,
auquel cas, ajouter le chemin ~/Annexer/bin/ dans le path de l'environnement de travail. - Ouvrir un terminal et taper la commande suivante, ou l'inclure dans une commande d'exécution du terminal[1] :
selon le répertoire racine export PATH=$PATH:~/Annexer/bin ou export PATH=$PATH:~/Add_appendix/bin
- Dans ce cas on met tous les exécutables dans ce même répertoire bin et on peut générer les Annexes dans le répertoire Annexer/projet ou Add_appendix/projet, projet est habituellement le nom du livre.
Ce path ajouté prend fin avec la clôture du terminal.
Les codes ci-dessous doivent être installés dans le répertoire 'lib'
annex.lib
vβ 210514 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/annex.lib
La fontion findbook est validée, les fonctions ecfp* sont à réviser. 17 mai 2021 à 11:38 (CEST)
* Si vous désirez éprouver ces codes, vous pouvez les installer dans les répertoires ~/Add_appendix/tests/1-annex.lib/<sous-répertoires : 11-findbook.sh/, 12-ecfpb.sh/, 13-ecfpc.sh/ >
β-210514 - Tester le code source de la fonction findbook avec le programme test_findbook.bash (extrait les lien (urls) du Sommaire, du Contenu ou de la Compilation pour préparer la création de l'annexe des livres)
β-210409 - Tester le code source de la fonction ecfpb avec test_ecfpb.bash] (extrait le contenu des livres imprimables)
β-210415 - Tester le code source de la fonction ecfpc function with test_ecfpc.bash (extrait le contenu des livres compilés)
Les codes sources ci-dessous doivent être installés dans le répertoire d'installation src, ils peuvent avoir été compilés nettoyés des commentaires, sans l'extension .sh dans le répertoire bin, ou selon la version, aussi dans les répertoires lib ou encore dans le répertoire local tests/1-annex.lib
pre-annex.sh
vβ 210516 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/pre-annex.sh
L'internationalisation des messages reste à faire
header.inc.sh
vβ 210519 vβ Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/header.inc.sh
L'internationalisation des messages est à reprendre
annex.sh
vβ 210326 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/annex.sh
L'internationalisation des messages est à reprendre
list.sh
vβ 210321 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/list.sh
download.sh
vβ Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/download.sh
add_sclt.sh
vβ Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclt.sh
add_sclic.sh
vβ Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclic.sh
add_sclip.inc.sh
vβ Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclip.inc.sh
sclipco.sh
vβ Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/sclipco.sh
sclipwb.sh
vβ [Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/sclipbw.sh]]
Les codes d'installation ou/et de réinstallation de la version internationalisée sont habituellement installées dans le répertoire_d'installation/sbin.
En cas d'installation du programme annex dans /usr/local il est possible d'installer ces deux fichiers de commandes directement dans le répertoire /usr/local/sbin
install_annex.sh
À exécuter deux fois !
install_annex.sh Installe la structure des répertoires du programme add_appendix pour les programmeurs et la maintenance.
La commande est exécutée une première fois lors de l'installation et une deuxième fois pour générer les fichiers de traduction après l'exécution de cp-src2bin.sh
Cette commande peut être ré-exécutée à volonté.
vβ 210519 install_annex.sh
users_install_annex.sh Installe la structure des répertoires du programme add_appendix pour les utilisateurs.
Cette commande peut être ré-exécutée à volonté.
vβ 210519 users_install_annex.sh
cp-src2bin.sh
cp-src2bin.sh installe les fichiers exécutables du programme dans le répertoire bin à partir des fichiers sources.
vβ 210328 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/cp-src2bin.sh
src.orig en français
Information sur les fichiers de listes contenus dans les codes
- *.list contiennent les liens complets vers les pages : (https:{{FULLURL:<page>)}}
- Exemple 1 d'une url iso : https:{{FULLURL:Auto-éditer_un_wikilivre/Auto-référencer/header.sh}}
- Exemple 2 de la même url en utf-8 : https://fr.wikibooks.org/wiki/Auto-éditer_un_wikilivre/Auto-référencer/header.sh
- *.prj contiennent l'adresse des pages et sous-pages wiki.
- Exemple : Auto-éditer_un_wikilivre/Auto-référencer/header.sh
- *.pj contiennent le dernier champ d'un lien :
- Exemple : header.sh
Éditer la page originale[2]
Codes de l'application en français avec les manuels
☞ | Ce projet est bien avancé pour linux ou mingw-windows, il est à utiliser avec indulgence. Dans cette version, les images téléversées sur wiki-Commons sans passer par wikibooks ne sont pas reconnues. Votre contribution est souhaitée. Vous pouvez rédiger vos remarques et vos recommandations dans la page Discussion. |
- Il est possible de télécharger cette application expérimentale à but éducatif
- Télécharger par ftp
Remarque concernant l'état du serveur de téléchargements
- télécharger Annexer-fr_200701.zip qui contient les copies des articles ci-dessous,
- télécharger md5sum_Annexer-fr_200701.zip qui contient la somme de contrôle attestant que le fichier n'a pas subi de modification.
- md5sum de Annexer-fr_200701.zip: c4825faa84eef1514d72edb0bd7b394e
- Les droits de copies et de partages des fichiers téléchargés sont ceux des articles ci-dessous.
- Copier le contenu de la page du premier module header.inc.sh dans un éditeur de texte comme Notepadqq,
l'enregistrer sous le nom header.inc.sh dans le répertoire des tests ~/Annexer/tests/header.inc.sh/header.inc.sh
que vous aurez créé. - Y copier également des programmes de test ctrl-header.inc.bash et test-header.inc.bash
- Ouvrir un terminal. Dans le répertoire '~/Annexer/test/header.inc.sh/', modifier le mode de lecture-écriture-exécution
des programmes de contrôle et de tests de header.inc.sh de la façon suivante : chmod 755 *.bash
Exécuter le module sans paramètre : ./ctrl-header.inc.bash puis avec le paramètre LivreTest - Éditer la page LivreTest.contenu, copier la partie éditée et l'enregistrer sous le nom LivreTest.contenu
dans le répertoire Annexer/LivreTest qui vient d'être créé par l'exécution de ./ctrl-header.inc.bash LivreTest.
- Copier le contenu de la page du module lister.sh, pour les tests, et l’enregistrer sous le nom
'~/Annexer/tests/lister.sh/lister.sh '. Y copier également les programmes ctrl-lister.bash, et test-lister.bash
Faire les test du module et observer les modifications du répertoire Annexer/LivreTest. - ... et ainsi-de-suite. Le dernier fichier à créer est le fichier d'exécution globale annexer.
- Annexes que l'on doit obtenir : 1) Annexe globale - 2) Annexe personnalisée wb - 3) Annexe personnalisée co.
- Annexe obtenue avec la version 200623 de l'application Faire_fleurir_le_sel/Annexe
Fichiers du logiciel annexer
- Les fichiers suivants, en cours de réécritures, devront être installés dans le répertoire ~/Annexer/src, puis installés avec l'installateur.
Auto-éditer_un_wikilivre/Auto-référencer/header.inc.sh Fichier d'entête, inclus dans tous les modules. Version 210505
Auto-éditer_un_wikilivre/Auto-référencer/lister.sh Crée les fichiers de listes pour les modules suivants. Version obsolète 200701
Auto-éditer_un_wikilivre/Auto-référencer/télécharger.sh Télécharge les pages de Wikilivres selon les listes générées.Version obsolète 200623
Auto-éditer_un_wikilivre/Auto-référencer/ajouter_sclt.sh Ajoute l'entête pour les textes et les articles de l'Annexe. Version obsolète 210125
Auto-éditer_un_wikilivre/Auto-référencer/ajouter_sclic.sh Ajoute l'entête globale pour les images et illustration, etc. Version obsolète 210125
Auto-éditer_un_wikilivre/Auto-référencer/ajouter_sclip.inc.sh Ajoute les textes des conditions de copie des images. Version obsolète 210125
Auto-éditer_un_wikilivre/Auto-référencer/sclipwb.sh Ajoute, par article, les liens vers les images selon Wikilivres. Version obsolète 210125
Auto-éditer_un_wikilivre/Auto-référencer/sclipco.sh Ajoute, par article, les liens vers les images selon Commons. Version obsolète 210125
- ↑ Ce module sclipco.sh utilise des données produites par le module sclipwb sclipco.sh l’exécutable est à réviser. Avis du 30 juillet 2020 et du 25/01/2021.
Auto-éditer_un_wikilivre/Auto-référencer/annexer.sh Commande globale. Version obsolète 200626
Auto-éditer_un_wikilivre/Auto-référencer/md5sum_src-orig Somme de contrôle des fichiers depuis la Version 200623
Auto-éditer_un_wikilivre/Auto-référencer/cp-localsrc-2-localbin . Version 210504
- ↑ L'Installateur ci-dessus installe les fichiers de commandes dans le répertoire d'exécution ~/Annexer,
il doit d'être installé en mode exécutable dans le répertoire des sources ~/Annexer/src.
Fichiers de documentation du logiciel annexer
- Les fichiers suivants doivent être installés dans le répertoire ~/Annexer/tests/02-manuels.
Effectuer les tests puis installer le manuel dans le système linux avec makeman_annexer.sh
Après avoir effectué l'installation dans le système linux, vous pouvez utiliser le script htmlman.sh pour créer le manuel en html et texte pour l'imprimante.
Auto-éditer_un_wikilivre/Auto-référencer/annexer_fr.1 Fichier nroff avec un aperçu, pour l'installation du manuel français version 200626
Auto-éditer_un_wikilivre/Auto-référencer/annexer_fr.html Fichier html avec un aperçu, pour l'installation du manuel français version 200626
Auto-éditer_un_wikilivre/Auto-référencer/makeman_annexer.sh Cet exécutable installe le manuel dans la sructure unix/linux en français.
Fichiers d'installation
- INSTALLER.sh
Cette commande télécharge tous les fichiers de commandes et installe l'application dans les répertoires du PC.
- Syntaxe
- INSTALLER.sh [ liste | pour moi | pour tous | pour admin ]
- Exemples dans le répertoire d installation : ~/tmp
- -> exemple ./INSTALLER.sh annexer.list, pour télécharger les articles depuis wikilivres.
- -> exemple ./INSTALLER.sh pour moi, pour copier les codes dans ~/Annexer.
- -> exemple ./INSTALLER.sh pour tous, pour copier les codes exécutables dans /usr/local/bin.
- -> exemple ./INSTALLER.sh pour admin, pour copier les codes exécutables dans /usr/local/sbin.
Les corrections et tests ne pourront pas se faire dans l'immédiat (juin 2020).
Sauf si des wikipédiens se dévouent.
Essayer et comparer les codes des sources obtenues avec les codes des pages wiki.
Dans l'attente, préférer l'installation des codes de tous les fichiers par copier-coller.
Fichier original à copier-coller pour télécharger l'application Annexer, avec le fichier annexer.list qui contient la liste des fichiers à télécharger :
vβ 200604 Auto-éditer_un_wikilivre/Auto-référencer/INSTALLER.sh shell exécutable
vβ 210419 Liste des fichiers à copier Texte pour mémoire, préférer lancer les copies avec la page wikilivres
Auto-éditer_un_wikilivre/Auto-référencer/html_data_conversions Copie pour contrôle du fichier INSTALLER.sh
md5sum : c7a7e6eb3347e2f0d614df29029d5578
Auto-éditer_un_wikilivre/Auto-référencer/html_url_conversions Copie pour contrôle du fichier INSTALLER.sh
md5sum : a01327f2138adeffea16e446be79e917
Voir aussi
Auto-éditer_un_wikilivre/Auto-référencerLes modules en sous-pages peuvent avoir été modifiés. Il est possible de consulter les pages d’origine par consultation de l'historique de l'article et l'historique du module en sous-page concerné.
Codes pour l'installation et les tests
Fichiers nécessaires à l'installation
Auto-éditer_un_wikilivre/Auto-référencer/LivreTest/LivreTest.contenu Fichier pour les tests avec LivreTest
Auto-éditer_un_wikilivre/Auto-référencer/LivreTest/LivreTest.compilé Fichier pour les tests avec LivreTest
Auto-éditer_un_wikilivre/Auto-référencer/annexer.list Fichier pour l'installation avec INSTALLER.sh
Auto-éditer_un_wikilivre/Auto-référencer/annexer.prj Exemple
Auto-éditer_un_wikilivre/Auto-référencer/annexer.pj Exemple
Installer les fichiers de l'application
- Préinstaller l'application sur le PC
- Note : BASH doit être installé sur le PC; il existe en standard sous linux.
- 1. Copier le code suivant dans un terminal de votre PC, et exécuter la commande.
mkdir ~/tmp ~/Annexer ~/Annexer/LivreTest;
- 2. La méthode d'installation manuelle est la plus simple. Copier et coller les codes de l'application, ci-dessus, dans un éditeur de texte, puis les enregistrer dans le répertoire ~/Annexer que vous venez de créer.
- 3. Autre possibilité de copies : Utiliser les convertisseurs à disposition comme https://documentcyborg.com/. Il vous suffit de coller l'adresse html de la page dans le cadre approprié, de cliquer sur le format désiré : Get TXT, puis télécharger Download Document. Le document sera téléchargé dans la page habituelle de téléchargement. Il faut, malgré tout, éditer le document et probablement supprimer les ligne commençant par le caractère '*', et aussi; commenter la dernières lignes :
- # Document converted to txt via Document Cyborg ( https://documentcyborg.com )
- 4. Installer presque automatiquement avec INSTALLER.sh En cours de corrections
- Le répertoire d'installation des copies est ~/tmp ('~' représente la racine du répertoire utilisateur)
- Copier le contenu de la page INSTALLER.sh et annexer.list dans le répertoire ~/tmp.
- Entrer dans le répertoire tmp et lancer la commande INSTALLER.sh annexer.list
- Si tout s'est bien passé il vous sera proposé quatre choix :
- choix 0 : ne rien faire, les fichiers restent dans le répertoire ~/tmp pour être examinés.
Il sera toujours possible d'installer ultérieurement par la commande ./INSTALLER.sh [options]
les options sont 4me (for me), 4all (for all), 4adm (for admin's). - choix 1 : installer les fichiers dans le répertoire utilisateur ~/Annexer pour les tests.
- choix 2 : installer les fichiers pour tous dans /usr/local/bin (src, bin, man, share/doc).
- choix 3 : installer les fichiers pour les administrateurs (root, su, sudo) dans /usr/local/sbin.
- Le répertoire ~/tmp pourra être nettoyé dès que les fichiers auront été copiés.
Installer les fichiers de tests
Procéder comme à l'étape précédente; copier les fichiers LivreTest.contenu et LivreTest.compilé dans le répertoire ~/Annexer/LivreTest.
Fichiers de traductions (Translations files)
header.pot et annex.pot (sources en anglais)
Ces fichiers se placent dans le répertoire_de_travail/resources/lang, pas dans le répertoire src/lang/po comme la page pourrait le suggérer.
header.po et annex_es.po espagnol
Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/lang/po/header_es.po
Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/lang/po/annex_es.po
header.po et annex_fr.po français
Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/lang/po/header_fr_FR.po
Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/lang/po/annex_fr_FR.po
Manuels (Manuals)
annex.1 anglais
Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/lang/man/annex.1
annex_es.1 espagnol
Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/lang/man/annex_es.1
annex_fr.1 français
Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/lang/man/annex_fr.1
doc2html.sh
Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/lang/man/doc2html.sh Crée les manuels en versions html et txt.gz.
Fichiers généraux (General files)
documentation
Auto-éditer un wikilivre/Annexer (Version internationalisée)/doc
icons
icons installation
Install icons files in local icons directory
- Les images doivent se trouver dans le même répertoire que ce script .../tests/PACKAGE/icons/.
- Les images sont récupérables sur wikmedia commons:
https://commons.wikimedia.org/wiki/File:AA48x48bleu.png (image ci -dessus)
- Catégorie Add_appendix:
https://commons.wikimedia.org/wiki/Category:Add_appendix
- les contours nets sont obtenus à partir de fichiers SVG:
/usr/share/icon/hicolors/scalable/mimetypes/addappendix.svg
#!/bin/bash
#H Command for addappendix software
#H syntax sudo install_icon.bash
#H File install_icons in tests/PACKAGE/icons
VERSION=211213
#O Create variables : Workdir, Iconsdir
if pwd | grep Add_appendix; then Workdir=~/Add_appendix
elif pwd | grep Annexer; then Workdir=~/Annexer
fi
Iconsdir=$Workdir/share/icons
echo -e "install_icons.bash in tests/PACKAGE/icons to :\n Version $VERSION\n Syntax: install_icons.bash"
#install icons and update cache
chmod 644 *.png *.svg
cp -f AA256x256.png $Iconsdir/hicolor/256x256/mimetypes/addappendix.png
cp -f AA256x256.svg $Iconsdir/hicolor/256x256/mimetypes/addappendix.svg
cp -f AA256x256.svg $Iconsdir/hicolor/scalable/mimetypes/addappendix.svg
cp -f AA48x48bleu.png $Iconsdir/hicolor/48x48/apps/addappendix.png
cp -f AA32x32bleu.png $Iconsdir/hicolor/32x32/apps/addappendix.png
cp -f AA16x16bleu.png $Iconsdir/hicolor/16x16/apps/addappendix.png
cp -f AA8x8bleu.png $Iconsdir/hicolor/8x8/apps/addappendix.png
find $Iconsdir/hicolor
# Pour mémoire:
# Attention il faut que toute la commande soit sur la même ligne dans le Makefie d'où le caractère éventuel escape: '\'
# On ne peut mettre à jour la base de données que si les images sont installées dans le système
# if test -e "/usr/share/icons/hicolor/16x16/apps/addappendix.png"; then sudo gtk-update-icon-cache -t /usr/share/icons/hicolor; fi
Makefile to test and/or update icons cache
#!/bin/make
# file: icons/mak for packaging ubuntu addappendix
# addappendix-O~211208
# updated by french wikibooks user:Goelette_Cardabela
# To install : sudo make -f icons.mak -d clean install
# To test : make -f icons.mak -d clean install DESTDIR=./tests
# To examine ./tests directory type find ./tests
# Lors de l'installation les fichiers sources doivent être recopiés
# d'un autre répertoire qui peut être dans ~/Add_appendix
#
# This test makefile is in $HOME/Add_appendix/tests/PACKAGES/icons
# system directories
VERSION=211214
ICONS = $(DESTDIR)/usr/share/icons/hicolor
Sharedir=../../../share
# for simulation in package root directory
install:
#install icons and update cache
install -d $(ICONS) $(ICONS)/scalable/mimetypes $(ICONS)/256x256/mimetypes
install -d $(ICONS)/256x256/apps $(ICONS)/48x48/apps $(ICONS)/32x32/apps $(ICONS)/16x16/apps $(ICONS)/8x8/apps
#chmod 644 $(Sharedir)/icons/*
#cp -f $(Sharedir)/icons/AA256x256.svg $(ICONS)/scalable/mimetypes/addappendix.svg
cp -f $(Sharedir)/icons/hicolor/scalable/mimetypes/addappendix.svg $(ICONS)/scalable/mimetypes/addappendix.svg
#cp -f $(Sharedir)/icons/AA256x256.png $(ICONS)/256x256/mimetypes/addappendix.png
cp -f $(Sharedir)/icons/hicolor/256x256/mimetypes/addappendix.png $(ICONS)/256x256/mimetypes/addappendix.png
#cp -f $(Sharedir)/icons/AA256x256.svg $(ICONS)/256x256/mimetypes/addappendix.svg
cp -f $(Sharedir)/icons/hicolor/256x256/mimetypes/addappendix.svg $(ICONS)/256x256/mimetypes/addappendix.svg
#cp -f $(Sharedir)/icons/AA48x48bleu.png $(ICONS)/48x48/apps/addappendix.png
cp -f $(Sharedir)/icons/hicolor/48x48/apps/addappendix.png $(ICONS)/48x48/apps/addappendix.png
#cp -f $(Sharedir)/icons/AA32x32bleu.png $(ICONS)/32x32/apps/addappendix.png
cp -f $(Sharedir)/icons/hicolor/32x32/apps/addappendix.png $(ICONS)/32x32/apps/addappendix.png
#cp -f $(Sharedir)/icons/AA16x16bleu.png $(ICONS)/16x16/apps/addappendix.png
cp -f $(Sharedir)/icons/hicolor/16x16/apps/addappendix.png $(ICONS)/16x16/apps/addappendix.png
#cp -f $(Sharedir)/icons/AA8x8bleu.png $(ICONS)/8x8/apps/addappendix.png
cp -f $(Sharedir)/icons/hicolor/8x8/apps/addappendix.png $(ICONS)/8x8/apps/addappendix.png
#
# Attention il faut que toute la commande soit sur la même ligne d'où le caractère escape '\'
# On ne peut mettre à jour la base de données que si les images sont installées dans le système
@if [ -z $(DESTDIR) ]; then sudo gtk-update-icon-cache -t /usr/share/icons/hicolor;fi
clean: install
find ./tests result :
./tests ./tests/usr ./tests/usr/share ./tests/usr/share/icons ./tests/usr/share/icons/hicolor ./tests/usr/share/icons/hicolor/48x48 ./tests/usr/share/icons/hicolor/48x48/apps ./tests/usr/share/icons/hicolor/48x48/apps/addappendix.png ./tests/usr/share/icons/hicolor/16x16 ./tests/usr/share/icons/hicolor/16x16/apps ./tests/usr/share/icons/hicolor/16x16/apps/addappendix.png ./tests/usr/share/icons/hicolor/256x256 ./tests/usr/share/icons/hicolor/256x256/apps ./tests/usr/share/icons/hicolor/256x256/mimetypes ./tests/usr/share/icons/hicolor/256x256/mimetypes/addappendix.svg ./tests/usr/share/icons/hicolor/256x256/mimetypes/addappendix.png ./tests/usr/share/icons/hicolor/32x32 ./tests/usr/share/icons/hicolor/32x32/apps ./tests/usr/share/icons/hicolor/32x32/apps/addappendix.png ./tests/usr/share/icons/hicolor/8x8 ./tests/usr/share/icons/hicolor/8x8/apps ./tests/usr/share/icons/hicolor/8x8/apps/addappendix.png ./tests/usr/share/icons/hicolor/scalable ./tests/usr/share/icons/hicolor/scalable/mimetypes ./tests/usr/share/icons/hicolor/scalable/mimetypes/addappendix.svg
locale
update_mo.bash
- This file is in .../tests/PACKAGES/locale/ directory
#!/bin/bash
#H file: update_mo
VERSION=211216
#O Include install variables
pwd > pwd.txt
if cat pwd.txt | grep ~/Annexer
then Workdir=~/Annexer
elif cat pwd.txt | grep ~/Add_appendix
then Workdir=~/Add_appendix
else echo "Workind directory not found"
exit -1
fi
rm pwd.txt
#O Download global variables
source $Workdir/vars/installdir.var
if test -z $Mandir
then Mandir=$Installdir/man
fi
if test -z $Sbindir
then Sbindir=$Installdir/sbin
fi
Langdir=$Sharedir/addappendix/resources/lang/po
Localedir=$Sharedir/locale
PACKAGESDIR=$Testsdir/PACKAGES
cat $Workdir/vars/installdir.var
echo "Mandir=$Mandir"
echo "Sbindir=$Sbindir"
echo "Langdir=$Langdir"
echo "Localedir=$Localedir"
echo "PACKAGESDIR=$PACKAGESDIR"
#T exit 0
#O Copier les derniers fichiers .pot dans ce répertoire tests/PACKAGES/locale/po
#O Note: Par l'exécution de cpcleaned2bin de la librairie ils se trouvent dans
#O le répertoire share/addappendix/resources/lang/po )
echo "cp $Langdir/*.pot po/."
cp $Langdir/*.pot po/.
#O Créer une liste des fichiers sans l'extension '.pot' dans po directory
ls -1 po/*.pot | sed "s/.pot//g" | sed "s/po\///g"> files.pj
cat files.pj
#T exit 0
#O This script is in tests/PACKAGES/locale. If not then exit -1
if pwd | grep PACKAGES; then echo "update_mo.bash is found in $Testsdir/PACKAGES"; else echo "update_mo.bash is not found in $Testsdir/PACKAGES"; exit -1; fi
if test -z $1; then echo " Syntaxe ./update_mo.bash [ en | de | es | fr ]"; exit -1; fi
#O Tant que l'on a des ligne à lire
while read line
do
#O Imprimer le 'nom' lu
echo;echo "$line"
#O Si il existe un fichier '$1/nom.po'
if test -e po/$1/$line.po
#O Alors :
then
#O Metre à jour le fichier 'nom.po'
msgmerge --update po/$1/$line.po po/$line.pot
#0 Créer ou mettre à jour le fichier .mo
msgfmt po/$1/$line.po -o po/$1/$line.mo
#O Afficher le fichier .mo mis àjour
ls -a po/$1/$line.mo
echo -n "po/$1/$line.mo updated :"; ls -l po/$1/$line.mo
cp po/$1/$line.mo $Localedir/$1/LC_MESSAGES/.
#O Sinon afficher les message que le fichier.po n'est pas trouvé (donc pas mis à jour
else echo "po/$1/$line.po is not found, not updated"
fi
#O Fin du tant-que
done < files.pj
echo;echo "local '.mo' files"
ls -al po/$1/*.mo
echo;echo "$Localedir/$1/LC_MESSAGES/'.mo' files"
ls -al $Localedir/$1/LC_MESSAGES/*.mo
#O afficher le message "Pour metrre à jour /usr/share/locale exécuter la commande sudo make f- locale.mak -d clean install
echo; echo -e "\033[1;33m### To update /usr/share/locale execute sudo make f- locale.mak -d clean install in tests/PACKAGES/locale ###\033[0m"
Résultat de update_mo
local '.mo' files -rw-rw-r-- 1 jpl jpl 2322 déc. 16 18:01 po/fr/addappendix.mo -rw-rw-r-- 1 jpl jpl 522 déc. 16 18:01 po/fr/add_sclic.mo -rw-rw-r-- 1 jpl jpl 522 déc. 16 18:01 po/fr/add_sclipco.mo -rw-rw-r-- 1 jpl jpl 522 déc. 16 18:01 po/fr/add_sclipwb.mo -rw-rw-r-- 1 jpl jpl 522 déc. 16 18:01 po/fr/add_sclt.mo -rw-rw-r-- 1 jpl jpl 607 déc. 16 18:01 po/fr/annexer.mo -rw-rw-r-- 1 jpl jpl 5448 déc. 16 18:01 po/fr/annex.mo -rw-rw-r-- 1 jpl jpl 572 déc. 16 18:01 po/fr/en_sclic.inc.mo -rw-rw-r-- 1 jpl jpl 531 déc. 16 18:01 po/fr/en_sclipco.inc.mo -rw-rw-r-- 1 jpl jpl 779 oct. 8 18:06 po/fr/en_sclipwb.inc.mo -rw-rw-r-- 1 jpl jpl 838 déc. 16 18:01 po/fr/en_sclt.inc.mo -rw-rw-r-- 1 jpl jpl 3008 déc. 16 18:01 po/fr/header.inc.mo -rw-rw-r-- 1 jpl jpl 522 déc. 16 18:01 po/fr/scli.inc.mo /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/'.mo' files -rw-r--r-- 1 jpl jpl 2322 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/addappendix.mo -rw-r--r-- 1 jpl jpl 522 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/add_sclic.mo -rw-r--r-- 1 jpl jpl 522 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/add_sclipco.mo -rw-r--r-- 1 jpl jpl 522 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/add_sclipwb.mo -rw-r--r-- 1 jpl jpl 522 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/add_sclt.mo -rw-r--r-- 1 jpl jpl 607 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/annexer.mo -rw-r--r-- 1 jpl jpl 5448 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/annex.mo -rw-r--r-- 1 jpl jpl 572 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/en_sclic.inc.mo -rw-r--r-- 1 jpl jpl 531 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/en_sclipco.inc.mo -rw-r--r-- 1 jpl jpl 3008 oct. 12 18:28 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/en_sclipwb.inc.mo -rw-r--r-- 1 jpl jpl 838 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/en_sclt.inc.mo -rw-rw-r-- 1 jpl jpl 3008 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/header.inc.mo -rw-rw-r-- 1 jpl jpl 522 déc. 16 18:01 /home/jpl/Add_appendix/share/locale/fr/LC_MESSAGES/scli.inc.mo
locale.mak
- This file is in .../tests/PACKAGES/locale/ directory
#!/bin/make
# file:locale.mak for packaging ubuntu addappendix or annexer
# addappendix-O~211213
# updated by french wikibooks user:Goelette_Cardabela
# To install : sudo make f- locale.mak -d clean install
# To test : make -f locale.mak -d clean install DESTDIR=./tests
# To examine ./tests directory type find ./tests
# Lors de l'installation les fichiers sources doivent être recopiés
# d'un autre répertoire qui peut être dans ~/Add_appendix
#
# This test makefile is in $HOME/Add_appendix/tests/PACKAGES/locale
# system directories
LANG = $(DESTDIR)/usr/share/locale
Langdir=../../../share/addappendix/resources/lang/po
Localedir=../../../share/locale
install:
@echo "Warning: before execute update_mo/bash"
# Install languages after directories installation
install -d $(LANG)/de/LC_MESSAGES $(LANG)/en/LC_MESSAGES $(LANG)/fr/LC_MESSAGES $(LANG)/es/LC_MESSAGES
## de
#cp -f $(Localedir)/de/LC_MESSAGES/*.mo $(LANG)/de/LC_MESSAGES/.
## en
#cp -f $(Localedir)/en/LC_MESSAGES/*.mo $(LANG)/en/LC_MESSAGES/.
## es
#cp -f $(Localedir)/es/LC_MESSAGES/*.mo $(LANG)/es/LC_MESSAGES/.
## fr
cp -f $(Localedir)/fr/LC_MESSAGES/*.mo $(LANG)/fr/LC_MESSAGES/.
cp -u $(Langdir)/fr/addappendix.mo $(LANG)/fr/LC_MESSAGES/addappendix.mo
cp -u $(Langdir)/fr/annex.mo $(LANG)/fr/LC_MESSAGES/annex.mo
cp -u $(Langdir)/fr/header.inc.mo $(LANG)/fr/LC_MESSAGES/header.inc.mo
clean:
Résultat du test
fichier du test
find ./tests ./tests ./tests/usr ./tests/usr/share ./tests/usr/share/locale ./tests/usr/share/locale/es ./tests/usr/share/locale/es/LC_MESSAGES ./tests/usr/share/locale/en ./tests/usr/share/locale/en/LC_MESSAGES ./tests/usr/share/locale/de ./tests/usr/share/locale/de/LC_MESSAGES ./tests/usr/share/locale/fr ./tests/usr/share/locale/fr/LC_MESSAGES ./tests/usr/share/locale/fr/LC_MESSAGES/add_sclipwb.mo ./tests/usr/share/locale/fr/LC_MESSAGES/header.inc.mo ./tests/usr/share/locale/fr/LC_MESSAGES/en_sclipco.inc.mo ./tests/usr/share/locale/fr/LC_MESSAGES/en_sclt.inc.mo ./tests/usr/share/locale/fr/LC_MESSAGES/en_sclipwb.inc.mo ./tests/usr/share/locale/fr/LC_MESSAGES/annexer.mo ./tests/usr/share/locale/fr/LC_MESSAGES/scli.inc.mo ./tests/usr/share/locale/fr/LC_MESSAGES/addappendix.mo ./tests/usr/share/locale/fr/LC_MESSAGES/add_sclt.mo ./tests/usr/share/locale/fr/LC_MESSAGES/annex.mo ./tests/usr/share/locale/fr/LC_MESSAGES/en_sclic.inc.mo ./tests/usr/share/locale/fr/LC_MESSAGES/add_sclipco.mo ./tests/usr/share/locale/fr/LC_MESSAGES/add_sclic.mo
mime
mime installation
Install mime files in local mime directory
- Ce script installe les fichier addapendix.xml et annexer.xml dans le répertoire share/mime/package/.
- Les fichiers .xml doivent se trouver dans le mâme répertoire que ce script .../tests/PACKAGES/mime/.
#!/bin/bash
#H syntax: ./install_mime.bash
#H File install_mime.bash in tests/PACKAGE/mime
#!/bin/bash
#H Command for addappendix software
#H File install_mime is in tests/PACKAGE/mime directory
VERSION=211212
#O Create variables : Workdir, Iconsdir
if pwd | grep Add_appendix; then Workdir=~/Add_appendix
elif pwd | grep Annexer; then Workdir=~/Annexer
fi
Mimedir=$Workdir/share/mime
MIME = /usr/share/mime
chmod 644 *.xml
install -d $Workdir/share/mime/packages
cp -f addappendix.xml $Mimedir/packages/addappendix.xml
cp -f annexer.xml $Mimedir/packages/annexer.xml
ls -l $Mimedir/packages/addappendix.xml
ls -l $Mimedir/packages/annexer.xml
Makefile to test and/or install mime database
- Vous pouvez également nommer ce makefile mime.mak et lancer le test avec la syntaxe ci-après
- You can also name this makefile mime.mak and test installation with this syntax:
make -f mime.mak -d clean install DESTDIR=./tests find ./tests
#!/bin/make
# file:mime.mak for packaging ubuntu addappendix or annexer
# addappendix-O~211213
# updated by french wikibooks user:Goelette_Cardabela
# To install : sudo make f- mime.mak -d clean install
# To test : make -f mime.mak -d clean install DESTDIR=./tests
# To examine ./tests directory type find ./tests
# Lors de l'installation les fichiers sources doivent être recopiés
# d'un autre répertoire qui peut être dans ~/Add_appendix
#
# This test makefile is in $HOME/Add_appendix/tests/PACKAGES/mime
# system directories
MIME = $(DESTDIR)/usr/share/mime
install:
install -d $(MIME) $(MIME)/packages
# for simulation in package root directory
if [ -e $(HOME)/Annexer/share/mime/packages ]; then \
@echo "local Sharedir = $(HOME)/Annexer/share";\
cp -f $(HOME)/Annexer/share/mime/packages/addappendix.xml $(MIME)/packages/addappendix.xml;\
cp -f $(HOME)/Annexer/share/mime/packages/annexer.xml $(MIME)/packages/annexer.xml;\
elif\
[ -e $(HOME)/Add_appendix/share/mime/packages ]; then \
@echo "local Sharedir =$(HOME)/Add_appendix/share)";\
cp -f $(HOME)/Add_appendix/share/mime/packages/addappendix.xml $(MIME)/packages/addappendix.xml;\
cp -f $(HOME)/Add_appendix/share/mime/packages/annexer.xml $(MIME)/packages/annexer.xml;\
else echo "pgm directory not found."; exit 255;\
fi
@if [ -z $(DESTDIR) ]; then sudo update-mime-database /usr/share/mime; fi
clean:
find ./tests result :
./tests ./tests/usr ./tests/usr/share ./tests/usr/share/mime ./tests/usr/share/mime/packages ./tests/usr/share/mime/packages/addappendix.xml ./tests/usr/share/mime/packages/annexer.xml
addappendix.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/addappendix">
<comment>addappendix project</comment>
<comment xml:lang="ar">مشروع addappendix</comment>
<comment xml:lang="ast">proyeutu de addappendix</comment>
<comment xml:lang="az">addappendix layihəsi</comment>
<comment xml:lang="be">Prajekt addappendix</comment>
<comment xml:lang="be@latin">Prajekt addappendix</comment>
<comment xml:lang="bg">Проект — addappendix</comment>
<comment xml:lang="bo">addappendix ལས་གཞི</comment>
<comment xml:lang="bs">Glejd projekat</comment>
<comment xml:lang="ca">projecte de addappendix</comment>
<comment xml:lang="cs">Projekt addappendix</comment>
<comment xml:lang="cy">Prosiect addappendix</comment>
<comment xml:lang="da">addappendixprojekt</comment>
<comment xml:lang="de">addappendix-Projekt</comment>
<comment xml:lang="el">έργο addappendix</comment>
<comment xml:lang="en_AU">addappendix project</comment>
<comment xml:lang="en_GB">addappendix project</comment>
<comment xml:lang="eo">addappendix-projekto</comment>
<comment xml:lang="es">proyecto de addappendix</comment>
<comment xml:lang="eu">addappendix proiektua</comment>
<comment xml:lang="fi">addappendix-projekti</comment>
<comment xml:lang="fo">addappendix verkætlan</comment>
<comment xml:lang="fr">projet addappendix</comment>
<comment xml:lang="ga">tionscadal addappendix</comment>
<comment xml:lang="gl">proxecto de addappendix</comment>
<comment xml:lang="he">מיזם addappendix</comment>
<comment xml:lang="hr">addappendix projekt</comment>
<comment xml:lang="hu">addappendix-projekt</comment>
<comment xml:lang="id">Proyek addappendix</comment>
<comment xml:lang="it">Progetto addappendix</comment>
<comment xml:lang="ja">addappendix プロジェクト</comment>
<comment xml:lang="kk">addappendix жобасы</comment>
<comment xml:lang="ko">addappendix 프로젝트</comment>
<comment xml:lang="lt">addappendix projektas</comment>
<comment xml:lang="lv">addappendix projekts</comment>
<comment xml:lang="ms">Projek addappendix</comment>
<comment xml:lang="nb">addappendix prosjekt</comment>
<comment xml:lang="nl">addappendix-project</comment>
<comment xml:lang="nn">addappendix prosjekt</comment>
<comment xml:lang="no">addappendix prosjekt</comment>
<comment xml:lang="oc">Projècte addappendix</comment>
<comment xml:lang="pl">Projekt addappendix</comment>
<comment xml:lang="pt">projecto addappendix</comment>
<comment xml:lang="pt_BR">Projeto do addappendix</comment>
<comment xml:lang="ro">Proiect addappendix</comment>
<comment xml:lang="ru">проект addappendix</comment>
<comment xml:lang="sk">Projekt addappendix</comment>
<comment xml:lang="sl">Datoteka projekta addappendix</comment>
<comment xml:lang="sq">Projekt addappendix</comment>
<comment xml:lang="sr">Глејд пројекат</comment>
<comment xml:lang="sv">addappendix-projekt</comment>
<comment xml:lang="ug">addappendix قۇرۇلۇشى</comment>
<comment xml:lang="uk">проект addappendix</comment>
<comment xml:lang="vi">Dự án addappendix</comment>
<comment xml:lang="zh_CN">addappendix 工程</comment>
<comment xml:lang="zh_TW">addappendix 專案</comment>
<acronym>ADDAPPENDIXPROJECT</acronym>
<sub-class-of type="application/xml"/>
<generic-icon name="addappendix"/>
<glob pattern="*.appendix"/>
<glob pattern="*.scli"/>
<glob pattern="*.sclic"/>
<glob pattern="*.sclt"/>
<alias type="application/annexer"/>
</mime-type>
</mime-info>
annexer.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/annexer">
<comment>annexer project</comment>
<comment xml:lang="ar">مشروع annexer</comment>
<comment xml:lang="ast">proyeutu de annexer</comment>
<comment xml:lang="az">annexer layihəsi</comment>
<comment xml:lang="be">Prajekt annexer</comment>
<comment xml:lang="be@latin">Prajekt annexer</comment>
<comment xml:lang="bg">Проект — annexer</comment>
<comment xml:lang="bo">annexer ལས་གཞི</comment>
<comment xml:lang="bs">Glejd projekat</comment>
<comment xml:lang="ca">projecte de annexer</comment>
<comment xml:lang="cs">Projekt annexer</comment>
<comment xml:lang="cy">Prosiect annexer</comment>
<comment xml:lang="da">annexerprojekt</comment>
<comment xml:lang="de">annexer-Projekt</comment>
<comment xml:lang="el">έργο annexer</comment>
<comment xml:lang="en_AU">annexer project</comment>
<comment xml:lang="en_GB">annexer project</comment>
<comment xml:lang="eo">annexer-projekto</comment>
<comment xml:lang="es">proyecto de annexer</comment>
<comment xml:lang="eu">annexer proiektua</comment>
<comment xml:lang="fi">annexer-projekti</comment>
<comment xml:lang="fo">annexer verkætlan</comment>
<comment xml:lang="fr">projet annexer</comment>
<comment xml:lang="ga">tionscadal annexer</comment>
<comment xml:lang="gl">proxecto de annexer</comment>
<comment xml:lang="he">מיזם annexer</comment>
<comment xml:lang="hr">annexer projekt</comment>
<comment xml:lang="hu">annexer-projekt</comment>
<comment xml:lang="id">Proyek annexer</comment>
<comment xml:lang="it">Progetto annexer</comment>
<comment xml:lang="ja">annexer プロジェクト</comment>
<comment xml:lang="kk">annexer жобасы</comment>
<comment xml:lang="ko">annexer 프로젝트</comment>
<comment xml:lang="lt">annexer projektas</comment>
<comment xml:lang="lv">annexer projekts</comment>
<comment xml:lang="ms">Projek annexer</comment>
<comment xml:lang="nb">annexer prosjekt</comment>
<comment xml:lang="nl">annexer-project</comment>
<comment xml:lang="nn">annexer prosjekt</comment>
<comment xml:lang="no">annexer prosjekt</comment>
<comment xml:lang="oc">Projècte annexer</comment>
<comment xml:lang="pl">Projekt annexer</comment>
<comment xml:lang="pt">projecto annexer</comment>
<comment xml:lang="pt_BR">Projeto do annexer</comment>
<comment xml:lang="ro">Proiect annexer</comment>
<comment xml:lang="ru">проект annexer</comment>
<comment xml:lang="sk">Projekt annexer</comment>
<comment xml:lang="sl">Datoteka projekta annexer</comment>
<comment xml:lang="sq">Projekt annexer</comment>
<comment xml:lang="sr">Глејд пројекат</comment>
<comment xml:lang="sv">annexer-projekt</comment>
<comment xml:lang="ug">annexer قۇرۇلۇشى</comment>
<comment xml:lang="uk">проект annexer</comment>
<comment xml:lang="vi">Dự án annexer</comment>
<comment xml:lang="zh_CN">annexer 工程</comment>
<comment xml:lang="zh_TW">annexer 專案</comment>
<acronym>PROJETANNEXER</acronym>
<sub-class-of type="application/xml"/>
<generic-icon name="addappendix"/>
<glob pattern="*.appendix"/>
<glob pattern="*.scli"/>
<glob pattern="*.sclic"/>
<glob pattern="*.sclt"/>
<alias type="application/addappendix"/>
</mime-type>
</mime-info>
manuels
Auto-éditer un wikilivre/Annexer (Version internationalisée)/man1
maintenance
Auto-éditer un wikilivre/Annexer (Version internationalisée)/share/maintenance