Request translation sync for MetaVox
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 28/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- github
- Domain
- internationalization
Research direction
Start by reviewing the completed repository setup and validation command in the issue, then follow the unchecked sysadmin and translation team steps. The work spans repository permissions, an initial Transifex sync, source review, a docker-ci configuration pull request, and enabling the daily sync; it is done when those steps are completed and MetaVox translations sync daily.
Written by the indexing model from the issue text.
Description
Prologue
The Nextcloud community on Transifex produces the translations of your app. To this end, the app author undertakes to comply with the following requirements:
- The app must be available in the Nextcloud App Store. Should the app be removed from the store, the translation work on Transifex will be paused or the resource removed.
- The app author must create an account on Transifex and join the Nextcloud project. This makes it easier to respond to queries regarding the app’s strings.
👤 App repository
To be done by you
-
Link to your repository: https://github.com/nextcloud/metavox
-
If the app is not in the Nextcloud organisation — not applicable, MetaVox is in the
nextcloudorganisation- Invite
nextcloud-botwith write permissions - Make sure all translated branches do not have branch protection enabled, see https://docs.nextcloud.com/server/latest/developer_manual/basics/front-end/l10n.html#setup-of-the-transifex-sync for more details
- Invite
-
Create file
l10n/.gitkeepwith empty content -
Add
.l10nignoreto exclude compiled JS files and thirdparty code -
Create file
.tx/configwith the app id (metavox) substituted 3 times:[main] host = https://www.transifex.com lang_map = hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi [o:nextcloud:p:nextcloud:r:metavox] file_filter = translationfiles/<lang>/metavox.po source_file = translationfiles/templates/metavox.pot source_lang = en type = PO -
⚙️ Validate your repository and translation strings:
bash translations/validateSyncSetup.sh nextcloud metavoxPasses on
mainwithout findings (https://github.com/nextcloud/metavox/commit/2b35ebce). -
Name of the Transifex user:
rikdekkerFor details see https://nextcloud.com/translation/ .
App ID: metavox
This replaces #976, which I opened as a pull request against config.json instead of following this template.
The extractor finds 479 strings (477 from the code, 2 from info.xml), from the Vue frontend and the PHP backend. Every call uses t('metavox', …), there are no static strings, and 357 strings carry a TRANSLATORS hint. Source strings follow the guidelines: placeholders instead of concatenation, n() with %n for counts, … after a non-breaking space, sentence case, American English.
MetaVox was translated by hand before, so the resource does not start empty. translationfiles/<lang>/metavox.po is seeded with those translations:
| Language | Translated |
|---|---|
| French | 465 / 477 |
| Swedish | 446 / 477 |
| Dutch | 445 / 477 |
| German | 444 / 477 |
Happy to drop the seeded PO files if you would rather start clean.
🏗️ Sysadmin team
-
👀 Ensure access:
- Nextcloud organisation repository: Add
nextcloud-botwith admin permissions - Other repositories:
- Ensure the invite was accepted
- Ensure the app certificate is linked to the same repository/author https://github.com/nextcloud/app-certificate-requests
- Nextcloud organisation repository: Add
-
⚙️ Ensure repository setup and run initial source validation:
bash translations/validateSyncSetup.sh Owner Repository -
🧑💻 Run the first sync manually:
ssh transifex-sync.nextcloud.comcd /srv/docker-ci docker run -v /srv/cronie-data/transifexrc:/root/.transifexrc \ -v /srv/cronie-data/gpg:/gpg \ -v /srv/cronie-data/ssh/id_rsa:/root/.ssh/id_rsa \ --rm -i ghcr.io/nextcloud/continuous-integration-translations-app \ AUTHOR APPID -
Transifex: New resource should appear
-
GitHub: Check if there was a sync commit in the repository
- If not, go to Transifex, translate some strings in a language you know and trigger the sync again with the docker command
-
Transifex: On the resource go to Settings > Untick "Your translators can translate resource strings" > Save settings
-
➕ Add
"Owner Repository",into https://github.com/nextcloud/docker-ci/edit/master/translations/config.json- Pull request:
- Request review from
rakekniven
🔣 Translation team
Currently done by rakekniven
- Transifex: Check quality of the English source strings
- Transifex: Check translation guidelines
- GitHub: Approve the above pull request (and merge it)
- Transifex: On the resource go to Settings > Delete the resource
- Forum: Add resource to wiki
🏗️ Sysadmin team
- GitHub: Ensure the above pull request is merged
- 📅 Enable the daily sync:
ssh transifex-sync.nextcloud.comcd /srv/docker-ci git pull origin master
- Dominant language
- Perl
- Stars
- 46
- Forks
- 38
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 7
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from nextcloud/docker-ci
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
transifex
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
transifex
Difficulty 4/5 3-5 days Newbie friendliness 38/100
All issues in nextcloud/docker-ci
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 3 days
-
documentation Needs Triage
Difficulty 1/5 Under an hour Newbie friendliness 93/100
Maintainers usually reply within 1 day
-
Proposed Text EditsOpen
Difficulty 1/5 Under an hour Newbie friendliness 82/100
curl/everything-curl#658 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100
PDLPorters/pdl#561 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
objectionary/eolang.sty#197 ·
Maintainers usually reply within 2 days