PGM
PGM copied to clipboard
Issues regarding translations of some generic strings
Since there was some more issues i am going to collect them in one issue here. Please expand on this thread if there are any more instead of creating new issues.
- It seems a set of objective names have been put up for translation(Core, Orb etc..) together with some generic descriptors(West, North, Bottom, Top etc..) the problem with using these has two parts:
- Whenever an adjective is going to be applied to a noun(e.g Bottom Core) it will make a grammatical incorrect name for multiple languages(Spanish being one) which has the adjective after the noun. Furthermore some words(North, West etc..) needs to be translated differently if they are used on their own(e.g as names on a 4CP map) than if they are used as an adverb(North Core)(This is a problem in Russian).
- Many of the objective names have different genders in some languages(German, Spanish, Norwegian, Romanian etc..). Therefore using a generic string like objective.damageOwn will be hard without accounting for all genders(An example for this specific string in German can be: "Du kannst dein/e/en eigene/s/n {0} nicht beschädigen")
"You may not damage your own {0}" becomes something like this "Du darfst dein/e/en eigenes/e/en {0} nicht beschädigen" since the gender of 0 is arbitrary
Happens in spanish as well. "red wool" translates to "lana roja", where lana means wool, and roja means red. Pretty sure it applies to all adjectives, like front core, right monument, etc
Proposed solution to the second issue, create 3 versions of every string that have noun variables, male, female and neuter. The choice of which version to be used should be done by looking at some pointer in the noun variable itself.
Proposed solution to the first part of the first issue, create a template {0} {1} where 0 is adjective and 1 is noun, such that languages can specify which order they use. Whenever PGM is going to use any string combination of adjectiveVariable nounVariable that template should be used.
Propsed solution for the second part of the first issue, just create two versions each orientation. misc.north.adverb misc.north.adjective etc..
Perhaps completely avoiding taking other translatables as arguments in strings, as not all languages function the same way English does. For example, in the case of: https://crowdin.com/translate/pgm/318/en-esmx#26864, it would fail if the translatable https://crowdin.com/translate/pgm/318/en-esmx#26836 were to be passed to it, due to a gender mismatch.
As proposed, strings like the one beneath would turn into multiple individual strings of all of their variations (of each objective, for instance):
You will receive credit when {0} is completed
You will receive credit when Core is completed
You will receive credit when Antenna is completed
You will receive credit when Monument is completed
...
Edit: Translatables which take an specific kind of objective for argument, such as https://crowdin.com/translate/pgm/318/en-esmx#26882, seem to be less of a problem (at least for Spanish), but I still do believe we shouldn't be doing this.