Package: po4a
Version: 0.47-2
Severity: normal

Hi,

po4a (or actually po4a-translate I guess) does not check if msgid and msgstr 
either both end, or both do not end with a new line character. 

This might lead to an incorrectly translated documentation. Please see the 
attached example of a very simple testman.1 that is displayed as:

  testman(1)        General Commands Manual       testman(1)

         1.
                 Item 1

         2.
                 Item 2

                                                  testman(1)

Running po4a on the attached po4a.cfg file generates testman.en.1 that
man displays as following:

  testtman(1)       General Commands Manual       testman(1)

         1.
                 Item 1.IP 2.
                 Item 2

                                                  testman(1)

When the '-v' option is used, po4a shows errors from msgmft:

  testman.en.po:35: 'msgid' and 'msgstr' entries do not both end with '\n'
  testman.en.po:47: 'msgid' and 'msgstr' entries do not both end with '\n'
  msgfmt: found 2 fatal errors

but still generates the translated document.


It would be nice if po4a (with or without the '-v' option) could fail in
such a case to make the tranaslator or maintainer aware of the issue.


Rgards,
robert


-- System Information:
Debian Release: 9.0
  APT prefers unstable
  APT policy: (990, 'unstable'), (200, 'testing')
Architecture: i386 (i686)

Kernel: Linux 4.9.0-1-686-pae (SMP w/1 CPU core)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages po4a depends on:
ii  gettext                           0.19.8.1-2
ii  libsgmls-perl                     1.03ii-36
ii  opensp                            1.5.2-13
ii  perl                              5.24.1-1
ii  perl-modules-5.24 [perl-modules]  5.24.1-1

Versions of packages po4a recommends:
ii  liblocale-gettext-perl     1.07-3+b1
ii  libterm-readkey-perl       2.37-1
ii  libtext-wrapi18n-perl      0.06-7.1
ii  libunicode-linebreak-perl  0.0.20160702-1+b1

po4a suggests no packages.

-- no debconf information
.TH testman 1 
.IP 1.
 Item 1
.IP 2.
 Item 2
[po4a_langs] en
[po4a_paths] testman.pot $lang:testman.$lang.po
[type:man] testman.1 $lang:testman.$lang.1 
# English translations for PACKAGE package
# Copyright (C) 2017 Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# Automatically generated, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2017-02-17 23:56+0100\n"
"PO-Revision-Date: 2017-02-17 23:30+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. type: TH
#: testman.1:1
#, no-wrap
msgid "testman"
msgstr "testman"

#. type: IP
#: testman.1:2
#, no-wrap
msgid "1."
msgstr "1."

#. type: Plain text
#: testman.1:4
#, no-wrap
msgid " Item 1\n"
msgstr " Item 1"

#. type: IP
#: testman.1:4
#, no-wrap
msgid "2."
msgstr "2."

#. type: Plain text
#: testman.1:5
#, no-wrap
msgid " Item 2\n"
msgstr " Item 2"

Reply via email to