Auto-éditer un wikilivre/Annexer (Version internationalisée)
- 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.
Développement international des scripts
modifierAdd_appendix (Annexer Version internationalisée)
modifierCette version est à utiliser sous linux.
(Fichiers d'installation et de dépendances)
modifierCes processus avec mkd et mkddoccu vont probablement être abandonnés très prochainement. (Commentaire du 9 avril 2021 à 17:29 (CEST))
mkd et mkddocu
modifier- 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.
Stucture du répertoire Add_appendix
modifier- Cette structure est valide pour tous les logiciels de Add_appendix: annex, add_appendix, appendix en paquet
- Auto-éditer_un_wikilivre/Structure_du répertoire_Add_appendix Version du 30 mars 2022
*** Copier les codes sources avec la version imprimable
modifier
Version imprimable pour copier-coller Cette version tient compte de la mise à jour des codes.
Copier les fichiers sources, les coller dans un éditeur de texte, les enregistrer dans les répertoires spécialisés : ~/Add_appendix/ lib, src, tests, etc.
Pour plus de détails sur les fichiers consulter les paragraphes ci-après
Codes sources (internationalized source code)
modifier- 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
modifier25/10/2021, Liste des dernières mise à jour de Add_appendix/lib/src:
annex.lib.sh: VERSION=211019
cpcleaned2bin.sh: VERSION=211020
ecfpb.sh: VERSION=210429
ecfpc.sh: VERSION=210429
findbook.sh: VERSION=211019
killalldoc.sh: VERSION=211019
vβ 211019 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)
β-211020 - Tester le code source de la fonction cpcleaned2bin avec le programme test_cpcleaned2bin.bash
β-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)
- This funtions clean sripts to create executables files for translations with compil2bin executable script
- killalldoc function eliminates all comment lines starting with #D #M #O #P #T in the first column.
- killDMOPT function replaces all comment lines starting with #D #M #O #P #T in the first column with a blank line. This keeps the line number of the translations.
- killOPT function replaces all comment lines starting with #O #P #T in first column with a blank line. This keeps the line number for the translations )
Codes sources
modifier25/10/2021, Liste des dernières mise à jour de Add_appendix/src:
addappendix.sh: VERSION=211006, annexer.sh: VERSION=211006
pre-annex.sh: VERSION=211005
annex.sh: VERSION=211004
header.inc.sh: VERSION=210519
list.sh: VERSION=210523
download.sh: VERSION=210619
add_sclt.sh: VERSION=211006, en_sclt.inc.sh:, fr_sclt.inc.sh:
scli.inc.sh: VERSION=211008
add_sclic.sh: VERSION=211008, en_sclic.inc.sh: VERSION=211008, fr_sclic.inc.sh:
add_sclipco.sh: VERSION=211008, en_sclipco.inc.sh:, fr_sclipco.inc.sh:
add_sclipwb.sh: VERSION=211008, en_sclipwb.inc.sh: VERSION=211008, fr_sclipwb.inc.sh:
Les codes sources .sh ci-dessous doivent être installés dans le répertoire d'installation tests, ils peuvent êtres copiés dans le répertoire src après les tests, puis nettoyés des commentaires, sans l'extension .sh, ou encore être compilés avec l’extension .x dans le répertoire bin, pour les librairies; les sources doivent être installés dans les répertoires tests/1-annex.lib/*, et être copiés dans le répertoire local lib après les tests.
add_appendix.sh + annexer.sh
modifier vβ 220304 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/addappendix.sh+annexer.sh
L'internationalisation des messages est faite
pre-annex.sh
modifier vβ 211005 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/pre-annex.sh
L'internationalisation des messages est faite
header.inc.sh
modifier vβ 210519 vβ Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/header.inc.sh
L'internationalisation des messages est faite
annex.sh
modifier vβ 211004 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/annex.sh
L'internationalisation des messages est faite
list.sh
modifiervβ 210523 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/list.sh
download.sh
modifiervβ 210619 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/download.sh
add_sclt.sh
modifiervβ 211006 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclt.sh
scli.inc.sh
modifiervβ 211008 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/scli.inc.sh
add_sclic.sh
modifiervβ 210819 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclic.sh
add_sclipco.sh
modifiervβ 211008 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclipco.sh
add_sclipwb.sh
modifiervβ 211008 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclipwb.sh
Commandes d'administration
modifierMise à jour des sources de commandes d'administration
modifier/home/jpl/Add_appendix/sbin/BINFILES_VERSIONS
- compil2bin: VERSION=211113
- docu2html: VERSION=211123
- findversions: VERSION=211124
- htmlman: VERSION=211122
- install_annex: VERSION=211018
- install_datasfiles: VERSION=210919
- makeman_annex: textman: VERSION=211122
- updt-manuals: VERSION=211120
- userman: VERSION=211122
- users_install_annex: VERSION=211101
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. On peut les installer dans /usr/local/sbin pour en avoir un accès direct.
En cas d'installation du programme annex, annexer, addappendix, dans /usr/local, ces fichiers de commandes sont naturellement installés dans le répertoire /usr/local/sbin
Commandes de présentation des manuels
modifier- Ces trois commandes permettent de visualiser les manuels aux formats html, texte, et manuel traditionnel (roff compressé)
- La recherche des manuels se font prioritairement dans les répertoires man de l'application.
- En premier en accord avec la langue de l'utilisateur
- En second en anglais dans le répertoire man1 local
- En cas de défaut les commandes ci après recherchent le manuel dans /usr/share/man/man1 en langue anglaise
- Si le manuel n'est pas trouvé dans il faut tenter la commande man traditionnelle qui permet l'accès aux manuels dans la langue de utilisateur.
- Pour une utilisation directe
- Les commandes peuvent être placées
- dans /usr/local/sbin sans l'extension .sh
- dans la liste des alias précisées à l'exécution de la commande, par exemple :
alias ~/Add-appendix/sbin/htmlman
Liste des manuels du logiciel (bin)
modifier- annexer, addappendix, annex
Liste des manuels de maintenance (sbin)
modifier- compil2bin, findversions, docu2html, install_datasfiles
htmlman.sh
modifiervβ 211122 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/htmlman.sh
textman.sh
modifiervβ 211122 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/textman.sh
userman.sh
modifiervβ 211122 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/userman.sh
Commandes de maintenance des manuels
modifierdocu2html.sh
modifiervβ 211123 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/sbin/manuels/doc2html.sh
makeman_annex.sh
modifiervβ 211122 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/makeman_annex.sh
updt-manuals.sh
modifiervβ 211126 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/updt-manuals.sh
Programmes d'installation
modifierCommandes de maintenance d'installation
modifiercompil2bin and cp-src2bin
modifiercp-src2bin.sh installe les fichiers exécutables du programme dans le répertoire bin à partir des fichiers sources.
vβ 211113 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/cp-src2bin.sh
copy all tested files and commands to src, bin, lib, sbin directories
modifiercp_all_to_Add_appendix.bash copie toutes les commandes testées dans les répertoires des tests, vers les répertoires src, bin, lib et sbin de Add_appendix.
Cette version, depuis le 28 août 2021 prend en compte l'installation des traductions.
vβ 211205 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/cp_all_to_Add_appendix.bash
findversions.sh
modifiervβ 211124 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/findversions.sh
install_datasfiles.sh
modifiervβ 211125 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/install_datasfiles.sh
Installation de la structure de répertoires
modifier- Noter que le logiciel annexer et addapendix seront téléchargeables sous forme de paquets pour Linux.
Ils pourraient ainsi être installés sur des serveurs et être utilisables avec des terminaux ou de consoles.
Il existe des terminaux pour tous les systèmes d’exploitation.
users_install and users_uninstall annex.sh
modifierusers_install_annex.sh: Installe la structure des répertoires de base du programme Annexer ou Add_appendix pour les utilisateurs.
Cette commande peut être ré-exécutée à volonté.
vβ 211101 users_install_annex.sh
admins_install_annex.sh
modifierEn cours de révision
admins_install_annex.sh: Cette commande s'est complexifiée au cours du temps. Elle permet d'installer une structure très complète des répertoire dans le répertoire de l'utilisateur, et aussi dans le système de fichiers linux.
Elle peut être ré-exécutée à volonté.
vβ 211020 admins_install_annex.sh
install_annex.sh in linux system
modifier- VERSION=211018
En cours de révision
À exécuter deux fois !
install_annex.sh: Cette commande permet d'installer la structure des répertoire dans le répertoire de l'utilisateur avec les répertoires et outils essentiels et le logiciel est disponible pour tous dans le système de fichiers unix ou linux.
Elle peut être ré-exécutée à volonté.
vβ 210919 install_annex.sh
Exemples de fichiers de traductions (Translations files)
modifierheader.inc.pot et annex.pot (sources en anglais)
modifierLes fichiers .pot sont produits par les commandes suivantes:
Avec: Installdir=~/Add_appendix ou ~/Annexer
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
Exemples
modifierheader.inc.pot 2020-05-24
annex.pot 2020-05-24
header_es.po et annex_es.po espagnol
modifier Ce sont des exemples.
Ils sont produits par copie des fichiers .pot pour procéder à la traduction:
Avec: Installdir=~/Add_appendix ou ~/Annexer
cp $Installdir/share/locale/header.inc.pot $Installdir/share/locale/es/header.inc.po cp $Installdir/share/locale/annex.pot $Installdir/share/locale/es/annex.po
Lorsque les traductions sont effectuées avec un éditeur comme Poedit, et enregistrées, on exécute la commande:
msgfmt $Installdir/share/locale/es/header.inc.po -o $Installdir/share/locale/es/LC_MESSAGES/header.inc.mo msgfmt $Installdir/share/locale/es/annex.po -o $Installdir/share/locale/es/LC_MESSAGES/annex.mo
Si on veut utiliser la traduction de ces messages en local il faut le préciser dans l'entête des scripts
Pour exemple avec header.inc:
TEXTDOMAIN=header.inc TEXTDOMAINDIR=$Installdir/share/locale
La traduction se fera avec le fichier header.inc.mo depuis le répertoire spécifié avec TEXTDOMAINDIR
header.inc est un fichier appelé par d'autres scripts et les variables vont changer. Au retour du script header.inc il faut restaurer les variables du script d'appel faute de quoi la traduction ne sera plus assurée pour le script appelant.
Pour TEXTDOMAINDIR Il est préférable de conserver la valeur du programme appelant dans le programme appelé, et de placer les fichiers .mo dans /usr/share/locale/ On peut dans ce cas exporter TEXDOMAINDIR dans les shells fils du shell courant (variable d'environnement)
sudo cp $Installdir/share/locale/es/LC_MESSAGES/header.inc.mo /usr/share/locale/es/LC_MESSAGES/header.inc.mo TEXTDOMAINDIR=/usr/share/locale export TEXTDOMAINDIR
- Note: le logiciel Poedit produit aussi un fichier .mo dans le même répertoire que le fichier .po il faut alors le déplacer vers le répertoire LC_MESSAGES pour que la traduction fonctionne.
- Poedit mémorise les traductions dans un catalogue que l'on crée tel Add_appendix pointant vers les fichiers du répertoire Add_appendix/share/locale, Add_appendix/share/locale/fr, Add_appendix/share/locale/es, etc. qui contient les fichiers à traduire.
Il faut veiller à mettre le catalogue à jour à la fin de la traduction, au moment de ma sauvegarde.
Exemples
modifierCes fichiers ne sont pas obligatoirement à jour, ils sont là pour mémoire et pour démonstration.
Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/lang/po/header.inc_es.po
annex_es.po 2020-07-15
header_fr.po et annex_fr.po français
modifierCe sont des exemples de traductions que vous pouvez modifier.
Exemples
modifierheader.inc.sh_fr_FR.po 2021-03-30
annex.sh_fr_FR.po 2020-05-24
Manuels (Manuals) for Add_appendix Beta 210828
modifierannex.1 standard en anglais
modifiervβ 210830 Auto-éditer un wikilivre/Annexer (Version internationalisée)/manuels/annex.1
annex_es.1 espagnol
modifiervβ 210726 Auto-éditer un wikilivre/Annexer (Version internationalisée)/sbin/manuels/annex_es.1
annex_fr.1 français
modifiervβ 211214 Auto-éditer un wikilivre/Annexer (Version internationalisée)/manuels/annex_fr.1
docu2html.sh
modifierCe script crée les manuels en versions compressées *.gz, et *.html, *.txt puis les place dans les répertoires appropriés, ./lang/man1/*.gz ./lang/doc/html/*.html ./lang/doc/txt/*.txt
Noter que les répertoire /usr/share/man/lang/* sont en standard dans les systèmes unix/linux et permettent l'affichage avec la commande man alors que les répertoires html et txt n'existent pas et ne sont pas reconnus.
Les manuels html permettent d'afficher les manuels dans le navigateur, et les manuels txt sont destinés à l'impression.
vβ 211123 Auto-éditer un wikilivre/Annexer (Version internationalisée)/sbin/manuels/doc2html.sh
Fichiers généraux (General files)
modifierdocumentation
modifierAuto-éditer un wikilivre/Annexer (Version internationalisée)/docu
icons
modifiervβ 211213 Auto-éditer un wikilivre/Annexer (Version internationalisée)/icons
locale
modifier- Met à jour et installe les traductions.
vβ 211216 Auto-éditer un wikilivre/Annexer (Version internationalisée)/locale
mime
modifier- mise à jour de mime-database
vβ 211212 Auto-éditer un wikilivre/Annexer (Version internationalisée)/mime
man
modifier- Mise à jour des scripts éprouvés
vβ 211214 Auto-éditer un wikilivre/Annexer (Version internationalisée)/man
Makefile d'installation de Add-appendix proposé aux tests
modifier- Cette application version 220304 est une version bêta (imparfaite). Ce script servira de base à la construction du paquet Ubuntu addappendix.
- Ce Makefile se place dans le répertoire Add_appendix et installe tout le logiciel dans le système Linux.
Les scripts exécutables se trouvent dans /usr/local, les manuels, les icônes et les fichiers de langues se trouvent à leur place, intégrés dans le système linux. - Après cette installation on peut, si on le désire, supprimer presque tout le contenu du répertoire ~/Add_appendix pour gagner de la place (6 Mo) dans un système Linux installé en mémoire usb.
On conserve le répertoire books et les notes d'application README, voire le répertoire docu, les répertoire des manuels et des langues afin de corriger les fichiers s'il y a lieu.
vβ 220304 Auto-éditer un wikilivre/Annexer (Version internationalisée)/Makefile
- Installez linux sur une barrette mémoire amovible auto-amorçable (bootable)Reconfigurez le setup (touche F2) en cas de défaut du démarrage automatique avec la barette.
Développement du logiciel
modifier- Avec ce Makefile d'installation, la construction du logiciel Add-appendix prend fin. Les fichiers de programme, de maintenance, avec ses manuels et de traductions serviront à créer le paquet ubuntu addappendix d'installation complètement automatique et téléchargeable sur un site de confiance.
- Tout a commencé avec ces pages: Autoréférencer
- Voir aussi la page d'évolution des scripts depuis les premiers confinements: Annexes de wikibooks