Hi,

I think the following is a fix to the problem:

--- po/hu.po    2006-05-08 07:24:38.000000000 +0200
+++ po/hu.po-new        2006-09-07 19:32:56.000000000 +0200
@@ -90,7 +90,7 @@
 msgid ""
 "_: Edit Label\n"
 "%1:"
-msgstr "Cimke szerkesztése:"
+msgstr "%1:"

 #: gui/kwidgetlister.cpp:58
 msgid ""

This is just a correction of a translation.
This change is already present in the upstream source of 1.2.2.
I have not checked nut the bug is probably fixed in the new Debian package.

Anyway, for package 1.1.6-1.1:
I have generated from the patched hu.po a new .mo file with msgfmt.
I replaced /usr/share/locale/hu/LC_MESSAGES/tellico.mo with the new .mo file.
After this, the bug disappeared: no "Argument missing" errors, field labels 
correctly displayed.

IMHO, the reason of the bug is the following:

1) The above translation is used at 3 places in the sources (according to 
hu.po):
   configdialog.cpp:338 gui/fieldwidget.cpp:101 gui/fieldwidget.cpp:188

2) All places the translation is invoked by a construct

   i18n("Edit Label", "%1:").arg(STUFF)

   where STUFF stands for an expression returning the field label.

   This does the following: the function i18n() returns the translation.  
Then .arg(STUFF) replaces %1 in the translation with STUFF.  Now %1 does not 
appear in the original translation, which resulted in the "Argument missing" 
error and the end result became independent of STUFF.
  The modified translation does contain %1, so STUFF appears in the end 
result.

I hope this helps fixing this bug soon.

Best wishes,

        Gabor Braun

Reply via email to