2398
Comment:
|
2398
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 13: |
Les commandes suivantes permettent d'afficher un '·' (\U00b7) pour visualiser les espaces insécables (\U00a0). Le '·' peut être remplacé par le caractère de son choix. | Les commandes suivantes permettent d'afficher un '·' (U+00b7) pour visualiser les espaces insécables (U+00a0). Le '·' peut être remplacé par le caractère de son choix. |
Line 29: | Line 29: |
Remplace les espaces normales (\U0020) par des espaces insécables (\U00a0) dans les lignes traduites du fichier *.po passé en argument au script. | Remplace les espaces normales (U+0020) par des espaces insécables (U+00a0) dans les lignes traduites du fichier *.po passé en argument au script. |
Traduction(s) : aucune
Quelques trucs et astuces utiles pour les traducteurs
Vim
Différencier les espaces insécables des espaces normales dans vim
Les commandes suivantes permettent d'afficher un '·' (U+00b7) pour visualiser les espaces insécables (U+00a0). Le '·' peut être remplacé par le caractère de son choix.
:set listchars=nbsp:· :set list
Exemple d'intégration dans le ~/.vimrc pour limiter la portée du réglage au buffer courant si le fichier est un *.po
autocmd Filetype po setlocal listchars=nbsp:· list
Insérer une espace insécable dans vim
En mode insertion, il est possible d'insérer un caractère unicode par son code hexadécimal avec CTRL-v u <code_hexadécimal>. Pour l'espace insécable la séquence est donc : CTRL-v u 00a0
Scripts
Script de remplacement des espaces normales par des espaces insécables dans un fichier po
Remplace les espaces normales (U+0020) par des espaces insécables (U+00a0) dans les lignes traduites du fichier *.po passé en argument au script.
- avant pour :
- ' »' ' :' ' ;' ' !' ' ?'
- '« '
#!/bin/bash # Les paquest « gettext » et « file » doivent être installés. # Détection automatique de l'encodage utf-8 ou iso-8859-* if file -bi $1 | grep -si --regexp='charset=ISO-8859-' > /dev/null ; then nbsp="\xa0" ; # espace insécable go="\xab" ; # guillemet gauche gf="\xbb" ; # guillemet droit elif file -bi $1 | grep -si --regexp='charset=UTF-8' > /dev/null ; then nbsp="\xc2\xa0"; # espace insécable go="\xc2\xab" ; # guillemet gauche gf="\xc2\xbb" ; # guillemet droit else echo "Erreur : le script ne parvient pas à déterminer l'encodage du fichier."; exit 0; fi msgcat --no-wrap "$1" | sed -r -l0 ' /^msgstr\x20/ { s/\x20(\?|\!|\:|\;|'${gf}')/'${nbsp}'\1/g s/('${go}')\x20/\1'${nbsp}'/g } ' | msgcat -