Skip to content

Request translation sync for RoomVox #986

Description

@Rikdekker

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/RoomVox

  • If the app is not in the Nextcloud organisation — not applicable, RoomVox is in the nextcloud organisation

  • Create file l10n/.gitkeep with empty content

  • Add .l10nignore to exclude compiled JS files and thirdparty code, e.g. ignoring compiled javascript assets and composer PHP dependencies in the vendor/ directory:

    js/
    vendor/
    
  • Create file .tx/config with the app id (roomvox) 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:roomvox]
    file_filter = translationfiles/<lang>/roomvox.po
    source_file = translationfiles/templates/roomvox.pot
    source_lang = en
    type        = PO
  • ⚙️ Validate your repository and translation strings:

    bash translations/validateSyncSetup.sh nextcloud RoomVox
  • Name of the Transifex user: rikdekker

    For details see https://nextcloud.com/translation/ .

App ID: roomvox

Source template is translationfiles/templates/roomvox.pot — 469 strings, extracted from both the Vue frontend and the PHP backend, validated with msgfmt --check. All frontend call sites use the literal t('roomvox', '…') form, so the extractor sees the complete set.

One thing you may want to decide: translationfiles/{de,fr,nl}/roomvox.po are seeded with the app's existing hand-made German, French and Dutch translations (361 of 469 strings each), so those languages don't start from zero. Happy to drop them if you'd rather the resource started empty.

🏗️ 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions