GNOME Bugzilla – Bug 106696
Please use ngettext for handling plurals in gdm
Last modified: 2005-02-03 20:40:37 UTC
#: gui/gdmlogin.c:218 gui/greeter/greeter_parser.c:948 #: gui/greeter/themes/circles/circles.xml.in.h:4 #: gui/greeter/themes/happygnome/happygnome.xml.in.h:4 #, no-c-format msgid "User %s will login in %d seconds" #: gui/gdmphotosetup.c:194 #, c-format msgid "" "The picture is too large and the system administrator\n" "disallowed pictures larger then %d bytes to\n" "show in the face browser" #: vicious-extensions/glade-helper.c:234 #, c-format msgid "" "An error occured while loading the user interface\n" "element %s%s from file %s.\n" "CList type widget should have %d columns.\n" "Possibly the glade interface description was corrupted.\n" "%s cannot continue and will exit now.\n" "You should check your installation of %s or reinstall %s." As mentioned in http://developer.gnome.org/doc/tutorials/gnome-i18n/developer.html#plurals, this way of handling plurals is broken for many locales. A way to solve this is by using ngettext instead as mentioned in that document. A simple code example of code using ngettext: g_printf (ngettext ("Found %d file.", "Found %d files.", nbr_of_files), nbr_of_files);
All of this applies to following message too. #: gui/gdmchooser.c:811 #, c-format msgid "" "Did not receive any response from host \"%s\" in %d seconds. Perhaps the " "host is not turned on, or is not willing to support a login session right " "now. Please try again later."
Can we revisit this issue now?
Created attachment 20441 [details] [review] Proposed patch.
Created attachment 20442 [details] [review] Proposed patch, 2nd try. Last one was bogus.
String freeze time is fast approaching (February 9th), and this is one of the rare outstanding ngettext related bugs for Gnome 2.6. Could we have it fixed ASAP?
gdm2 hasn't branched for gnome-2-6 yet, but when it does this should be fixed on HEAD.
Could this be fixed this time around?
The main problem is that there are still some GDM theme XML files lurking around that AFAIK can't use ngettext, because that would mean that the ngettextized attributes are neither invariant nor unambiguous. So maybe we have to use a placeholder and do actual ngettextizing in source. regs, Chris
Would be nice to get the string changes in ASAP.
Fixed in CVS head.