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-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev