<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40059 >
Based on discussion on the -i18n list, it seems that removing the
possessive names is highly desirable. And, that swapping the fields is
common. Also, there's a list of sentence fragments immediately following
the header. Changed to allow translators more flexibility.
Committed S2_2 revision 14346.
Committed trunk revision 14347.
Index: server/report.c
===================================================================
--- server/report.c (revision 14346)
+++ server/report.c (working copy)
@@ -53,22 +53,35 @@
#define HISTORIAN_LAST HISTORIAN_LARGEST
static const char *historian_message[]={
- N_("%s report on the RICHEST Civilizations in the World %s."),
- N_("%s report on the most ADVANCED Civilizations in the World %s."),
- N_("%s report on the most MILITARIZED Civilizations in the World %s."),
- N_("%s report on the HAPPIEST Civilizations in the World %s."),
- N_("%s report on the LARGEST Civilizations in the World %s.")
+ /* TRANS: year <name> reports ... */
+ N_("%s %s reports on the RICHEST Civilizations in the World."),
+ /* TRANS: year <name> reports ... */
+ N_("%s %s reports on the most ADVANCED Civilizations in the World."),
+ /* TRANS: year <name> reports ... */
+ N_("%s %s reports on the most MILITARIZED Civilizations in the World."),
+ /* TRANS: year <name> reports ... */
+ N_("%s %s reports on the HAPPIEST Civilizations in the World."),
+ /* TRANS: year <name> reports ... */
+ N_("%s %s reports on the LARGEST Civilizations in the World.")
};
static const char *historian_name[]={
- N_("Herodotus'"),
- N_("Thucydides'"),
- N_("Pliny the Elder's"),
- N_("Livy's"),
- N_("Toynbee's"),
- N_("Gibbon's"),
- N_("Ssu-ma Ch'ien's"),
- N_("Pan Ku's")
+ /* TRANS: [year] <name> [reports ...] */
+ N_("Herodotus"),
+ /* TRANS: [year] <name> [reports ...] */
+ N_("Thucydides"),
+ /* TRANS: [year] <name> [reports ...] */
+ N_("Pliny the Elder"),
+ /* TRANS: [year] <name> [reports ...] */
+ N_("Livy"),
+ /* TRANS: [year] <name> [reports ...] */
+ N_("Toynbee"),
+ /* TRANS: [year] <name> [reports ...] */
+ N_("Gibbon"),
+ /* TRANS: [year] <name> [reports ...] */
+ N_("Ssu-ma Ch'ien"),
+ /* TRANS: [year] <name> [reports ...] */
+ N_("Pan Ku")
};
static const char scorelog_magic[] = "#FREECIV SCORELOG2 ";
@@ -145,13 +158,25 @@
((const struct player_score_entry *)a)->value);
}
-static const char *greatness[MAX_NUM_PLAYERS] = {
- N_("Magnificent"), N_("Glorious"), N_("Great"), N_("Decent"),
- N_("Mediocre"), N_("Hilarious"), N_("Worthless"), N_("Pathetic"),
- N_("Useless"), "Useless", "Useless", "Useless", "Useless", "Useless",
- "Useless", "Useless", "Useless", "Useless", "Useless", "Useless",
- "Useless", "Useless", "Useless", "Useless", "Useless", "Useless",
- "Useless", "Useless", "Useless", "Useless"
+static const char *greatness[] = {
+ /* TRANS: <1>: The <ranking> Poles */
+ N_("%2d: The Magnificent %s"),
+ /* TRANS: <2>: The <ranking> Poles */
+ N_("%2d: The Great %s"),
+ /* TRANS: <3>: The <ranking> Poles */
+ N_("%2d: The Glorious %s"),
+ /* TRANS: <4>: The <ranking> Poles */
+ N_("%2d: The Excellent %s"),
+ /* TRANS: <5>: The <ranking> Poles */
+ N_("%2d: The Average %s"),
+ /* TRANS: <6>: The <ranking> Poles */
+ N_("%2d: The Mediocre %s"),
+ /* TRANS: <7>: The <ranking> Poles */
+ N_("%2d: The Pathetic %s"),
+ /* TRANS: <8>: The <ranking> Poles */
+ N_("%2d: The Useless %s"),
+ /* TRANS: <9>: The <ranking> Poles */
+ N_("%2d: The Worthless %s"),
};
/**************************************************************************
@@ -195,17 +220,23 @@
buffer[0] = '\0';
for (i = 0; i < j; i++) {
if (i == 0 || size[i].value < size[i - 1].value) {
- rank = i;
+ if (i >= sizeof(greatness)) {
+ rank = sizeof(greatness) - 1;
+ } else if (j >= sizeof(greatness)) {
+ rank = i;
+ } else {
+ rank = (i * sizeof(greatness)) / j;
+ }
}
cat_snprintf(buffer, sizeof(buffer),
- _("%2d: The %s %s\n"),
+ _(greatness[rank]),
rank + 1,
- _(greatness[rank]),
nation_plural_for_player(size[i].player));
+ mystrlcat(buffer, "\n", sizeof(buffer));
}
my_snprintf(title, sizeof(title), _(historian_message[which_news]),
- _(historian_name[myrand(ARRAY_SIZE(historian_name))]),
- textyear(game.info.year));
+ textyear(game.info.year),
+ _(historian_name[myrand(ARRAY_SIZE(historian_name))]));
page_conn_etype(game.est_connections, _("Historian Publishes!"),
title, buffer, E_BROADCAST_REPORT);
}
_______________________________________________
Freeciv-dev mailing list
[email protected]
https://mail.gna.org/listinfo/freeciv-dev