[Freeciv-Dev] [bug #20698] Version check incorrectly considers 2.4.0 older than 2.4.0-beta1

2013-04-06 Thread Jacob Nevins
Update of bug #20698 (project freeciv):

  Status:None = Ready For Test 
 Assigned to: jtn = cazfi  

___

Follow-up Comment #1:

Attached a proposed rework of cvercmp which uses subtokenization always, so
that in addition to upstream 1.0.2 2.4.0-beta1  2.4.0, we have
2.4.0-betamax  2.4.0.

Also attached an overengineered regression test suite for upstream, which
passes with this patch and fails without (and could have triggered the
segfaults of bug #20680). (Perhaps this should be plumbed into the build
system somehow? I haven't investigated.)

Assigned to cazfi to decide whether he likes them for upstream. If so, I can
turn the net cvercmp.c change (previous + this) into a Freeciv patch.

(file #17683, file #17684)
___

Additional Item Attachment:

File name: cvercmp-subtokenize-more.patch Size:7 KB
File name: cvercmp-test-suite.patch   Size:8 KB


___

Reply to this item at:

  http://gna.org/bugs/?20698

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [patch #3836] Documentation update for requirements

2013-04-06 Thread Emmet Hikory
Follow-up Comment #1, patch #3836 (project freeciv):

My apologies: apparently I failed to test that sufficiently.  Please find an
updated patch that doesn't have the silly typos.

(file #17685)
___

Additional Item Attachment:

File name: reqs-docs-update.patch Size:6 KB


___

Reply to this item at:

  http://gna.org/patch/?3836

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20717] lbaselib.c:37:14: error: ignoring return value of 'fwrite', declared with attribute warn_unused_result

2013-04-06 Thread Jacob Nevins
Follow-up Comment #1, bug #20717 (project freeciv):

Bleh, another warning in upstream Lua.

Is there any scope on OpenSUSE for using --enable-sys-lua and depending on a
prepackaged Lua? If such exists, presumably they'll have already dealt with
this warning.

___

Reply to this item at:

  http://gna.org/bugs/?20717

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20717] lbaselib.c:37:14: error: ignoring return value of 'fwrite', declared with attribute warn_unused_result

2013-04-06 Thread Matthias Pfafferodt
Follow-up Comment #2, bug #20717 (project freeciv):

I can use system lua for opensuse = 12.2. On this distributions lua 5.2 is
available. Thus svn2_5 is not build for opensuse 12.1 anymore.

see:
https://build.opensuse.org/project/monitor?project=home%3Asyntron%3Afreeciv

___

Reply to this item at:

  http://gna.org/bugs/?20717

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20585] variable 'punit' set but not used in citytools.c

2013-04-06 Thread Matthias Pfafferodt
Update of bug #20585 (project freeciv):

  Status:None = Ready For Test 

___

Follow-up Comment #3:

the attached patch removes the compiler option NDEBUG from the mysql CFLAGS -
building finishes now without problems. Can it be applied?

(file #17687)
___

Additional Item Attachment:

File name: 0001-remove-NDEBUG-from-mysql-cflags.patch Size:0 KB


___

Reply to this item at:

  http://gna.org/bugs/?20585

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20698] Version check incorrectly considers 2.4.0 older than 2.4.0-beta1

2013-04-06 Thread Marko Lindqvist
Follow-up Comment #2, bug #20698 (project freeciv):

One thing I have to decide about accepting contributions to upstream cvercmp
is licensing. Currently I have copyright of everything in there, so I have
freedom to relicense / dual (and more) license how ever I wish. I'd like to
keep that right to myself - not so much for cvercmp itself as for some other
projects where I have copy of it included.
Obviously by submitting copy to freeciv I've given that version out as GPLv2+
at least (but I can still dual-license it).

One solution would be jtn granting copyright over his contributions to me (the
fsf way of handling contributions)

___

Reply to this item at:

  http://gna.org/bugs/?20698

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20698] Version check incorrectly considers 2.4.0 older than 2.4.0-beta1

2013-04-06 Thread Jacob Nevins
Follow-up Comment #3, bug #20698 (project freeciv):

 One solution would be jtn granting copyright over his 
 contributions to me (the fsf way of handling contributions)
I'm fine with assigning copyright to you for the cvercmp changes I've
submitted to date under this ticket and bug #20680.

___

Reply to this item at:

  http://gna.org/bugs/?20698

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20710] Editor can't place Maglev in alien or experimental rulesets

2013-04-06 Thread Emmet Hikory
Follow-up Comment #3, bug #20710 (project freeciv):

Thinking about this in more depth, I'm less certain it works quite as well as
I thought.  While informing autosettlers about maglev needing road seems to
make them make more roads, I think they do it for the wrong reasons: they are
looking at maglev+road, rather maglev+highway/railroad+road to determine the
time and benefits.  To do what I thought it should do would require using a
recursive iterator to set the total dep_time and dep_value for the full stack
of roads, which gets expensive (and probably repetitious).  For now, ruleset
authors with multistep roads should ensure that either the next road to be
built or the one after that has a tile bonus or expect that the road will only
be built for transportation purposes.

As much as I think there remains an autosettler bug (causing autosettlers to
prefer roads less than they should), that's a sufficiently different issue
that it's not worth conflating them (for all that testing my initial naive
solution happened to appear to work).

___

Reply to this item at:

  http://gna.org/bugs/?20710

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20693] Civil war not possible when there's 125 normal players and a barbarian

2013-04-06 Thread Jacob Nevins
Update of bug #20693 (project freeciv):

 Planned Release: 2.3.5, 2.4.0, 2.5.0 = 2.3.5, 2.4.0-beta2, 2.5.0


___

Reply to this item at:

  http://gna.org/bugs/?20693

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20498] Pirate archers alone in the water

2013-04-06 Thread Jacob Nevins
Follow-up Comment #15, bug #20498 (project freeciv):

I'm still struggling to describe the change made here for NEWS.
Am I right in thinking that the original symptom was finally explained by bug
#20699, and that the only known user-visible change here is to fix the
unloading in assert-less release builds?

___

Reply to this item at:

  http://gna.org/bugs/?20498

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #18040] strange CMA behavior

2013-04-06 Thread Jacob Nevins
Update of bug #18040 (project freeciv):

  Status:None = Duplicate  
 Open/Closed:Open = Closed 


___

Reply to this item at:

  http://gna.org/bugs/?18040

___
  Message sent via/by Gna!
  http://gna.org/


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


Re: [Freeciv-Dev] [Freeciv-i18n] negated support in helpdata.c

2013-04-06 Thread Hubert Kowalewski
Hi,

While I'm hardly an authority on the coding bit, from the point of view of
the translator the 1st method look nice. In principle, I would go for
static grammar and would not like dynamically generated sentences. If I
understand this correctly, dynamic sentences could more or less work for
my language (Polish), but I'm not sure if negative sentences can be easily
auto-generated in other languages, so (as a translator) I'd leave as much
freedom and flexibility to translators.

Hubert


On 5 April 2013 22:07, Marko Lindqvist cazf...@gmail.com wrote:

 Adding i18n list as this is mainly concern for translations.


 On 5 April 2013 20:19, Emmet Hikory per...@shipstone.jp wrote:

 As part of the general coverage of negated I wanted to update
 the helpdata, so that it didn't report Requires Amphibious Elephants
 when in fact if one had built that road adjacent to the city, one would be
 *unable* to build the Miniature Aquarium SmallWonder.  Reviewing what
 was
 already there led to patch #3836, but I stumbled when it came to adding
 the
 negation, as there were four sensible ways to do it, and I'd rather ask
 which is preferred than just do it the wrong way and need to redo it.

 Method 1: static grammar, static strings
 Define four strings in the beginning of insert_requirement(), being
 Requires that, Prevented by, Applies to, Does not apply to or
 similar.  Rephrase all the helpstrings to start with one of these pairs
 of strings, and use preq-negated : reqstring ? nreqstring or similar as
 an additional %s parameter in the cat_snprintf() calls.


  Those should be full format strings (with '%s' in them) so that
 translators are free to set order of words (i.e. there can be something
 *after* %s) as their target language requires. Requires %s, Prevented by
 %s, Applies to %s, Does not apply to %s.


 Method 2: static grammer, dynamic strings
 Define two string variables at the beginning of insert_requirement(),
 being Requires that and Applies to.  Have a single conditional on
 preq-negated that would reset these strings to something else if it was
 met.  Rephrase all the helpstrings to start with one of these pairs of
 strings, and use reqstring or appstring as an additional %s parameter.

 Method 3: dynamic grammar, compound calls
 Replace the current translated strings with pairs of translated
 strings
 depending on whether this is a positive or negative requirement.  Decide
 which
 to use with preq-negated : _(First String) ? _(Second String)
 embedded
 in the cat_snprintf() calls.

 Method 4: dynamic grammar, conditional calls
 Duplicate and wrap the snprintf() calls in preq-negated conditionals.
 Rewrite the negative text in every case.

 Advice, selection, or recommendation of even better ways to do it
 welcome.

 --
 Emmet HIKORY



  - ML


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




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


[Freeciv-Dev] [bug #20598] Something funny with Ready checkboxes in pregame screen

2013-04-06 Thread Jacob Nevins
Follow-up Comment #2, bug #20598 (project freeciv):

The same happens with tables containing checkboxes in the editor (e.g.,
buildings in city).

It appears to only happen with the Freeciv theme, so I assume the bug lies
there.

___

Reply to this item at:

  http://gna.org/bugs/?20598

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20706] Not setting increment for rates_lux_scale

2013-04-06 Thread Jacob Nevins
Update of bug #20706 (project freeciv):

Operating System:None = Any
 Planned Release:2.4.0, 2.5.0 = 2.4.0-beta2, 2.5.0 

___

Follow-up Comment #1:

(I think the main effect of the existing change is to allow the arrow keys to
work for luxury?)

 Noticed that there's 12 steps marked. 0%, 10% ... 110% ?
 Tested only with Despotism as government, so was unable to get 
 past 60% mark.
(My standard dodge for quickly testing governments is to build a city with an
initial settler then use the editor to put Statue of Liberty there.)

Indeed, testing with Democracy shows that we have an extra superfluous
checkmark. Making the obvious changes to remove it doesn't have any obvious
ill effect.

Attached a patch which incorporates the previous one and adds this change
(which would make this into a general fix Gtk3 rates dialog ticket, but it
doesn't seem worth separating).

(Another very minor thing I notice is that with the Freeciv theme, clicking
around the rates dialog, the papery background seems to crawl a bit.)

(file #17689)
___

Additional Item Attachment:

File name: trunk-S2_4-gtk3-ratesdlg-scales.patch Size:2 KB


___

Reply to this item at:

  http://gna.org/bugs/?20706

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20720] Transport allied cargo check doesn't recurse

2013-04-06 Thread Jacob Nevins
URL:
  http://gna.org/bugs/?20720

 Summary: Transport allied cargo check doesn't recurse
 Project: Freeciv
Submitted by: jtn
Submitted on: Sat Apr  6 23:08:12 2013
Category: general
Severity: 3 - Normal
Priority: 5 - Normal
  Status: None
 Assigned to: None
Originator Email: 
 Open/Closed: Open
 Release: 
 Discussion Lock: Any
Operating System: Any
 Planned Release: 2.4.0,2.5.0

___

Details:

Noticed in passing: in unit_move_handling() there's a check when moving
transporters that we're not moving allied cargo from A onto a tile containing
units/city from ally B where A and B aren't allied. However, it only checks
for immediate cargo, not nested cargo.

Tested with attached (trunk) savegame. Illegal move is allowed, and then on
turn done, we get some assertion failures from the server.


1: in srv_running() [srv_main.c::2330]: assertion
'pplayers_allied(unit_owner(punit), unit_owner(punit2))' failed.
1: (  39,   29) at Ocean
1: in srv_running() [srv_main.c::2330]: assertion
'pplayers_allied(unit_owner(punit), unit_owner(punit2))' failed.
1: (  39,   29) at Ocean
1: in begin_turn() [srv_main.c::881]: assertion
'pplayers_allied(unit_owner(punit), unit_owner(punit2))' failed.
1: (  39,   29) at Ocean
1: in begin_turn() [srv_main.c::881]: assertion
'pplayers_allied(unit_owner(punit), unit_owner(punit2))' failed.
1: (  39,   29) at Ocean
1: in begin_phase() [srv_main.c::948]: assertion
'pplayers_allied(unit_owner(punit), unit_owner(punit2))' failed.
1: (  39,   29) at Ocean
1: in begin_phase() [srv_main.c::948]: assertion
'pplayers_allied(unit_owner(punit), unit_owner(punit2))' failed.
1: (  39,   29) at Ocean




___

File Attachments:


---
Date: Sat Apr  6 23:08:12 2013  Name: alliance-units.sav.bz2  Size: 14kB   By:
jtn
trunk savegame for testing allied cargo cases
http://gna.org/bugs/download.php?file_id=17690

___

Reply to this item at:

  http://gna.org/bugs/?20720

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20720] Transport allied cargo check doesn't recurse

2013-04-06 Thread Jacob Nevins
Update of bug #20720 (project freeciv):

  Status:None = Ready For Test 
 Assigned to:None = jtn
 Release: = 2.4.0-beta1

___

Follow-up Comment #1:

Patch fixes this in a slightly ad-hoc way.
Perhaps if we get many more of these we should add tools to iterate over
transported units, and/or is unit X transitively transported by Y.

(file #17691)
___

Additional Item Attachment:

File name: trunk-S2_4-allied-cargo-move.patch Size:1 KB


___

Reply to this item at:

  http://gna.org/bugs/?20720

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20702] Cannot move to unknown tiles via diagonal

2013-04-06 Thread Jacob Nevins
Follow-up Comment #1, bug #20702 (project freeciv):

How did you encounter this? Have you changed the ruleset so that you have a
unit with no vision radius? I don't think you can encounter this situation
with the supplied rulesets.

(I made such a modification and thought I'd maybe reproduced it, but now I
don't think I did.)

___

Reply to this item at:

  http://gna.org/bugs/?20702

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20694] in fill_sprite_array() [tilespec.c::4735]: assertion 't-sprites.background.graphic != NULL' failed

2013-04-06 Thread Jacob Nevins
Update of bug #20694 (project freeciv):

  Status:None = Ready For Test 
 Assigned to:None = jtn
 Release: = 2.4.0-beta1
Operating System:   GNU/Linux = Any
 Planned Release: = 2.4.0,2.5.0

___

Follow-up Comment #1:

Doesn't affect S2_3. I'd guess it came in with /playercolor; since the
background colour now comes from the server, it was only ever set in response
to a ruleset packet, and not after freeing on after-start tileset load.

(file #17692)
___

Additional Item Attachment:

File name: trunk-S2_4-tileset-reread-background.patch Size:0 KB


___

Reply to this item at:

  http://gna.org/bugs/?20694

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20682] unit_virtual_destroy() assertion '!unit_transported(punit)' failed (launching missile from sub to adjacent tile)

2013-04-06 Thread Jacob Nevins
Update of bug #20682 (project freeciv):

 Planned Release:   2.4.0 = 2.4.0,2.5.0


___

Reply to this item at:

  http://gna.org/bugs/?20682

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20682] unit_virtual_destroy() assertion '!unit_transported(punit)' failed (launching missile from sub to adjacent tile)

2013-04-06 Thread Jacob Nevins
Update of bug #20682 (project freeciv):

 Planned Release: 2.4.0,2.5.0 = 2.4.0-beta2,2.5.0  


___

Reply to this item at:

  http://gna.org/bugs/?20682

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20634] City size x, citizen count y with alternating movement

2013-04-06 Thread Jacob Nevins
Update of bug #20634 (project freeciv):

 Planned Release: = 2.4.0,2.5.0


___

Reply to this item at:

  http://gna.org/bugs/?20634

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20634] City size x, citizen count y with alternating movement

2013-04-06 Thread Jacob Nevins
Update of bug #20634 (project freeciv):

 Release: = S2_4   


___

Reply to this item at:

  http://gna.org/bugs/?20634

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20632] lua-5.2 compiler warnings (ignoring return value of 'fwrite')

2013-04-06 Thread Jacob Nevins
Update of bug #20632 (project freeciv):

 Planned Release: = 2.5.0  
 Summary: lua-5.2 compiler warnings = lua-5.2 compiler
warnings (ignoring return value of 'fwrite')

___

Follow-up Comment #1:

Also encountered by syntron on OpenSUSE: bug #20717.

___

Reply to this item at:

  http://gna.org/bugs/?20632

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20717] lbaselib.c:37:14: error: ignoring return value of 'fwrite', declared with attribute warn_unused_result

2013-04-06 Thread Jacob Nevins
Update of bug #20717 (project freeciv):

  Status:None = Duplicate  
 Open/Closed:Open = Closed 

___

Follow-up Comment #3:

See also bug #20632; closing this as duplicate.

___

Reply to this item at:

  http://gna.org/bugs/?20717

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20507] Barbarian nations in unknown group in civ2 ruleset

2013-04-06 Thread Jacob Nevins
Update of bug #20507 (project freeciv):

 Planned Release: = 2.4.0,2.5.0


___

Reply to this item at:

  http://gna.org/bugs/?20507

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20450] Crash: seg fault while spawning from transport?

2013-04-06 Thread Jacob Nevins
Update of bug #20450 (project freeciv):

 Release:  2.4.0_beta = 2.4.0-beta1

___

Follow-up Comment #1:

Backtrace looks to be while popping up the unit select dialog.

___

Reply to this item at:

  http://gna.org/bugs/?20450

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20408] Show current value of option too whenever a voting is cast

2013-04-06 Thread Jacob Nevins
Follow-up Comment #1, bug #20408 (project freeciv):

Couple of difficulties (not saying we shouldn't try to surmount them):
* Voting is on arbitrary server commands (not just setting options, although
that's the common case). Currently the voting code (e.g. describe_vote())
doesn't understand the meaning of the command enough to identify which option,
if any, is under discussion. (Clearly we could special-case this with enough
work, since parsing is happening for the pre-vote 'check'.)
* Need to be careful with the string length, as IIRC the client typically
needs to display this on a single line. Voting on one of the bitwise options
could easily blow the budget.

___

Reply to this item at:

  http://gna.org/bugs/?20408

___
  Message sent via/by Gna!
  http://gna.org/


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


[Freeciv-Dev] [bug #20097] Use GtkOrientation (migrate from gtk2) and fix GdkModifierType mask handling

2013-04-06 Thread Jacob Nevins
Follow-up Comment #5, bug #20097 (project freeciv):

 Take note of patch #3469, thank you.
 For most patches of patch #3469 has gone in to TRUNK only.
Now they've all been backported to S2_4.
Do we expect that to have fixed all issues reported in this ticket?

___

Reply to this item at:

  http://gna.org/bugs/?20097

___
  Message sent via/by Gna!
  http://gna.org/


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


Re: [Freeciv-Dev] [Freeciv-i18n] negated support in helpdata.c

2013-04-06 Thread Emmet Hikory
On Sat, Apr 06, 2013 Hubert Kowalewski wrote:
 While I'm hardly an authority on the coding bit, from the point of view of
 the translator the 1st method look nice. In principle, I would go for
 static grammar and would not like dynamically generated sentences. If I
 understand this correctly, dynamic sentences could more or less work for
 my language (Polish), but I'm not sure if negative sentences can be easily
 auto-generated in other languages, so (as a translator) I'd leave as much
 freedom and flexibility to translators.

Thanks a lot.  In that case, I'll do it with two separate translatable
strings for each condition.  This gives maximum freedom and flexibility.

Something like:

  if (!preq-negated) {
cat_snprintf(buf, bufsz,
 _(Requires that any player has researched 
   the %s technology.\n),
 advance_name_for_player(pplayer, advance_number
 (preq-source.value.advance)));
  } else {
cat_snprintf(buf, bufsz,
 _(Requires that no player has yet researched 
   the %s technology.\n),
 advance_name_for_player(pplayer, advance_number
 (preq-source.value.advance)));
  }
return TRUE;

So translators will have two strings to work with, allowing words in
the target language to be inserted wherever needed for the grammar of the
target language (example for English above uses any and no...yet as
a demonstration).  This also allows more extreme differentiation in the
case where direct negation is difficult in a target language, such as:

  if (!preq-negated) {
cat_snprintf(buf, bufsz, _(Requires the %s goverment.\n),
 government_name_translation(preq-source.value.govern));
  } else {
cat_snprintf(buf, bufsz, _(Not available under the %s government.\n).
 government_name_translation(preq-source.value.govern));
  }
  return TRUE;

Is there anything I can do with comments or other indicators to help
indicate to translators that the paired strings are intended to be negated
representations of each other, or is all this lost when the strings are
extracted for translation?

-- 
Emmet HIKORY

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