Package: po4a Version: 0.62-1
I ran into this problem while converting linuxcnc to use po4a to handle translated documentation. The problem is that working links in the English original is replaced with broken links in the translated files, even though the original English text is used because the translated string is missing. The following script demonstrate the problem. ==================== test-po4a-html-links ======================= #!/bin/sh cat << EOF > po4a.cfg [po4a_langs] es [po4a_paths] documentation.pot $lang:documentation_$lang.po [po4a_alias:xhtml_def] man opt:"--keep 0" [type: xhtml_def] gcode.html $lang:gcode_$lang.html EOF cat << EOF > gcode.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <BODY> <TABLE ID=ref1> <TR><TD><A HREF="g-code.html#gcode:g0">G0</A><TD><TD>Rapid Move</TR> </TABLE> </BODY> EOF cat << EOF > g-code.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <BODY> <h1 id="#gcode:g0">G0</h1> G0 described. </BODY> EOF po4a po4a.cfg grep HREF gcode.html grep HREF gcode_es.html ================================================================== This is the output I get: % sh test-po4a-html-links (1 entries) Error: 'msginit -i /scratch/pere/src/linuxcnc/po4a-fail/documentation.pot --locale -o /scratch/pere/src/linuxcnc/po4a-fail/documentation_.po --no-translator >/dev/null' exited with value 1. <TR><TD><A HREF="g-code.html#gcode:g0">G0</A><TD><TD>Rapid Move</TR> <TR><TD><A HREF="g\-code.html#gcode:g0">G0</A><TD><TD>Rapid Move</TR> % Note how "g-code.html" become "g\-code.html" in the translated file, thus breaking the link. I expected both to use "g-code.html". -- Happy hacking Petter Reinholdtsen