Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Transifex (Continuous Translation) #7

Closed
3 of 20 tasks
luzpaz opened this issue May 9, 2015 · 17 comments
Closed
3 of 20 tasks

Integrate Transifex (Continuous Translation) #7

luzpaz opened this issue May 9, 2015 · 17 comments

Comments

@luzpaz
Copy link

luzpaz commented May 9, 2015

From @luzpaz on September 12, 2014 23:15
Edit: Updated June 16, 2015

Needs

  • A person familiar with Transifex to help with the learning curve of implementation (@kovidgoyal of the famed calibre project) has offered to answer questions we have) Thanks to previous helpers but solutions were not streamlined. @chhitz has offered his kind assistance
    • Download the transifex command line client tx
      • Create a separate github project to commit all the .pot/.po files to it, so even if something goes wrong in transifex, you can always recover. See for example: calibre-translations Not sure this will be utilized after all

        Commit .pot/.po files to newly created scribus/scribus-translations repo not relevant anymore

    • Study and setup up workflow 'How to manage Translations' in scribus using Fix Tables in Scribus #14 (comment) and Fix Tables in Scribus #14 (comment)
      • Make a Scribus verion of Calibre's setup/translations.py
      • Modify class POT gets all translateable strings from the calibre source code and user manual and uploads the .pot files to transifex using tx
      • Modify class Translations compiles them to .mo format for distribution using msgfmt
      • Modify class GetTranslations downloads translations from transifex, checks them using pofilter and uploads them to GitHub.
      • Figure out how to trigger automation ("These commands are run once a week automatically as part of calibre's release process, so that everything is kept up to date." Maybe add them to part of mrscribe's script triggered weekly/bi-weekly and/or the option to trigger manually via the bot on IRC? ask @moskalenko

Questions:

  • The majority of the Translation files are *.ts How does this impact workflow ?
  • Right now the Scribus transifex URL is https://www.transifex.com/projects/p/Scribus_140/ reflecting Scribus v1.4 Should we change this to a more generic URL since it's the source files that indicates the version? If for each version we need to change the URL and thus most likely breaking that link it's not an intelligent idea.
  • Right now there are 2 older source files on Transifex. What happens to them when I upload the 1.5 source file version?
  • there is a request on Transifex to add French. French is an already translated language. If a new language it is generated from the main (english) source file. Do I then upload the current french source file to that Transifex translation group.
  • How to merge the translations that live in Transifex already and current translation committed to Scribus SVN branch
  • How to avoid well known mistakes (avoid losing translations during source file updates)

Other Todos

  • Volunteers to manage and maintain Transifex
  • Workflow tutorials for maintainers
  • Get the official scribus translators and the Transifex translators acquainted with each other and as many translators on Transifex.
  • Talk to translators about guidelines on how to contribute translations

Translations issues:

  • Figure out a protocol for scribus-assigned keyboard shortcuts

Reference URLs

Copied from original issue: scribusproject/scribus-old-to-be-deleted#14

@luzpaz
Copy link
Author

luzpaz commented May 9, 2015

Some thoughts:
So what happens when a new translation source file is uploaded ? What happens to old translations:
If one chooses to automatically update the source file:

  • New strings will be added.
  • Modified strings will be considered as new ones and added as well.
  • Strings, which do not exist in the new source file (including ones which have been modified), will be removed along with their translations.

However, old translations are kept in the Translation Memory of the project.

@luzpaz
Copy link
Author

luzpaz commented May 9, 2015

From @kovidgoyal on September 16, 2014 3:47

Just a few tips:

  1. Use the transifex command line client tx
  2. Create a separate github project and commit all the .pot/.po files to it, so even if something goes wrong in transifex, you can always recover. See for example: https://github.com/kovidgoyal/calibre-translations
  3. If you wish to learn how I manage translations in calibre, see the file setup/translations.py
    The class POT gets all translateable strings from the calibre source code and user manual and uploads the .pot files to transifex using tx
    The class Translations compiles them to .mo format for distribution using msgfmt
    The class GetTranslations downloads translations from transifex, checks them using pofilter and uploads them to GitHub.
    These commands are run once a week automatically as part of calibre's release process, so that everything is kept up to date.

@luzpaz
Copy link
Author

luzpaz commented May 9, 2015

@kovidgoyal sweet!
Thank you very much. Will study your tips.
Reference notes:

  • Calibre's setup/translations.py
    • class POT gets all translateable strings from the calibre source code and user manual and uploads the .pot files to transifex using tx
    • class Translations compiles them to .mo format for distribution using msgfmt
    • class GetTranslations downloads translations from transifex, checks them using pofilter and uploads them to GitHub.

@gyuris
Copy link

gyuris commented May 19, 2015

Bingo! Transifex would be great for Scribus! I use it in other projects. I'm the Hungarian translator. If you need a tester, I can help.

@luzpaz
Copy link
Author

luzpaz commented May 25, 2015

@gyuris would you like to help implement this? or know anyone who'd be interested ?

@gyuris
Copy link

gyuris commented May 26, 2015

@luzpaz Sorry, I'm not a developer :(

@luzpaz
Copy link
Author

luzpaz commented May 26, 2015

@chhitz based on our previous conversation lets update the ticket here

@gyuris no probs. I'll check in with you when we get Transifex up and running and we can then take you up on testing it. Thanks!

@luzpaz
Copy link
Author

luzpaz commented May 26, 2015

Some concerns were brought up on the channel the other day:
See http://irclogs.scribus.net/%23scribus/2015/2015-05/%23scribus.2015-05-25.log

@luzpaz
Copy link
Author

luzpaz commented May 28, 2015

musescore FTW:
https://musescore.org/node/22982 and @anomaly404 who spearheaded the project
@chhitz maybe we can do something like this. Craig has a resource manager in Scribus though not yet enabled.

@luzpaz
Copy link
Author

luzpaz commented May 28, 2015

@luzpaz
Copy link
Author

luzpaz commented Jun 8, 2015

@gyuris
Copy link

gyuris commented Jun 8, 2015

:-).
Why exists Scribus and Scribus 1.4 project? For project structure see my other project on Transifex: https://www.transifex.com/projects/p/openlp/language/hu/

@luzpaz
Copy link
Author

luzpaz commented Jun 8, 2015

Scribus 1.4 is stable
"Scribus" I believe is 1.5.1
Right @chhitz ?

@aoloe
Copy link
Contributor

aoloe commented Jun 9, 2015 via email

@gyuris
Copy link

gyuris commented Jun 9, 2015

  1. I suggest to unite trunk and 1.4 or 1.5 projects in Transifex. Why? In Transifex every project has own language team and I must ask permission for every project to translate. This is not ideal for translators and translation teams if there are more projects for Scribus. Please, see the OpenP project structure: there is only one project and there are more branches in this project, there are closed and opened branches... https://www.transifex.com/projects/p/openlp/language/hu/
  2. Can you see my ("bubu") permission request in "Scribus 1.4.x" project for Hungarian language team? Please approve me.

@luzpaz
Copy link
Author

luzpaz commented Jun 17, 2015

@gyuris thanks for that feedback. Need to get clearer on the the workflow of how translations will be handled now through transifex. A patch was submitted by @chhitz to get this ball rolling.

@luzpaz
Copy link
Author

luzpaz commented Jun 25, 2015

Closing this issue in favor of #15

@luzpaz luzpaz closed this as completed Jun 25, 2015
asmaAL-Bahanta pushed a commit to asmaAL-Bahanta/scribus-1 that referenced this issue Mar 15, 2016
PDF is still broken. Related to scribusproject#7.
asmaAL-Bahanta pushed a commit to asmaAL-Bahanta/scribus-1 that referenced this issue Mar 22, 2016
PDF is still broken. Related to scribusproject#7.
asmaAL-Bahanta pushed a commit to asmaAL-Bahanta/scribus-1 that referenced this issue Mar 22, 2016
Based on Dawood’s work, rebased on top of recent changes.
Fixes scribusproject#7.
asmaAL-Bahanta pushed a commit to asmaAL-Bahanta/scribus-1 that referenced this issue Mar 24, 2016
PDF is still broken. Related to scribusproject#7.
asmaAL-Bahanta pushed a commit to asmaAL-Bahanta/scribus-1 that referenced this issue Mar 24, 2016
Based on Dawood’s work, rebased on top of recent changes.
Fixes scribusproject#7.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants