-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-04-19 a las 21:46 -0300, Gabriel escribió:
| Lo he encontrado por mi cuenta, acabo de hacer un script y probarlo. Esto: | | #!/bin/bash | | F=`basename $1 .po` | FF=`basename $F .es` | POFILE=$FF.es.po | POTFILE=../../50-pot/$FF.pot | | if test -f $POFILE -a -f $POTFILE; then | echo Aplying msgmerge to $POFILE | msgmerge --no-wrap --force-po -U $POFILE -C | ../../50-memory/memory.es.p | msgfmt --check --stat $POFILE | rm messages.mo | else | echo "Not found: " $POFILE or $POTFILE | fi || { echo "msgmerge --no-wrap --force-po for \"$po\" failed" ; } | |
Pregunta, se te olvidó poner el $POTFILE en el merge ?
A ver... tienes razon, algo no esta bien. [...] Está cortada una linea por la derecha. Es: echo Applying msgmerge to $POFILE msgmerge --no-wrap --force-po -U $POFILE \ -C ../../50-memory/memory.es.po $POTFILE msgfmt --check --stat $POFILE rm messages.mo Y la ultima linea también está mal, pero no sólo en el correo; es: fi || { echo "msgmerge --no-wrap --force-po for \"$POTFILE\" failed" ; } Hay que ejecutarlo estando en el directorio "po" adecuado (lcn o yast). Necesita que existan los arboles memory y pot, claro. Lastima que no puedas ponerlo en el Verbum, porque esos ficheros no te caben, creo, el memory es grande (y *10 equipos). Y sería lento, tendrías que actualizar pot y memory cada vez... tenemos que hacerlo cada cual en casa. Resulta que conservo registros (logs) de una vez que hice un "make update-po", y en la salida se vé ese trozo de código, bueno, parecido, lo he cambiado. Ellos parten del listado de pots, y si no existe el po, lo crean. Porque intentar descrifrar el makefile es labor de chinos. El código original es este (cortado el listado de pots (for p in)): for p in ../../50-pot/RELEASE-NOTES.pot; do q=${p##*/} po=${q%pot}es.po # No se como funcionan esas dos lineas :-? # Sé el resultado, pero no porqué funcionan # así que yo uso "basename" y no me devano los sesos. if [ -f $po ]; then msgmerge --no-wrap --force-po -U $po -C ../../50-memory/memory.es.po $p; \ else msgmerge --no-wrap --force-po -o $po -C ../../50-memory/memory.es.po \ --verbose /dev/null $p; \ fi || { echo "msgmerge --no-wrap --force-po for \"$po\" failed" ; } msgfmt --check --stat $po done - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) iD8DBQFICp91tTMYHG2NR9URAusfAJ9xno6pJ8E0OZ90R1e1r1DCK1b4ZACdH7td ee6o02cxNNR74iYSgtioXHo= =YxSQ -----END PGP SIGNATURE-----