[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