Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Request translation sync for MetaVox

Open
#1,009 0 comments 0 reactions 0 assignees View on GitHub

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

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

transifex

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 nextcloud organisation

  • Create file l10n/.gitkeep with empty content

  • Add .l10nignore to exclude compiled JS files and thirdparty code

  • Create file .tx/config with 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 metavox
    

    Passes on main without findings (https://github.com/nextcloud/metavox/commit/2b35ebce).

  • Name of the Transifex user: rikdekker

    For 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:

  • ⚙️ Ensure repository setup and run initial source validation:

    bash translations/validateSyncSetup.sh Owner Repository
    
  • 🧑‍💻 Run the first sync manually:

    ssh transifex-sync.nextcloud.com
    
    cd /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.com
    
    cd /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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from nextcloud/docker-ci

All issues in nextcloud/docker-ci

Similar issues

More Perl issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.