sandboxie-plus / Sandboxie

Sandboxie Plus & Classic
https://Sandboxie-Plus.com
GNU General Public License v3.0
13.69k stars 1.52k forks source link

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

Closed isaak654 closed 2 years ago

isaak654 commented 2 years ago

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

bastik-1001 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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:

Negative aspects:

Services like Crowdin

Positive aspects:

Negative aspects:

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 commented 2 years ago
David_reply_about_Crowdin