[DRE-maint] Bug#726949: ruby-gettext: rxgettext should split messages at newline characters

Francesco Poli (wintermute) invernomuto at paranoici.org
Sun Oct 20 21:04:49 UTC 2013


Package: ruby-gettext
Version: 3.0.2-2
Severity: wishlist

Hello once again!   ;-)

I prepared a small revision of my test case, in order to show another
thing that I noticed about rxgettext:

  $ cat myapplication.rb
  #!/usr/bin/ruby
  # Copyright (C) 2012-2013 Francesco Poli
  #
  #  This program is free software; you can redistribute it and/or modify
  #  it under the terms of the GNU General Public License as published by
  #  the Free Software Foundation; either version 2 of the License, or
  #  (at your option) any later version.
  #
  #  This program is distributed in the hope that it will be useful,
  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  #  GNU General Public License for more details.
  #
  #  You should have received a copy of the GNU General Public License with
  #  the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
  #  if not, write to the Free Software Foundation, Inc., 59 Temple Place,
  #  Suite 330, Boston, MA  02111-1307  USA
  
  require 'gettext'
  include GetText
  GetText::bindtextdomain("myapplication")
  
  count = 0
  print _("Hello everybody!\n")
  count += 1
  
  print _("You are running an internationalized Ruby program.\n")
  count += 1
  
  # TRANSLATORS: %d is the number of already printed messages
  print _("You have already seen %d translatable messages.\n") % count
  
  print _("Is this message # 3 or # 4 ?\nDoes it matter?\n")
  
  print _("OK, I am tired...\n")
  
  print _("Goodbye!\n")

Let's use xgettext in order to generate the corresponding .pot file:

  $ xgettext --add-comments=TRANSLATORS --no-wrap \
             --copyright-holder="Francesco Poli" \
             --package-name=myapplication --package-version=0.2 \
             --msgid-bugs-address="address at example.com" \
             --language=python \
             myapplication.rb -o myapplication_XGETTEXT.pot
  $ cat myapplication_XGETTEXT.pot
  # SOME DESCRIPTIVE TITLE.
  # Copyright (C) YEAR Francesco Poli
  # This file is distributed under the same license as the PACKAGE package.
  # FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
  #
  #, fuzzy
  msgid ""
  msgstr ""
  "Project-Id-Version: myapplication 0.2\n"
  "Report-Msgid-Bugs-To: address at example.com\n"
  "POT-Creation-Date: 2013-10-20 22:49+0200\n"
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
  "Language-Team: LANGUAGE <LL at li.org>\n"
  "Language: \n"
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=CHARSET\n"
  "Content-Transfer-Encoding: 8bit\n"
  
  #: myapplication.rb:24
  msgid "Hello everybody!\n"
  msgstr ""
  
  #: myapplication.rb:27
  msgid "You are running an internationalized Ruby program.\n"
  msgstr ""
  
  #. TRANSLATORS: %d is the number of already printed messages
  #: myapplication.rb:31
  #, python-format
  msgid "You have already seen %d translatable messages.\n"
  msgstr ""
  
  #: myapplication.rb:33
  msgid ""
  "Is this message # 3 or # 4 ?\n"
  "Does it matter?\n"
  msgstr ""
  
  #: myapplication.rb:35
  msgid "OK, I am tired...\n"
  msgstr ""
  
  #: myapplication.rb:37
  msgid "Goodbye!\n"
  msgstr ""

As you can see the message at line 33 is split up into two strings
for easier reading by translators. This is done since the message
is actually intended to be printed onto two separate lines; so it makes
sense that the translator has the opportunity to see it formatted in
a way closer to how the program user will see it.

Unfortunately, rxgettext does not do the same:

  $ rxgettext --add-comments=TRANSLATORS --no-wrap \
              --copyright-holder="Francesco Poli" \
              --package-name=myapplication --package-version=0.2 \
              --msgid-bugs-address="address at example.com" \
              myapplication.rb -o myapplication_RXGETTEXT.pot
  $ cat myapplication_RXGETTEXT.pot
  # SOME DESCRIPTIVE TITLE.
  # Copyright (C) YEAR Francesco Poli
  # This file is distributed under the same license as the myapplication package.
  # FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
  #
  #, fuzzy
  msgid ""
  msgstr ""
  "Project-Id-Version: myapplication 0.2\n"
  "Report-Msgid-Bugs-To: address at example.com\n"
  "POT-Creation-Date: 2013-10-20 23:01+0200\n"
  "PO-Revision-Date: 2013-10-20 23:01+0200\n"
  "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
  "Language-Team: LANGUAGE <LL at li.org>\n"
  "Language: \n"
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
  
  #: myapplication.rb:24
  msgid "Hello everybody!\n"
  msgstr ""
  
  #: myapplication.rb:27
  msgid "You are running an internationalized Ruby program.\n"
  msgstr ""
  
  #. TRANSLATORS: %d is the number of already printed messages
  #: myapplication.rb:31
  msgid "You have already seen %d translatable messages.\n"
  msgstr ""
  
  #: myapplication.rb:33
  msgid "Is this message # 3 or # 4 ?\nDoes it matter?\n"
  msgstr ""
  
  #: myapplication.rb:35
  msgid "OK, I am tired...\n"
  msgstr ""
  
  #: myapplication.rb:37
  msgid "Goodbye!\n"
  msgstr ""

I think it would far better, if rxgettext behaved like xgettext in
this respect.

Please implement this feature and/or forward this bug report upstream.
Thanks for your time!


-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (800, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.10-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages ruby-gettext depends on:
ii  ruby                          1:1.9.3
ii  ruby-locale                   2.0.8-1
ii  ruby-text                     1.2.1-1
ii  ruby1.8 [ruby-interpreter]    1.8.7.358-8
ii  ruby1.9.1 [ruby-interpreter]  1.9.3.448-1

ruby-gettext recommends no packages.

ruby-gettext suggests no packages.

-- no debconf information



More information about the Pkg-ruby-extras-maintainers mailing list