Trying to understand some puzzling behaviour of my translation, I've found out that a string is being re-used as both a craft weapon name and an infantry weapon damage type, which is a bit problematic. In detail:
At the moment, laser and plasma both use a set of three strings each, but in a different way:
- STR_LASER_BEAM (default value: "LASER BEAM") - used as damage type in the UFOpedia, and only there - ArticleStateItem::setDamageTypeText()
- STR_LASER_CANNON ("Laser Cannon") - used both as a technology name and item name
- STR_LASER_CANNON_UC ("LASER CANNON") - used as a weapon name in the UFOpedia and the craft equipment screen
- STR_PLASMA_BEAM ("Plasma Beam") - item name only
- STR_PLASMA_CANNON ("Plasma Cannon") - technology name only
- STR_PLASMA_BEAM_UC ("PLASMA BEAM") - used both as a weapon name and a damage type in the UFOpedia
The last point is the one that caused my problem - if for some reason a translation needs to use separate strings for the craft weapon and the damage type, that would be impossible. As far as I can remember, the inconsistency in naming (plasma beam/cannon) dates back to the original UFO, though it may be a false memory.
There are several possible ways of dealing with that (including doing nothing and leaving it to the translators to figure it out). What do you think?