Unciv
Unciv copied to clipboard
Unit type strings are not clear for translation purposes
I am having problems translating unit types: Water units Land units Archery units Submarine units Gunpowder units ...
The strings that refer to unit types is not clear. It would help having a visual mark for those.
Some of them have different uses. In English it is no problem, but in certain languages it is difficult to deal with them:
- "Submarine": Submarine refers to both a unit name and a unit type. The translation would be easier with disambiguated strings. I understand that the "Wolfpack" promotion applies to units with submarine type. But in the civilopedia, it shows that applies to "Submarine" units and not to "Nuclear submarines". (It is possible that the unit type of "Submarine" should be "WaterSubmarine" instead of the current "Submarine" type, but not sure about it)
- "Archery" and "Gunpowder": These refer to a technology and a unit type each of them.
- "Land" and "Water": These refer to a tile type and a unit type each of them.
I think it would help translators disambiguating those strings and marking strings for unit types in template.properties, something like:
## These strings refer to unit types. Translate them appropriately, e.g.:
##LandUnitType = Land
LandUnitType =
WaterUnitType =
SubmarineUnitType =
GunpowderUnitType =
...
Water =
Land =
Gunpowder =
...
So in translated strings I could define:
## These strings refer to unit types. Translate them apropriately, e.g.:
##LandUnitType = Land
LandUnitType = terrestres
WaterUnitType = navals
SubmarineUnitType = submarines
GunpowderUnitType = amb armes de pólvora
...
Water = Aigua
Land = Terra
Submarine = Submarí
Gunpowder = Pólvora
The same is in strings: "Open terrain" and "Rough terrain"...
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 15 days.
@yairm210 Interesting question. I assume this is still a wontfix as it breaks mod compatibility, but there maybe is merit to something that allows translations to define things with this level of granularity. Though, not sure how well handled our translation engine for this
Yes, this is an open question that I don't have an answer to. This is especially hard because currently when translating a string it's easy - get the template, replace with translation, replace parameters with translated parameters. If we allow context-dependent translations, we'll need to try to figure out the context of each of the translated parameters - Not Simple. From a relatively simple string interpolation problem this becomes a "what does this string actually mean" problem - not simple at all
What we did with some of the more problematic areas in the past is change one of the sides - "Immortal" unit became "Persian Immortal" to not conflict with difficulty, "Gold" resource became "Gold Ore" to not conflict with stat, that's a viable direction for these problems as well, if we can think of something.