[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#235831: cdtool: Please switch to gettext-based debconf templates



Package: cdtool
Version: n/a
Severity: wishlist
Tags: patch l10n

Using the "new" gettext format for debconf templates helps for templates
translations. For instance, detecting outdated or untranslated strings 
becomes considerably easier. It also keeps track of who did which
translation.

The attached patch does the required modifications :
- debian/control modification for dependencies (see below)
- execute "debconf-gettextize debian/*templates*" 
- mark the right strings as translatable in the templates (see below)
- update the style to the best current practice (see below)


If you want to reproduce this by yourself instead of applying the
patch, you have to do:

- install po-debconf on your system
- go to the debian directory
- read man po-debconf..:-)
- run "debconf-gettextize *.templates"
- read the output
- change Build-Depends or Build-Depends-Indep (see below)
  They should list "po-debconf"
- update the templates file to mark as translatable only the fields
  which should (ie, not the one containing stuff which cannot be
  translated such as kernel module name, and neither the one not
  shown to the users), and improve the style to follow the dstg.

For more details, see po-debconf documentation, especially "man 7
po-debconf"

Read this if you're concerned with backports :
--------------------------------------------

Please note that the suggested modifications will make your
package a little bit harder to backport to earlier Debian releases. If
this is a concern to you, you may try to adopt the method used by the
openssh package and detailed by Colin Watson in
http://lists.debian.org/debian-i18n/2003/debian-i18n-200307/msg00026.html

This patch does not includes this method as this would make it too
invasive, IMHO. So, preserving backportability is up to you...

The rest of the story :
---------------------
While I was working on the convertion to po-debconf, I noticed that the
templates of your package may be easily improved by applying the advices
contained at the following address:

http://people.debian.org/~bubulle/dtsg.txt

I applied the advices from this document concerning the short descriptions,
and I think that no extra work is needed on the templates. But feel free to
improve them further, if you want... Don't get me wrong, I don't want to
criticize, I just want the template to reach a translatable state (ie quite
stable) rather soon.

Once the switch is achieved, and the style improvement are done, I 
guess that you will receive translations of your templates rather soon. You
may consider asking on the debian-i18n@lists.debian.org mailing list for
translations once you think that your templates are in a sort of final state
where they won't be modified in the near future.


Thanks for helping the translators, and thus your non english speaker
end-users. 

Bye, Mt.

PS: I know that this package is orphaned, but according to my stats, that
the most important package (wrt popcon) not having a po-debconf switch bug
report. So here you are..
http://graal.ens-lyon.fr/~mquinson/debian/switch/popcon.html

-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux galadriel 2.4.22 #1 ven nov 21 16:02:19 CET 2003 i686
Locale: LANG=fr_FR.ISO-8859-1, LC_CTYPE=fr_FR.ISO-8859-1

diff -ruN cdtool-2.1.5.ori/debian/control cdtool-2.1.5/debian/control
--- cdtool-2.1.5.ori/debian/control	2004-03-02 10:09:45.000000000 -0800
+++ cdtool-2.1.5/debian/control	2004-03-02 10:11:01.000000000 -0800
@@ -2,11 +2,12 @@
 Section: sound
 Priority: optional
 Maintainer: Debian QA Group <packages@qa.debian.org>
+Build-Depends: po-debconf
 Standards-Version: 3.6.1
 
 Package: cdtool
 Architecture: any
-Depends: ${shlibs:Depends}, debconf (>= 0.5.00)
+Depends: ${shlibs:Depends}, debconf (>= 1.2.0)
 Description: some text-based commands for managing a CD
  cdtool contains cdplay, cdeject, cdstop, cdpause, and several other
  utilities that let you control your CD-ROM drive from a command
diff -ruN cdtool-2.1.5.ori/debian/po/POTFILES.in cdtool-2.1.5/debian/po/POTFILES.in
--- cdtool-2.1.5.ori/debian/po/POTFILES.in	1969-12-31 16:00:00.000000000 -0800
+++ cdtool-2.1.5/debian/po/POTFILES.in	2004-03-02 10:11:30.000000000 -0800
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] templates
diff -ruN cdtool-2.1.5.ori/debian/po/templates.pot cdtool-2.1.5/debian/po/templates.pot
--- cdtool-2.1.5.ori/debian/po/templates.pot	1969-12-31 16:00:00.000000000 -0800
+++ cdtool-2.1.5/debian/po/templates.pot	2004-03-02 10:12:40.000000000 -0800
@@ -0,0 +1,40 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-03-02 10:12-0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../templates:3
+msgid "Audio CD device:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../templates:3
+msgid ""
+"cdtools needs to know which device to use for playing audio CDs. It tried to "
+"determine that automatically but failed. You can enter the correct device "
+"below or leave the field empty."
+msgstr ""
diff -ruN cdtool-2.1.5.ori/debian/rules cdtool-2.1.5/debian/rules
--- cdtool-2.1.5.ori/debian/rules	2004-03-02 10:09:45.000000000 -0800
+++ cdtool-2.1.5/debian/rules	2004-03-02 10:10:33.000000000 -0800
@@ -22,6 +22,7 @@
 	-rm -f build
 	-make clean
 	-rm `find . -name "*~"`
+	-debconf-updatepo
 	-rm -rf debian/tmp debian/files* debian/substvars core
 
 binary-indep:	checkroot build
@@ -66,7 +67,7 @@
 	cd debian/tmp/usr/share/man/man1 && ln -s cdtool.1.gz cdvolume.1.gz
 	install -m 0755 debian/postinst debian/tmp/DEBIAN
 	install -m 0755 debian/config debian/tmp/DEBIAN
-	install -m 0644 debian/templates debian/tmp/DEBIAN
+	po2debconf debian/templates > debian/tmp/DEBIAN
 	dpkg-shlibdeps debian/tmp/usr/lib/cdtool/cdtool debian/tmp/usr/bin/cdctrl debian/tmp/usr/bin/cdown
 	dpkg-gencontrol -isp
 	chown -R root.root debian/tmp
diff -ruN cdtool-2.1.5.ori/debian/templates cdtool-2.1.5/debian/templates
--- cdtool-2.1.5.ori/debian/templates	2004-03-02 10:09:45.000000000 -0800
+++ cdtool-2.1.5/debian/templates	2004-03-02 10:11:51.000000000 -0800
@@ -1,6 +1,6 @@
 Template: cdtool/unknown_audiocd_device
 Type: string
-Description: Please enter the audio CD device or leave empty
- cdtools needs to know which device to use for playing audio CDs. It
- tried to determine that automatically but failed. You can enter
- the correct device below or leave the field empty.
+_Description: Audio CD device:
+ cdtools needs to know which device to use for playing audio CDs. It tried
+ to determine that automatically but failed. You can enter the correct
+ device below or leave the field empty.

Reply to: