Re: [Freeciv-Dev] (PR#39638) Non i18n'd string in client/helpdata.c

2007-09-01 Thread Joan Creus

http://bugs.freeciv.org/Ticket/Display.html?id=39638 >

I'm impressed. I said it didn't look hard, but, seeing the result, I've
changed my mind.

The help information is much better now. Just to nitpick, I think the
sentences like:

Each worked tile with at least 1 Trade will yield 1 more it.

should be

Each worked tile with at least 1 Trade will yield 1 more of it.

Thanks a lot,

Joan

2007/9/1, Marko Lindqvist <[EMAIL PROTECTED]>:
>
>
> http://bugs.freeciv.org/Ticket/Display.html?id=39638 >
>
> On 01/09/2007, Marko Lindqvist  wrote>
> >
> > On 31/08/2007, Joan Creus  wrote:
> > >
> > > Anyway, implementing an
> > > and-list and an or-list shouldn't be too hard, and it pays off with
> more
> > > natural sentences.
> >
> >  Attached patch does that. It also makes help a bit more complete and
> > fixes some logical errors.
>
> TRUNK version.
>
>
> - ML
>
>
>

I'm impressed. I said it didn't look hard, but, seeing the result, I've changed my mind.The help information is much better now. Just to nitpick, I think the sentences like:Each worked tile with at least 1 Trade will yield 1 more it.
should beEach worked tile with at least 1 Trade will yield 1 more of it.Thanks a lot,Joan2007/9/1, Marko Lindqvist <
[EMAIL PROTECTED]>:
http://bugs.freeciv.org/Ticket/Display.html?id=39638 >On 01/09/2007, Marko Lindqvist  wrote>>> On 31/08/2007, Joan Creus  wrote:> >> > Anyway, implementing an> > and-list and an or-list shouldn't be too hard, and it pays off with more
> > natural sentences.>>  Attached patch does that. It also makes help a bit more complete and> fixes some logical errors. TRUNK version. - ML

___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


Re: [Freeciv-Dev] (PR#39638) Non i18n'd string in client/helpdata.c

2007-09-01 Thread Marko Lindqvist

http://bugs.freeciv.org/Ticket/Display.html?id=39638 >

On 01/09/2007, Marko Lindqvist  wrote>
>
> On 31/08/2007, Joan Creus  wrote:
> >
> > Anyway, implementing an
> > and-list and an or-list shouldn't be too hard, and it pays off with more
> > natural sentences.
>
>  Attached patch does that. It also makes help a bit more complete and
> fixes some logical errors.

 TRUNK version.


 - ML

diff -Nurd -X.diff_ignore freeciv/client/helpdata.c freeciv/client/helpdata.c
--- freeciv/client/helpdata.c	2007-08-31 11:51:59.0 +0300
+++ freeciv/client/helpdata.c	2007-09-01 11:35:54.0 +0300
@@ -1249,27 +1249,112 @@
   effect_list_iterate(get_req_source_effects(&source), peffect) {
 Output_type_id output_type = O_LAST;
 struct unit_class *unitclass = NULL;
+struct unit_type *unittype = NULL;
 enum unit_flag_id unitflag = F_LAST;
-const char *output = "All";
+struct astring outputs_or = ASTRING_INIT;
+struct astring outputs_and = ASTRING_INIT;
+bool extra_reqs = FALSE;
+
+astr_clear(&outputs_or);
+astr_clear(&outputs_and);
 
 /* Grab output type, if there is one */
 requirement_list_iterate(peffect->reqs, preq) {
   switch (preq->source.kind) {
-  case VUT_OTYPE:
-output_type = preq->source.value.outputtype;
-output = get_output_name(output_type);
-break;
-  case VUT_UCLASS:
-unitclass = preq->source.value.uclass;
-break;
-  case VUT_UTFLAG:
-unitflag = preq->source.value.unitflag;
-break;
-  default:
-break;
+   case VUT_OTYPE:
+ if (output_type == O_LAST) {
+   /* We should never have multiple outputtype requirements
+* in one list in the first place (it simply makes no sense,
+* output cannot be of multiple types)
+* Ruleset loading code should check against that. */
+   const char *oname;
+   
+   output_type = preq->source.value.outputtype;
+   oname = get_output_name(output_type);
+   astr_add(&outputs_or, oname);
+   astr_add(&outputs_and, oname);
+ }
+ break;
+   case VUT_UCLASS:
+ if (unitclass == NULL) {
+   unitclass = preq->source.value.uclass;
+ }
+ break;
+   case VUT_UTYPE:
+ if (unittype == NULL) {
+   unittype = preq->source.value.utype;
+ }
+ break;
+   case VUT_UTFLAG:
+ if (unitflag == F_LAST) {
+   /* FIXME: We should list all the unit flag requirements,
+*not only first one. */
+   unitflag = preq->source.value.unitflag;
+ }
+ break;
+   case VUT_GOVERNMENT:
+ /* This is government we are generating helptext for.
+  * ...or if not, it's ruleset bug that should never make it
+  * this far. Fix ruleset loading code. */
+ break;
+   default:
+ extra_reqs = TRUE;
+ break;
   };
 } requirement_list_iterate_end;
 
+if (!extra_reqs) {
+  /* Only list effects that have no special requirements. */
+ 
+  if (output_type == O_LAST) {
+/* There was no outputtype requirement. Effect is active for all
+ * output types. Generate lists for that. */
+const char *prev  = NULL;
+const char *prev2 = NULL;
+bool harvested_only = TRUE; /* Consider only output types from fields */
+
+if (peffect->type == EFT_UPKEEP_FACTOR
+|| peffect->type == EFT_UNIT_UPKEEP_FREE_PER_CITY
+|| peffect->type == EFT_OUTPUT_BONUS
+|| peffect->type == EFT_OUTPUT_BONUS_2) {
+  /* Effect can use or require any kind of output */
+  harvested_only = FALSE;
+}
+ 
+output_type_iterate(ot) {
+  struct output_type *pot = get_output_type(ot);
+ 
+  if (!harvested_only || pot->harvested) {
+if (prev2 != NULL) {
+  astr_add(&outputs_or,  prev2);
+  astr_add(&outputs_or,  ", ");
+  astr_add(&outputs_and, prev2);
+  astr_add(&outputs_and, ", ");
+}
+prev2 = prev;
+prev = _(pot->name);
+  }
+} output_type_iterate_end;
+if (prev2 != NULL) {
+  astr_add(&outputs_or, prev2);
+  /* TRANS: List of possible output types has this between
+   *last two elements */
+  astr_add(&outputs_or,  Q_("?outputlist: or "));
+  astr_add(&outputs_and, prev2);
+  /* TRANS: List of possible output types has this between
+   *last two elements */
+  astr_add(&outputs_and, Q_("?outputlist: and "));
+}
+if (prev != NULL) {
+  astr_add(&outputs_or, prev);
+  astr_add(&outputs_and, prev);
+} else {
+  /* TRANS: Empty output type list, should never happen. */
+  astr_add(&outputs_or,  Q_("?outputlist: Nothing "));
+  astr

Re: [Freeciv-Dev] (PR#39638) Non i18n'd string in client/helpdata.c

2007-08-31 Thread Marko Lindqvist

http://bugs.freeciv.org/Ticket/Display.html?id=39638 >

On 31/08/2007, Joan Creus  wrote:
>
> Anyway, implementing an
> and-list and an or-list shouldn't be too hard, and it pays off with more
> natural sentences.

 Attached patch does that. It also makes help a bit more complete and
fixes some logical errors.
 - If government is only one of the requirements, do not always list
effect as something government gives. (This should list effect with
requirement list, but until that is implemented it's better not to
claim that despotism gives +75% shield bonus (as that's only true for
city with Palace))

 This is S2_1 version. I had to touch two existing translatable strings.


 - ML

diff -Nurd -X.diff_ignore freeciv/client/helpdata.c freeciv/client/helpdata.c
--- freeciv/client/helpdata.c	2007-07-04 14:04:27.0 +0300
+++ freeciv/client/helpdata.c	2007-09-01 02:59:53.0 +0300
@@ -1282,21 +1282,112 @@
   effect_list_iterate(get_req_source_effects(&source), peffect) {
 Output_type_id output_type = O_LAST;
 struct unit_class *unitclass = NULL;
+struct unit_type *unittype = NULL;
 enum unit_flag_id unitflag = F_LAST;
-const char *output = "All";
+struct astring outputs_or = ASTRING_INIT;
+struct astring outputs_and = ASTRING_INIT;
+bool extra_reqs = FALSE;
+
+astr_clear(&outputs_or);
+astr_clear(&outputs_and);
 
 /* Grab output type, if there is one */
 requirement_list_iterate(peffect->reqs, preq) {
-  if (preq->source.type == REQ_OUTPUTTYPE) {
-output_type = preq->source.value.outputtype;
-output = get_output_name(output_type);
-  } else if (preq->source.type == REQ_UNITCLASS) {
-unitclass = preq->source.value.unitclass;
-  } else if (preq->source.type == REQ_UNITFLAG) {
-unitflag = preq->source.value.unitflag;
+  switch (preq->source.type) {
+   case REQ_OUTPUTTYPE:
+ if (output_type == O_LAST) {
+   /* We should never have multiple outputtype requirements
+* in one list in the first place (it simply makes no sense,
+* output cannot be of multiple types)
+* Ruleset loading code should check against that. */
+   const char *oname;
+
+   output_type = preq->source.value.outputtype;
+   oname = get_output_name(output_type);
+   astr_add(&outputs_or, oname);
+  astr_add(&outputs_and, oname);
+ }
+ break;
+   case REQ_UNITCLASS:
+ if (unitclass == NULL) {
+   unitclass = preq->source.value.unitclass;
+ }
+ break;
+   case REQ_UNITFLAG:
+ if (unitflag == F_LAST) {
+   /* FIXME: We should list all the unit flag requirements,
+*not only first one. */
+   unitflag = preq->source.value.unitflag;
+ }
+ break;
+   case REQ_UNITTYPE:
+ if (unittype == NULL) {
+   unittype = preq->source.value.unittype;
+ }
+ break;
+   case REQ_GOV:
+ /* This is government we are generating helptext for.
+  * ...or if not, it's ruleset bug that should never make it
+  * this far. Fix ruleset loading code. */
+ break;
+   default:
+ extra_reqs = TRUE;
+ break;
   }
 } requirement_list_iterate_end;
 
+if (!extra_reqs) {
+  /* Only list effects that have no special requirements. */
+
+  if (output_type == O_LAST) {
+/* There was no outputtype requirement. Effect is active for all
+ * output types. Generate lists for that. */
+const char *prev  = NULL;
+const char *prev2 = NULL;
+bool harvested_only = TRUE; /* Consider only output types from fields */
+
+if (peffect->type == EFT_UPKEEP_FACTOR
+|| peffect->type == EFT_UNIT_UPKEEP_FREE_PER_CITY
+|| peffect->type == EFT_OUTPUT_BONUS
+|| peffect->type == EFT_OUTPUT_BONUS_2) {
+  /* Effect can use or require any kind of output */
+  harvested_only = FALSE;
+}
+
+output_type_iterate(ot) {
+  struct output_type *pot = get_output_type(ot);
+
+  if (!harvested_only || pot->harvested) {
+if (prev2 != NULL) {
+  astr_add(&outputs_or,  prev2);
+  astr_add(&outputs_or,  ", ");
+  astr_add(&outputs_and, prev2);
+  astr_add(&outputs_and, ", ");
+}
+prev2 = prev;
+prev = _(pot->name);
+  }
+} output_type_iterate_end;
+if (prev2 != NULL) {
+  astr_add(&outputs_or, prev2);
+  /* TRANS: List of possible output types has this between
+   *last two elements */
+  astr_add(&outputs_or,  Q_("?outputlist: or "));
+  astr_add(&outputs_and, prev2);
+  /* TRANS: List of possible output types has this between
+   *last two elements */
+  astr_add(&outputs_and, Q_("?outpu

Re: [Freeciv-Dev] (PR#39638) Non i18n'd string in client/helpdata.c

2007-08-31 Thread Joan Creus

http://bugs.freeciv.org/Ticket/Display.html?id=39638 >

2007/8/31, Marko Lindqvist <[EMAIL PROTECTED]>:
>
>
> http://bugs.freeciv.org/Ticket/Display.html?id=39638 >
>
> On 31/08/2007, Joan Creus <[EMAIL PROTECTED]> wrote:
> > The way I have translated these strings might help. I have adapted the
> > sentence to read:
> >
> > "Each worked tile with at least 1 point of  %s will yield ..."
> >
> > Then "All" might become "all kinds of output", or "any output", or
> something
> > similar, and it would fit in all the sentences Marko has dug up. Of
> course,
> > some translator comments would be essential for us translators to make
> it
> > fit in the sentences.
>
> Those sentences where it appears twice, are problematic:
> "... at least 1 point of any output, will yield 2 additional points of
> any output"
> should be
> "... at least 1 point of any output, will yield 2 additional points of
> that output"
>
> And it would be good if we could avoid using such internal concepts
> as 'output' in end-user help.
>
How about generating list of output types currently in use? That
> would turn out something like "food, trade or shields".
> and some example sentences (some using that list, some with specific
> output):


You have a point here. After all, this is the help system. The more info we
give, and the less ambiguous, the better. I don't like "production" (I tend
to think of production as synonymous with shields), and "output" is only
slightly better. Definitely, listing the three items is best.

"... at least 1 point of 'food, trade or shields', will yield 2
> additional points of it."
> "... at least 1 point of 'food', will yield 2 additional points of it."
>
> Or do we need two lists? 'or' -list and 'and' -list.
>
> "You pay 2 times normal 'food, trade and shields' upkeep for your units."
> "You pay 2 times normal 'food' upkeep for your units."


But I thought upkeep was only paid  with  shields, isn't it? Apart for the
food for Settlers, of course. Perhaps your are thinking of alternate
rulesets where upkeep may be paid with everything? Anyway, implementing an
and-list and an or-list shouldn't be too hard, and it pays off with more
natural sentences.


> Some sentences should be modified, too; anyway, "All production will
> suffer
> > massive waste" is misleading, if it refers to both trade and shields
> > (perhaps also food?). Maybe just removing "production" will do the
> trick:
>
> "'food, trade and shields' production will suffer massive waste"
> "'food' production will suffer massive waste"


Yes, this way it gets clear, and the word "production" fits just fine.

Joan

2007/8/31, Marko Lindqvist <[EMAIL PROTECTED]>:
http://bugs.freeciv.org/Ticket/Display.html?id=39638 >On 31/08/2007, Joan Creus <[EMAIL PROTECTED]
> wrote:> The way I have translated these strings might help. I have adapted the> sentence to read:>> "Each worked tile with at least 1 point of  %s will yield ...">
> Then "All" might become "all kinds of output", or "any output", or something> similar, and it would fit in all the sentences Marko has dug up. Of course,> some translator comments would be essential for us translators to make it
> fit in the sentences. Those sentences where it appears twice, are problematic:"... at least 1 point of any output, will yield 2 additional points ofany output"should be"... at least 1 point of any output, will yield 2 additional points of
that output" And it would be good if we could avoid using such internal conceptsas 'output' in end-user help. 
 How about generating list of output types currently in use? Thatwould turn out something like "food, trade or shields". and some example sentences (some using that list, some with specific output):
You have a point here. After all, this is the help system. The more info we give, and the less ambiguous, the better. I don't like "production" (I tend to think of production as synonymous with shields), and "output" is only slightly better. Definitely, listing the three items is best.
"... at least 1 point of 'food, trade or shields', will yield 2
additional points of it.""... at least 1 point of 'food', will yield 2 additional points of it." Or do we need two lists? 'or' -list and 'and' -list."You pay 2 times normal 'food, trade and shields' upkeep for your units."
"You pay 2 times normal 'food' upkeep for your units."But I thought upkeep was only paid  with  shields, isn't it? Apart for the food for Settlers, of course. Perhaps your are thinking of alternate rulesets where upkeep may be paid with everything? Anyway, implementing an and-list and an or-list shouldn't be too hard, and it pays off with more natural sentences.
> Some sentences should be modified, too; anyway, "All production will suffer
> massive waste" is misleading, if it refers to both trade and shields> (perhaps also food?). Maybe just removing "production" will do the trick:"'food, trade and shields' production will suffer massive waste"
"'food' production will suffer massive waste"Yes, this way 

Re: [Freeciv-Dev] (PR#39638) Non i18n'd string in client/helpdata.c

2007-08-31 Thread Joan Creus

http://bugs.freeciv.org/Ticket/Display.html?id=39638 >

The way I have translated these strings might help. I have adapted the
sentence to read:

"Each worked tile with at least 1 point of  %s will yield ..."

Then "All" might become "all kinds of output", or "any output", or something
similar, and it would fit in all the sentences Marko has dug up. Of course,
some translator comments would be essential for us translators to make it
fit in the sentences.

Some sentences should be modified, too; anyway, "All production will suffer
massive waste" is misleading, if it refers to both trade and shields
(perhaps also food?). Maybe just removing "production" will do the trick:

"each worked tile with at least 1 point of  'any output' will yield..."
"any output" "will suffer massive waste"
"any output" "waste will increase ..."

What do you think?

Joan

2007/8/31, Marko Lindqvist <[EMAIL PROTECTED]>:
>
>
> http://bugs.freeciv.org/Ticket/Display.html?id=39638 >
>
> On 31/08/2007, Daniel Markstedt <[EMAIL PROTECTED]> wrote:
> >
> >
> > The sentence produced by this string is awful even in its raw English
> form:
> >
> >  * Each worked tile that gives more than 2 All will suffer a -1
> > penalty when not celebrating.
> >
> > Wouldn't it make more sense to replace 'All' with something like 'of
> > any output'?
>
> ...with some code changes and additional strings. It is currently
> used in sentences:
>
> "Each worked tile that gives more than %d  will suffer a -1
> penalty when not celebrating."
> "Each worked tile with at least 1  will yield %d additional 
> when celebrating."
> "Each worked tile with at least 1  will yield %d additional ."
> " production will suffer massive waste."
> " production will suffer some waste."
> " production will suffer a small amount of waste."
> " waste will increase quickly with distance from capital."
> " waste will increase with distance from capital."
> " waste will increase slowly with distance from capital."
>
> Following sentences also use 'output', but they should only appear if
> there
> is some real output type (and not with "All"):
> "You pay %d times normal  upkeep for your units."
> "Each of your cities will avoid paying %d  towards unit upkeep."
>
>
> This help generation function is very broken considering alternative
> rulesets (not only that it lacks information, but it also produces
> misinformation in some cases)
>
>
> - ML
>
>
>

The way I have translated these strings might help. I have adapted the sentence to read:
 
"Each worked tile with at least 1 point of  %s will yield ..." 
Then "All" might become "all kinds of output", or "any output", or something similar, and it would fit in all the sentences Marko has dug up. Of course, some translator comments would be essential for us translators to make it fit in the sentences.

 
Some sentences should be modified, too; anyway, "All production will suffer massive waste" is misleading, if it refers to both trade and shields (perhaps also food?). Maybe just removing "production" will do the trick:

 
"each worked tile with at least 1 point of  'any output' will yield..."
"any output" "will suffer massive waste"
"any output" "waste will increase ..."
 
What do you think?
Joan
 
2007/8/31, Marko Lindqvist <[EMAIL PROTECTED]>:
http://bugs.freeciv.org/Ticket/Display.html?id=39638
 >On 31/08/2007, Daniel Markstedt <[EMAIL PROTECTED]> wrote:>>> The sentence produced by this string is awful even in its raw English form:
>>  * Each worked tile that gives more than 2 All will suffer a -1> penalty when not celebrating.>> Wouldn't it make more sense to replace 'All' with something like 'of
> any output'?...with some code changes and additional strings. It is currentlyused in sentences:"Each worked tile that gives more than %d  will suffer a -1penalty when not celebrating."
"Each worked tile with at least 1  will yield %d additional when celebrating.""Each worked tile with at least 1  will yield %d additional ."" production will suffer massive waste."
" production will suffer some waste."" production will suffer a small amount of waste."" waste will increase quickly with distance from capital."
" waste will increase with distance from capital."" waste will increase slowly with distance from capital."Following sentences also use 'output', but they should only appear if there
is some real output type (and not with "All"):"You pay %d times normal  upkeep for your units.""Each of your cities will avoid paying %d  towards unit upkeep."
This help generation function is very broken considering alternativerulesets (not only that it lacks information, but it also producesmisinformation in some cases)- ML

___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


Re: [Freeciv-Dev] (PR#39638) Non i18n'd string in client/helpdata.c

2007-08-31 Thread Marko Lindqvist

http://bugs.freeciv.org/Ticket/Display.html?id=39638 >

On 31/08/2007, Joan Creus <[EMAIL PROTECTED]> wrote:
> The way I have translated these strings might help. I have adapted the
> sentence to read:
>
> "Each worked tile with at least 1 point of  %s will yield ..."
>
> Then "All" might become "all kinds of output", or "any output", or something
> similar, and it would fit in all the sentences Marko has dug up. Of course,
> some translator comments would be essential for us translators to make it
> fit in the sentences.

 Those sentences where it appears twice, are problematic:
"... at least 1 point of any output, will yield 2 additional points of
any output"
should be
"... at least 1 point of any output, will yield 2 additional points of
that output"

 And it would be good if we could avoid using such internal concepts
as 'output' in end-user help.

 How about generating list of output types currently in use? That
would turn out something like "food, trade or shields".
 and some example sentences (some using that list, some with specific output):

"... at least 1 point of 'food, trade or shields', will yield 2
additional points of it."
"... at least 1 point of 'food', will yield 2 additional points of it."

 Or do we need two lists? 'or' -list and 'and' -list.

"You pay 2 times normal 'food, trade and shields' upkeep for your units."
"You pay 2 times normal 'food' upkeep for your units."


> Some sentences should be modified, too; anyway, "All production will suffer
> massive waste" is misleading, if it refers to both trade and shields
> (perhaps also food?). Maybe just removing "production" will do the trick:

"'food, trade and shields' production will suffer massive waste"
"'food' production will suffer massive waste"


 - ML



___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


Re: [Freeciv-Dev] (PR#39638) Non i18n'd string in client/helpdata.c

2007-08-30 Thread Marko Lindqvist

http://bugs.freeciv.org/Ticket/Display.html?id=39638 >

On 31/08/2007, Daniel Markstedt <[EMAIL PROTECTED]> wrote:
>
>
> The sentence produced by this string is awful even in its raw English form:
>
>  * Each worked tile that gives more than 2 All will suffer a -1
> penalty when not celebrating.
>
> Wouldn't it make more sense to replace 'All' with something like 'of
> any output'?

 ...with some code changes and additional strings. It is currently
used in sentences:

"Each worked tile that gives more than %d  will suffer a -1
penalty when not celebrating."
"Each worked tile with at least 1  will yield %d additional 
when celebrating."
"Each worked tile with at least 1  will yield %d additional ."
" production will suffer massive waste."
" production will suffer some waste."
" production will suffer a small amount of waste."
" waste will increase quickly with distance from capital."
" waste will increase with distance from capital."
" waste will increase slowly with distance from capital."

Following sentences also use 'output', but they should only appear if there
is some real output type (and not with "All"):
"You pay %d times normal  upkeep for your units."
"Each of your cities will avoid paying %d  towards unit upkeep."


 This help generation function is very broken considering alternative
rulesets (not only that it lacks information, but it also produces
misinformation in some cases)


 - ML



___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


Re: [Freeciv-Dev] (PR#39638) Non i18n'd string in client/helpdata.c

2007-08-30 Thread Daniel Markstedt

http://bugs.freeciv.org/Ticket/Display.html?id=39638 >

On 8/31/07, Joan Creus <[EMAIL PROTECTED]> wrote:
>
> http://bugs.freeciv.org/Ticket/Display.html?id=39638
> >
>
> In client/helpdata.c, line 1253 (revision 13433) (within
> helptext_government()) the output variable is assigned "All", without the _(
>
>const char *output = "All";
>
> As far as I've seen, in the default ruleset, this string only appears on the
> help text for both Anarchy and Despotism, where it says that "each worked
> tile that gives more than %d %s will suffer a -1 penalty when not
> celebrating."
>
> It's most obvious in my language, because "All" means "garlic", so the
> message becomes something like "if a worked tile gives more than 2 garlic
> you will get a penalty". Kinda misleading.
>
> I'm not sure if it's just a matter of sticking the _( in front, or there are
> more implications in the logic of the program.
>
> Cheers,
>
> Joan
>

The sentence produced by this string is awful even in its raw English form:

 * Each worked tile that gives more than 2 All will suffer a -1
penalty when not celebrating.

Wouldn't it make more sense to replace 'All' with something like 'of
any output'?

 ~Daniel



___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


[Freeciv-Dev] (PR#39638) Non i18n'd string in client/helpdata.c

2007-08-30 Thread Joan Creus

http://bugs.freeciv.org/Ticket/Display.html?id=39638 >

In client/helpdata.c, line 1253 (revision 13433) (within
helptext_government()) the output variable is assigned "All", without the _(

   const char *output = "All";

As far as I've seen, in the default ruleset, this string only appears on the
help text for both Anarchy and Despotism, where it says that "each worked
tile that gives more than %d %s will suffer a -1 penalty when not
celebrating."

It's most obvious in my language, because "All" means "garlic", so the
message becomes something like "if a worked tile gives more than 2 garlic
you will get a penalty". Kinda misleading.

I'm not sure if it's just a matter of sticking the _( in front, or there are
more implications in the logic of the program.

Cheers,

Joan

In client/helpdata.c, line 1253 (revision 13433) (within helptext_government()) the output variable is assigned "All", without the _(   const char *output = "All";As far as I've seen, in the default ruleset, this string only appears on the help text for both Anarchy and Despotism, where it says that "each worked tile that gives more than %d %s will suffer a -1 penalty when not celebrating."
It's most obvious in my language, because "All" means "garlic", so the message becomes something like "if a worked tile gives more than 2 garlic you will get a penalty". Kinda misleading.
I'm not sure if it's just a matter of sticking the _( in front, or there are more implications in the logic of the program.Cheers,Joan
___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev