Right now to translate the manifest.toml of an application you need to send a pull request to each application while editing a .toml file, it's really not optimal.
Current roadmap:
[x] find how to use weblate API to create a new component per application on weblate
[x] find a way to extract all strings to translate from the manifest.toml
[x] create a new github project to store all applications translations
[x] have a loop that parse all applications and push their translation to yunohost/apps_translations
[x] every time a translation is pushed, create the corresponding compotent on weblate
[x] have a loop that parse all already pushed applications and update their translation on yunohost/apps_translations (and remove unused keys from en.json)
[x] have a script that parse this yunohost/apps_translations, extract translation and push them as a merge request (look at gitlab-ci autoblacks) on the matching app repository
[x] on pulling translations from file, if a translation file already exist but strings from the apps aren't in it, put them in it
[x] move manifest.toml translation in a manifest subfolder because we'll have other folders per app
[x] push to a testing branch if it exists instead
[x] refactor both scripts to be more DRY
[x] use toml formatter before committing then one the toml has been modified and only push if the toml has effectively been modified
[x] add possibles languages by default (take the list of languages with a good translation on yunohost core)
[ ] create a webhooks that subscribe itself to all application, each time an application is updated see if we need to update the strings to translate yunohost/apps_translations
[ ] create another webhooks that subscribe to yunohost/apps_translations (can be the same webhook technically) and each time it's updated detect newly translated strings and push them to corresponding applications as PR
New cool steps:
[ ] find a way to add the people who did the translation as the co author of the commit (ask the weblate api for each string? It's going to complicate things a lot but it's worth it to credit people)
[ ] add translation status in the applications READMEs like we have on the core
[ ] see to make DESCRIPTION.md stuff translatable
[ ] translate config panel
[ ] see if we can translate the "choices" (apparently not, we'll likely have to update chore and web admin for that)
Right now to translate the manifest.toml of an application you need to send a pull request to each application while editing a .toml file, it's really not optimal.
Current roadmap:
New cool steps: