Page 2 of 2

Re: Bug in Skill "Hard Hit" (Fix included)

Posted: Thu Jul 03, 2014 11:11 am
by Zukero
noamik wrote:Ok, so I guess the real "bug" is English strings.xml being updated but no notification to translators being generated. This issue could be addressed by one of two approaches. You could either version the string references. Or you could invalidate (read remove) translations. This should be done when changing the meaning of an English string.
I couldn't agree more. The bug is on the translation process. However, there are several challenges in solving it that I don't know how to overcome:
- Translations are often made by one-time contributors, which cannot be contacted later, or simply don't want to work further for AT, making the "notification" difficult.
- Strings.xml must respect the android format for this type of file. We cannot add extra metadata (like versioning) in it.
- The dev team focuses on the English version, and doesn't have time (or ability) to check the translated strings for quality, we just "trust" the goodwill of the community.
- Removing obsolete translations *could* be done, but I dislike destructive processes.

I'm trying to address the "notification" thing by using this thread : http://andorstrail.com/viewtopic.php?f=6&t=4711
I hope that the translators read it. I know some of them use only Google Code's issue page or even GitHub to provide their translations, and may not even read this forum....

The whole internationalization effort for AT needs IMHO a deep rethinking, and eventually more adapted tools, that fit the way the translators work, and the way we work and receive translations.

I am open to all kinds of suggestions.

Re: Bug in Skill "Hard Hit" (Fix included)

Posted: Thu Jul 03, 2014 8:59 pm
by Mayweed
Good find, noamik, and thank you very much for correcting it.

When I updated the german strings.xml to version 0.71 I also tried
to catch changes in the already existing texts, but this one I missed.

Nonetheless, even if I wouldn't have missed it, it would not be in the
current game version, since I started translation only after that release.

Re: Bug in Skill "Hard Hit" (Fix included)

Posted: Mon Jul 07, 2014 9:50 am
by noamik
Zukero wrote:- Strings.xml must respect the android format for this type of file. We cannot add extra metadata (like versioning) in it.
You can do that without metadata. While it would look pretty ugly, you could append a version number to the reference name. Updating the references would be helped by Eclipse refactoring engine.

Also I don't see how deleting the invalid translations would be a destructive change. The translation would still be in the VCS, but since its invalid now, its not in the current version anymore. To me that's better than an outright wrong translation. Instead of deleting one could also think of perpending any translated text with: "OUTDATED" and to filter those in the app. I'll look later into that and see if I can implement such a filter.


@Mayweed: No offense to you. Without any notifications of some sort, translators have an impossible job to do. It's the person who changes the English text who knows that the meaning has changed and thus all translations have become invalid. IMO it would in the responsibility of the dev merging the changes to check for such changes in the English strings.xml. He could then invalidate any translation string in case the commiter hasn't already done so. But to do so a process how to invalidate translations has to be in place ;-)

Edit:
Ok, I thought some more about this issue. Looking into the code I saw that the translated resource is pulled from some Android API so it can't be hacked easily to filter. To approach the issue the namespace of the string has to be used.

An easy fix that would preserve the existing translation AND notify the translators would be to change the string-name in the strings.xml of the translations. For example: "skill_longdescription_weapon_dmg" could become "outdated_skill_longdescription_weapon_dmg". This way translators could easily find those strings, translate them and remove the "outdated_" part again. If translators can't do the rename (I'm not familiar with their workflow), it could be done upon merging.