Differences between revisions 11 and 12
Revision 11 as of 2010-04-19 15:14:04
Size: 2398
Editor: ?Alexandre Hoïde
Comment:
Revision 12 as of 2010-04-19 15:32:33
Size: 2398
Editor: ?Alexandre Hoïde
Comment:
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 :
    • ' »' ' :' ' ;' ' !' ' ?'
    et après 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 -