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

[Plus UI] A new workflow to improve delivery of language updates #1595

Closed
1 task done
isaak654 opened this issue Feb 5, 2022 · 5 comments · Fixed by #2000
Closed
1 task done

[Plus UI] A new workflow to improve delivery of language updates #1595

isaak654 opened this issue Feb 5, 2022 · 5 comments · Fixed by #2000
Labels
Feature Request New feature or idea Type: Localization Localization/translation issues

Comments

@isaak654
Copy link
Collaborator

isaak654 commented Feb 5, 2022

Is your feature request related to a problem or use case?

Currently there is no scheduled task to sync the newest Plus language entries for all .ts files.

Right now, it's required to run one of these commands manually with Qt Creator or a command line prompt:
Localization notes and tips

Since this is a manual operation that could be forgotten or simply ignored, it's not ideal because most translators can't keep up with the current Plus updates (due to time issues or difficulty to follow instructions).

Ideally, the same should be extended to the new Classic strings that are updated unilaterally in Sbie-English-1033.txt

Describe the solution you'd like

I suggest to introduce a new GitHub workflow, appropriately modified for this repository: update-translations.yml

In order to minimize the amount of string typos, it could be scheduled on Sunday or Monday once every week.

Describe alternatives for better delivery of updates

@isaak654 isaak654 added Feature Request New feature or idea Help Wanted Extra help is needed Type: Localization Localization/translation issues labels Feb 5, 2022
@bastik-1001
Copy link
Collaborator

I agree that there should be some sort of automation at regular intervals that update the provided language files for the plus version of Sandboxie, so that newly added strings can be translated into those languages.

For me personally, it is fine to download the .ts file and translate the new or changed strings with the standalone version of Linguist and update (or freshly fork) my fork to create a pull request for my language. As the standalone version of Linguist can not update the strings from the source, I rely and relied on the .ts file to be updated for me, so I can translate it.

Right now, each translator would have to update the .ts file for themselves, which requires the installation of the Qt package, and be at risk that the strings change, get reverted or removed, due to a feature not being implemented or changed in a meaningful way. (Like there is a commit that introduces supporter certificates with new strings and an hour later the idea would be removed, for example.)

When there would be regular updates to the .ts files, provided there is something that changed, I am happy to translate them into my language.

I am not sure if that solves the issue with languages files lagging behind due to the lack of time to update the strings. For me, it is fine to use software that has strings that are not translated, but I am not sure how sensitive users are that don't understand the source language. (Like it would be for me when it would not be English) Though, that might be a different issue, but there could be regular updates to the .ts files and unless there is an important fix for a security issue or regression, that a new version is released as pre-release or release candidate (RC) to give translators some time to translate the new strings and with those update strings a new version is finally released.

@bastik-1001
Copy link
Collaborator

bastik-1001 commented Feb 19, 2022

Just commentating on the alternative solution of using an external service.

The 'de facto' dependency on Qt (and practically Linguist) appears to be given due to it being the framework and interface, so there is nothing that makes it worse by having it to be used. This is true for using github to update the files as the source is hosted on here. The usage of an external service for the translation introduces another dependency. Namely that service being used by the translators and it staying up.

If such a service allows multiple translators, like for Chinese there are multiple translators listed, to translate strings, it could even be quicker to be translated by them, as there is even less management required. One logs into the service, sees that there are new strings and one translates those strings. That sounds rather easy to me and anyone being a translator for a given language could do that, possibly even at the same time.

Edit: I am not against using an external service, I just gave my input. If there is a service going to be used I am likely to move to that.

@sebadamus
Copy link
Contributor

Hi, I am rather new in github so dont know what to recommend/respond... I used some time ago Crowdin and it was cool and easy to use. I will adapt to what more experienced devs/translators tell. Thanks, sorry for not being too helpful.

@lufog
Copy link
Contributor

lufog commented Apr 23, 2022

When the language files were updated by the developer, I used the standalone version of Qt Linguist, which was quite convenient. When I began to notice that the file I was translating did not contain all the source lines. I started looking for the problem, comparing the translation file with other translations. I have no experience with Qt, but I have experience with other development tools. Therefore, it was not very difficult for me to figure out what needed to be installed and how to synchronize the translation files with the source code. But I'm not sure that other translators will be willing to deal with all this and install the Qt toolkit.

My thoughts on the options presented.

Synchronizing translation files on a schedule.

Positive aspects:

  • easy enough to implement;
  • the translation process is already familiar to existing translators;
  • easy for a translator to add a new translation file.

Negative aspects:

  • not very convenient for collaborative translation;
  • translator needs git skills and GitHub account;
  • translator needs Qt Linguist.

Services like Crowdin

Positive aspects:

  • convenient for collaborative translation;
  • translator does not need git skills and GitHub account;
  • translator does not need Qt Linguist.

Negative aspects:

  • new translators will often commit translations directly to the repo, even if you specify in the ReadMe that the translation is being done on a third-party service;
  • the need to synchronize translations between the repo and a third-party service, I don’t know how much this can be automated.

Personally, it doesn't matter to me which option is ultimately chosen. It annoys me more that translations always lag behind the release version. Usually translators get a release notification and then go to translate. That is, the release itself does not contain the latest translations. In my opinion, the developer either needs to somehow notify the translators a few days (preferably a week) before the release so that they can update the translations. Or do a pre-release, before each release, so that new lines are added only in pre-releases.

@isaak654 isaak654 linked a pull request Jun 28, 2022 that will close this issue
@isaak654
Copy link
Collaborator Author

isaak654 commented Jun 28, 2022

  • A new workflow is out as lupdate.yml.
    It's composed by two parts: the first job will update Plus languages by triggering the lupdate command, while the second one uses the Parse script in Sandboxie Classic to generate reports with missing entries or other discrepancies.
    I tested it hundreds of times, so it can be merged straight away.
    The workflow is scheduled to run daily, but it could also be triggered manually if you fork a new copy of the repository.
    Feel free to donate at my profile if you appreciate my efforts here.

  • About Crowdin, I think it is currently out of the question:

David_reply_about_Crowdin

@isaak654 isaak654 removed the Help Wanted Extra help is needed label Jun 28, 2022
@isaak654 isaak654 changed the title [Plus UI] Create a new workflow to improve delivery of language updates [Plus UI] A new workflow to improve delivery of language updates Jun 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request New feature or idea Type: Localization Localization/translation issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants