👤 App repository
To be done by you
🏗️ Sysadmin team
🔣 Translation team
Currently done by rakekniven
🏗️ Sysadmin team
Additional context
Owner/Repo: `nextcloud IntroVox`
App: IntroVox — interactive onboarding tour for new Nextcloud users (Vue 3 + Shepherd.js).
@nextcloud-bot already has admin access on nextcloud/IntroVox (verified via API), inherited org-wide. No invite needed.
Just released v1.6.0 which contains the full i18n overhaul to make the source strings Transifex-ready:
- All 16 wizard step titles/texts now use English source strings as msgids (were opaque `step_*` keys)
- ~50 previously-hardcoded Dutch strings in the PWA install instructions are now wrapped in `t()`
- Language picker auto-discovers display names via `IFactory::getLanguages()` so new Transifex languages appear automatically without code changes
POT file already committed at `translationfiles/templates/introvox.pot` (113 unique msgids, `msgfmt -c` passes).
Replaces my earlier (premature, now closed) PR #937. Thanks @rakekniven for the pointer to this template.
Originally requested by community in nextcloud/IntroVox#16.
👤 App repository
To be done by you
Link to your repository: https://github.com/nextcloud/IntroVox
If the app is not 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 following content, replace `{{APPID}}` with your app id 3 times:
```ini
[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:{{APPID}}]
file_filter = translationfiles//{{APPID}}.po
source_file = translationfiles/templates/{{APPID}}.pot
source_lang = en
type = PO
```
⚙️ Validate your repository and translation strings:
```sh
bash translations/validateSyncSetup.sh Owner Repository
```
🏗️ Sysadmin team
👀 Ensure access:
⚙️ Ensure repository setup and run initial source validation:
```sh
bash translations/validateSyncSetup.sh Owner Repository
```
🧑💻 Run the first sync manually:
```sh
ssh transifex-sync.nextcloud.com
```
```sh
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
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
🔣 Translation team
Currently done by rakekniven
🏗️ Sysadmin team
```sh
ssh transifex-sync.nextcloud.com
```
```sh
cd /srv/docker-ci
git pull origin master
```
Additional context
Owner/Repo: `nextcloud IntroVox`
App: IntroVox — interactive onboarding tour for new Nextcloud users (Vue 3 + Shepherd.js).
@nextcloud-bot already has admin access on nextcloud/IntroVox (verified via API), inherited org-wide. No invite needed.
Just released v1.6.0 which contains the full i18n overhaul to make the source strings Transifex-ready:
POT file already committed at `translationfiles/templates/introvox.pot` (113 unique msgids, `msgfmt -c` passes).
Replaces my earlier (premature, now closed) PR #937. Thanks @rakekniven for the pointer to this template.
Originally requested by community in nextcloud/IntroVox#16.