CleverRaven/Cataclysm-DDA — pull request #7555 by BevapDin (2014-05-06 13:54:39+00:00)
Title: Fix some translation related errors/problems/overly complicated code.

construction.cpp:
Add a skill requirement to constructions: (like "skill":"melee") and see the game break when translated. The json entry `skill` is the skill ident and goes untranslated.

editmap.cpp:
`trap::name` is translated when loading the trap definition in `load_trap`, no need to do it again. See trapdef.cpp
Calls to `editmap::uphelp` already provide translated strings, no second translation.

game.cpp:
Same for vehicle prototypes. The name is already translated in `game::finalize_vehicles` in veh_typedef.cpp.

`season_name` is translated in `game::init_weather` in weather_data.cpp.

`liquidstr` and `text`: a bit overcomplicated now that there is `string_format`. Use a simple string instead of a ostringstream and omit the second translation of the string, it is created at runtime and has no translation anyway.

iexamine.cpp:
Use `string_format`.

mondeath.cpp:
If the character has PRED1 or PRED2, the message ("Culling the weak ...") is already translated. The other messages are not wrapped in some gettext macro/function and are not added to the translation data at all (and therefor not translated). Changed to make the call to the translation as soon as possible and than skip the final translation when adding the message.

output.cpp:
Translated text that has been created at runtime, won't work. And most (hopefully all) calls to `query_yn` should use a already translated query anyway.
Example from crafting.cpp:
```
!(query_yn(_("Do you want to tear %s into pages?")
```

player.cpp:
`season_name` is translated in `game::init_weather`
Move the translation into the ternary operator. gettext does not seem to recognize the second string there and other code in that files does it that way too, so it's at least more consistent.

wish.cpp:
`Skill::name` is already the translated name. See `Skill::load_skill`.

trapdef.cpp:
Some traps have empty names. They show up wrong in the map editor (as the empty string is translated specially).

----

Is there a reason why the name of the starting location is not translated?