fawazar94 / DirectLink

GNU General Public License v2.0
3 stars 4 forks source link

Fix for translation framework #1

Closed CyrilleB79 closed 2 years ago

CyrilleB79 commented 2 years ago

Issue: On SVN screenreader translation (translation framework), there are only 2 string to translate whereas there are more in the add-on.

Cause: There was a case issue in the translatable files with DirectLink.py. Translation framework runs on Linux, thus it is case sensitive.

CyrilleB79 commented 2 years ago

Hi

As each Friday, the translation framework updated the translations today. However, there are still only 2 translatable messages in the translation framework for your add-on UI (nvda.po). In order to have all the translations message appearing on the screenreadertranslation SVN repo (where translator perform their translation job), you should:

  1. merge nvdaaddons/stable in fawazar94/stable to keep it up to date (should be fast-forward merge)
  2. merge fawazar94/mstable in fawazar94/master to update master with last translations
  3. Optional, if you already want to perform a release with the new content: update version number
  4. merge fawazar94/master in fawazar94/stable and overall in nvdaaddons/stable

After a certain time (at least two weeks), you may want to make a new release with these new translations. For this:

Let me know if something is unclear.

fawazar94 commented 2 years ago

Hi, I am somewhat overwhelmed by all the git commands. I don't want to break things, in the mean time not sure which one to use to do all these merges.. I've fetches previously the remote repo, but i think I haven't merged 2 'stable' branches yet. any help will be appreciated. thanks.

fawazar94 commented 2 years ago

forgot to mention that, I've added nvdaaddon/directlink as remote upstream and fetched it.

CyrilleB79 commented 2 years ago

Hello

I should have been more precise:

So I suppose that your remotes are named/configured as follow:

Preliminary step:

# In your local you do: git fetch origin git fetch upstream git checkout stable git status # You should have stable branch up-to-date with origin/stable.

Step 1

# To merge stable from upstream: (provided you are still on the stable branch) git fetch upstream git merge upstream/stable

Step 2:

# Update stable in your remote git push origin stable

# Update your local and remote master branch to update with last translations: git checkout master git merge stable git push # Not: the merge may lead to conflicts since you have translations that you have manually integrated and other ones coming from the automated framework.

Step 3:

# Optional, if you already want to perform a release with the new content: update version number and other stuff in your master branch and push it.

Step 4:

# Merge master in stable and overall push it to nvdaaddons. git checkout stable git merge master git push origin stable git push upstream stable

Then to make a new release containing new translations, let me know and we will discuss it at that time.

If you have difficulty or do not get the same results with the previous steps, let me know or ask for assistance on the nvda-addons mailing list.

Cyrille

fawazar94 commented 2 years ago

Hello, Sorry for the delay, but from now on I can follow quickly. I had few things on hand. When I tried end of the step 2 when I pushed I got this: f:\directLink>git push
To https://github.com/fawazar94/DirectLink
! [rejected] master -> master (non-fast-forward)
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
any idea? although i've pulled.. thanks.

fawazar94 commented 2 years ago

I tried git pull then git push again it worked. can you check if all good now? thanks.

CyrilleB79 commented 2 years ago

The merge to master of new translations seems OK. You still need to do step 4 (merge master to stable and push it); this way, translators will get the new content that was not available before this PR.

fawazar94 commented 2 years ago

with the fourth when trying to push to the upstream I got this:

f:\directLink>git push upstream stable remote: Permission to nvdaaddons/DirectLink.git denied to fawazar94. fatal: unable to access 'https://github.com/nvdaaddons/DirectLink/': The requested URL returned error: 403 probably my upstream setup is wrong? thanks.

CyrilleB79 commented 2 years ago

No, your upstream is OK.

You should have the rights to push in this repo, but it seems that you don't.

@nvdaes (a.k.a. Noelia), could you grant access to @fawazar94 to DirectlLink add-on of nvdaaddons? More generally, do not forget to grant access to the add-on author to nvdaaddons's repo for his add-on when a new add-on integrates the translation framework. Thanks!

nvdaes commented 2 years ago

Hello, sorry for this. @fawazar94, please accept my invitation to the repo. Thanks

2021-12-20 14:16 GMT+01:00, Cyrille Bougot @.***>:

No, your upstream is OK.

You should have the rights to push in this repo, but it seems that you don't.

@nvdaes (a.k.a. Noelia), could you grant access to @fawazar94 to DirectlLink add-on of nvdaaddons? More generally, do not forget to grant access to the add-on author to nvdaaddons's repo for his add-on when a new add-on integrates the translation framework. Thanks!

-- Reply to this email directly or view it on GitHub: https://github.com/fawazar94/DirectLink/pull/1#issuecomment-997915705 You are receiving this because you were mentioned.

Message ID: @.***>

fawazar94 commented 2 years ago

Hi, I've pushed upstream right now. I hope all are working fine now. thanks.

CyrilleB79 commented 2 years ago

Yes, the nvdaaddon repo is up-to-date. Next Friday, the new job for translators will be generated from nvdaaddons repo to SVN repo (the repo used by translators). And then each subsequent Friday, you may see new translations in the nvdaaddons/stable branch.

When you have let enough time to translators (e.g. one month from now), you may synchronize your stable branch with nvdaaddons/stable, merge stable to master and make a new release. (the more detailed steps are described in a message above)

fawazar94 commented 2 years ago

Alright, I will do that. Thank you very much.

On Mon, Dec 20, 2021 at 7:20 PM Cyrille Bougot @.***> wrote:

Yes, the nvdaaddon repo is up-to-date. Next Friday, the new job for translators will be generated from nvdaaddons repo to SVN repo (the repo used by translators). And then each subsequent Friday, you may see new translations in the nvdaaddons/stable branch.

When you have let enough time to translators (e.g. one month from now), you may synchronize your stable branch with nvdaaddons/stable, merge stable to master and make a new release. (the more detailed steps are described in a message above)

— Reply to this email directly, view it on GitHub https://github.com/fawazar94/DirectLink/pull/1#issuecomment-998075147, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKTQJR3K6CD3O3AZ4OWIPU3UR5JV3ANCNFSM5INCGCJQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

fawazar94 commented 2 years ago

Hey @CyrilleB79
Now I've updated the addon to 2.0, Here is the release Now, should I merge whole my master branch with my stable branch? then push the whole thing to nvdaaddons/directLink? or I push only some files to stable branch? I mean for people to recieve the update and for translation team too. Should I send on NVDA addons mailing list before pushing to the remote repo? quite few questions, but this is the first time I am updating this. thanks once more for the help. thanks.

CyrilleB79 commented 2 years ago

Hello

Actually, it would have been better to include updated translations (in nvdaaddons/stable) to your master branch before making the release (2.0). Anyway no matter, as you have seen, you may have to do a new release if you wish to fix #2 and merge #3.

So when you are finished with #2 and #3, you should do the two following actions:

  1. merge nvdaaddons/stable to fawazar94/master to include the translations from the stable branch
  2. merge back fawazar94/master to nvdaaddons/stable

For the first step (merge nvdaaddons/stable to fawazar94/master), you will have difficulties because you have merge conflicts. This is due to the fact that some translations (Arabic and French) have been directly included (commit 9ad2d210332d4c7e63a900e741cd880e8d8b3daa) and have not been added through the translation framework.

Instead of that, now that the add-on is part of the translation framework, it is highly recommended to accept only translations coming from the translation framework, i.e. coming from nvdaaddons/stable branch. It is all the more true if you are not confortable with GIT. If the people who have translated the add-on in Arabic and French want to continue to do this translation, they should do it via the framework and not sending directly translations to you. If not already, they can subscribe to the translators mailing list and ask to have access to the screenreadertranslation SVN repository.

Now what I would do in your place to fix the merge conflict is:

  1. In fawazar94/master: revert the translated files of commit 9ad2d210332d4c7e63a900e741cd880e8d8b3daa to the previous version (of commit 8d6a289bbc63fb33958b628d07b3ae5321e247e6); these translated files are:
    • addon/doc/ar/readme.md
    • addon/doc/fr/readme.md
    • addon/locale/ar/LC_MESSAGES/nvda.po
    • addon/locale/fr/LC_MESSAGES/nvda.po
  2. merge nvdaaddons/stable to fawazar94/master to include the translations from the stable branch
  3. merge back fawazar94/master to nvdaaddons/stable

Unfortunately, you lose the last work from translators of French and Arabic. They will have to re-submit it via SVN.

Let me know how it goes and if I need to help further.

Note: For French I can also do personally the translation via SVN, but maybe the other person who has already translated (Marina Amir?) would like to do it herself.

fawazar94 commented 2 years ago

Hey, So after fixing both issues, and putting back the previous language files for both Arabic and French, I push the changes to my master branch including the newly generated pot file for the new strings. then I merge my master branch to nvdaaddons/stable, or I push to my stable branch? I am wondering how they get the new strings, I thought I've taken all the translations from nvdaaddons/stable when you commented the first time here. This is quite confusing, but yeh I can make another release. Thanks.

fawazar94 commented 2 years ago

hey @CyrilleB79 First of all I am so sorry to bothering you with all this. and thanks a lot truly appreciated. Can you please check how are the things with translation files with the recent commit? thanks.