Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2003:
[Freeciv-Dev] Re: (PR#2565) Plural form needed for unit types
Home

[Freeciv-Dev] Re: (PR#2565) Plural form needed for unit types

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv@xxxxxxx
Cc: freeciv@xxxxxxx, freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#2565) Plural form needed for unit types
From: "Raimar Falke via RT" <rt@xxxxxxxxxxxxxx>
Date: Tue, 7 Jan 2003 03:34:26 -0800
Reply-to: rt@xxxxxxxxxxxxxx

On Fri, Jan 03, 2003 at 04:31:53AM -0800, Jason Short via RT wrote:
> On Fri, 2002-12-13 at 09:27, Guest via RT wrote:
> > 
> > Plural forms are needed for unit types. The message in "unithand.c",  
> > "void handle_upgrade_unittype_request(struct player *, struct  
> > packet_unittype_info *)":  
> >   
> >     "Game: %d %s upgraded to %s for %d gold."  
> >   
> > needs plural forms (at least in some translations). 
> 
> I agree with Raimar that it unnecessary (perhaps even impossible) to
> provide plural forms for all unit names.
> 
> Right now, in the above case the English is:
> 
>   "Game: 1 settlers upgraded to engineers for 40 gold."
>   "Game: 2 settlers upgraded to engineers for 40 gold."
> 
> which doesn't sound quite right, but is probably ok ("1 settlers" is
> probably correct, since the "settlers unit" no doubt has lots of
> "settlers" in it).  But in other languages (e.g., Swedish) the verb
> needs to match the number as well - this is (I'm guessing) a bigger
> grammatical problem, and also easy to fix.  So the text should be either
> 
>   PL_("Game: %d %s upgraded to %s for %d gold.",
>       "Game: %d %s upgraded to %s for %d gold.",
>       number_of_upgraded_units);
> 
> or
> 
>   PL_("Game: %d unit of %s upgraded to %s for %d gold.",
>       "Game: %d units of %s upgraded to %s for %d gold.",
>       number_of_upgraded_units);
> 
> which is functionally identical when translated, but perhaps provides
> slightly better English.
> 
> (Think of it as one or more "units of settlers", not one or more
> "settlers", and it makes sense that no plural form is needed or
> desired.  But perhaps this, too, varies from language to language...)
> 
> -----
> 
> Now, you say there are many places in the code that need these changes. 
> But as a native English speaker, I don't easily see the places where
> there are verb mismatches.  So I suggest that a translator who wants to
> fix this (Erik) go through and make a patch to introduce PL_ into such
> places.  You can fix the English at the same time if you want (or not).

And the patch. 

Erik: last chance to object.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 Q:  Do you know what the death rate around here is?
 A:  One per person.

Index: server/unithand.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/server/unithand.c,v
retrieving revision 1.245
diff -u -u -r1.245 unithand.c
--- server/unithand.c   2003/01/02 03:02:16     1.245
+++ server/unithand.c   2003/01/07 11:32:45
@@ -197,10 +197,13 @@
 
     /* Alert the player about what happened. */
     if (number_of_upgraded_units > 0) {
-      notify_player(pplayer, _("Game: %d %s upgraded to %s for %d gold."),
-                    number_of_upgraded_units, unit_types[from_unittype].name,
-                    unit_types[to_unittype].name,
-                    cost * number_of_upgraded_units);
+      notify_player(pplayer,
+                   PL_("Game: %d unit of %s upgraded to %s for %d gold.",
+                       "Game: %d units of %s upgraded to %s for %d gold.",
+                       number_of_upgraded_units), number_of_upgraded_units,
+                   unit_types[from_unittype].name,
+                   unit_types[to_unittype].name,
+                   cost * number_of_upgraded_units);
       send_player_info(pplayer, pplayer);
     } else {
       notify_player(pplayer, _("Game: No units could be upgraded."));

[Prev in Thread] Current Thread [Next in Thread]