<URL: http://bugs.freeciv.org/Ticket/Display.html?id=39831 >

Had to split the long lines, and remove references that aren't true in all
rulesets, and use the correct local sz_strlcat().  I see the the entire
rest of the file needs to be updated, too....

Committed trunk revision 14215.
Committed S2_2 revision 14216.

And I remind the translators, although 2.2 is not yet ready, soon the
2.1 translations will be copied into 2.2.  It is important to have as
many 2.1 strings done before then as possible....

Index: client/helpdata.c
===================================================================
--- client/helpdata.c   (revision 14214)
+++ client/helpdata.c   (working copy)
@@ -1011,8 +1011,44 @@
     sprintf(buf + strlen(buf),
            _("* Will never achieve veteran status.\n"));
   } else {
-    sprintf(buf + strlen(buf),
-           _("* May become veteran through training or combat.\n"));
+    switch(utype_move_type(utype)) {
+      case AIR_MOVING:
+      case HELI_MOVING:
+        sz_strlcat(buf,
+          _("* Will be built as a veteran in cities with appropriate"
+            " training facilities (see Airport.)\n"));
+        sz_strlcat(buf,
+          _("* May be promoted after defeating an enemy unit.\n"));
+        break;
+      case LAND_MOVING:
+        if (utype_has_flag(utype, F_DIPLOMAT)||utype_has_flag(utype, F_SPY)) {
+          sz_strlcat(buf,
+            _("* Will be built as a veteran under communist governments.\n"));
+          sz_strlcat(buf,
+            _("* May be promoted after a successful mission.\n"));
+        } else {
+          sz_strlcat(buf,
+            _("* Will be built as a veteran in cities with appropriate"
+              " training facilities (see Barracks.)\n"));
+          sz_strlcat(buf,
+            _("* May be promoted after defeating an enemy unit.\n"));
+        }
+        break;
+      case SEA_MOVING:
+        sz_strlcat(buf,
+          _("* Will be built as a veteran in cities with appropriate"
+            " training facilities (see Port Facility)."));
+        sz_strlcat(buf,
+          _("* May be promoted after defeating an enemy unit.\n"));
+        if (utype_has_flag(utype, F_TRIREME))
+          sz_strlcat(buf,
+            _("* May be promoted after survival on the high seas.\n"));
+        break;
+      default:          /* should never happen in default rulesets */
+        sz_strlcat(buf,
+          _("* May be promoted through combat or training\n"));
+        break;
+    };
   }
   if (utype_has_flag(utype, F_TRIREME)) {
     sprintf(buf + strlen(buf),
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to