flareteam / flare-engine

Free/Libre Action Roleplaying Engine (engine only)
http://flarerpg.org/
GNU General Public License v3.0
1.11k stars 187 forks source link

Transifex questions #1630

Closed dorkster closed 6 years ago

dorkster commented 6 years ago
  1. Transifex apparently strips fuzzy translations from the po files. Would it be okay if we disabled fuzzy matching for our language update script? The fuzzy strings may be misleading to translators without context, so it may be better to just leave untranslated strings empty.
  2. @sujiniku, you sent a request for ja_JP be added to flare-game, but isn't that the same as ja?
sujiniku commented 6 years ago

The answer 1: The removing fuzzy the translation will cause the problems. 2: Same. It is my mistake operation .

Apparently it seems better to translate on GitHub.

2018-03-30 8:33 GMT+09:00 Justin Jacobs notifications@github.com:

  1. Transifex apparently strips fuzzy translations from the po files. Would it be okay if we disabled fuzzy matching for our language update script? The fuzzy strings may be misleading to translators without context, so it may be better to just leave untranslated strings empty.
  2. @sujiniku https://github.com/sujiniku, you sent a request for ja_JP be added to flare-game, but isn't that the same as ja?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clintbellanger/flare-engine/issues/1630, or mute the thread https://github.com/notifications/unsubscribe-auth/AY-2mmtf8-lb12MHSNyFrYU5XfUm1vipks5tjW8_gaJpZM4TBH05 .

dorkster commented 6 years ago

That's a shame. Thoughts on this @gunchleoc? Maybe there's a way we can keep the fuzzy translations on our end and merge with any new translations we get from Transifex.

gunchleoc commented 6 years ago

It doesn't matter that Transifex strips the fuzzy translations. The reason for them being there is that people used to hack in plain-text editors like VIM before tools with translation memories were available. So, translators can use use the suggestions from Transifex, or download the files and work offline with a proper tool like Virtaal or Poedit, for example, then upload back to Transifex.

Having both a GitHub workflow and a Transifex workflow will become very complicated very fast. So, all translators will need to sign up to Transifex for this to work properly.

dorkster commented 6 years ago

Having both a GitHub workflow and a Transifex workflow will become very complicated very fast. So, all translators will need to sign up to Transifex for this to work properly.

You're absolutely right and that's why I'm going to close the Transifex projects.

We value the ability for people to edit all of Flare's files with a plain text editor. That applies to translations, too. Maintaining the fuzzy translations means we're not tied to a single platform like Transifex, but still support multiple collaborators (which a local app's translation memory can't do). I don't want to depend on a single service for something that should be as open as possible.

I think it's also worth noting that Flare has players all over the world, so the quality of internet connections of potential contributors can vary greatly. We want to support people's ability to do translations without the need of an internet connection. And let's not forget translators that don't wish to create any accounts and prefer to email in their translations.

Finally, we also like to provide individual attribution, but Transifex makes it pretty much impossible quickly to see which translators have made changes. Transifex might change the "Last-Translator" field in the po header, but what if more than one person worked on the file since the last pull? The "Last changed" dates listed on the Transifex site are still the dates that I uploaded the files, so I can't even tell at a glance if there's been any changes at all.

Nonetheless, I've pulled the few translations that have been done on Transifex so far. But I will no longer be pulling any more. We'll stick with the traditional methods of submitting translations.

gunchleoc commented 6 years ago

We value the ability for people to edit all of Flare's files with a plain text editor. That applies to translations, too.

Whoever is translating in a plain text editor instead of a proper tool is working with both hands tied behind their back. We should not encourage translating in a plain text editor, as it leads to inconsistent translations, and it takes a lot longer to do, too. Free (both libre and gratis) tools are available.

Maintaining the fuzzy translations means we're not tied to a single platform like Transifex, but still support multiple collaborators (which a local app's translation memory can't do). I don't want to depend on a single service for something that should be as open as possible.

That's what the Transifex translation memory is for. As a translator using Virtaal, I have never missed those fuzzy translations. I'd like to hear from bigger teams though - do we have anybody working on Flare translations collaboratively at the moment?

I think it's also worth noting that Flare has players all over the world, so the quality of internet connections of potential contributors can vary greatly. We want to support people's ability to do translations without the need of an internet connection.

Nobody is forced to work online on Transifex. Translators can download from Transifex and work offline, then upload again.

And let's not forget translators that don't wish to create any accounts and prefer to email in their translations.

If there should be the occasional translator who prefers to e-mail their translations, you can upload it to Transifex just as easily as uploading it to GitHub. You're also forgetting people who might want to translate using a mobile device, which they can do on Transifex.

And what's the difference between forcing translators to get an account on GitHub, and forcing translators to get an account on Transifex? Using GitHub also means that translators need to install a git client and learn how to use it. Also, no glossary function and no collaborative tools. Git is a collaborative programming tool it is not a collaborative translation tool.

Finally, we also like to provide individual attribution, but Transifex makes it pretty much impossible quickly to see which translators have made changes. Transifex might change the "Last-Translator" field in the po header, but what if more than one person worked on the file since the last pull? The "Last changed" dates listed on the Transifex site are still the dates that I uploaded the files, so I can't even tell at a glance if there's been any changes at all.

Why not ask translators to provide the credit information and add it manually? This is exactly the same thing that you are already doing right now via the pull requests.

dorkster commented 6 years ago

Okay, perhaps I acted rashly. I was treating the fuzzy/obsolete strings as more valuable than they actually are. In reality we only have these problems:

I've unfrozen the Flare projects on Transifex, so work can resume there. Our workflow should now look something like this:

Keeping up to date

  1. Periodically (maybe once a week?) run tx pull to get updated translations from Transifex.
  2. Commit any changes to git and push to Github.

New strings added to engine/game

  1. Run tx pull and commit to git if there are any changes.
  2. Run the regenerate_po.sh script in the languages directory for each mod that has new strings.
  3. Commit to git if there are any changes and push to Github.
  4. Run tx push -s to send the pot files to Transifex
  5. Run tx push -t to send the po files to Transifex

Contributor submits translation update to Github/email

  1. Run tx pull and commit to git if there are any changes.
  2. Merge: a. If merging a PR on Github, push to Github first before merging. b. If manually adding a po file, create a new branch for the commit. Then merge said branch back into master. c. Handle merge conflicts as required.
  3. Run tx push -t to the the update po file to Transifex
gunchleoc commented 6 years ago

Don't worry about it, developers and translators often have a different view on processes.

Sounds like you have a good plan - you could also have a shell script to automate this.

In case of manually adding a po file, it might be easier to upload it to Transifex and then run tx pull.

tx push -s will only be needed if some translators continue to contribute via git.