You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note on the branch-protection checkbox below: main here is protected by a repository ruleset (not classic branch protection). Since individual users can now be added to ruleset bypass lists (shipped 2026-05-07, changelog below), I would prefer to keep the protection and add nextcloud-bot to the bypass list with the Exempt mode, instead of disabling protection entirely.
The bypass can only be created once the collaborator invite is accepted. Could you please ping me right after accepting the invite and before the first sync, so I can add the Exempt bypass and confirm it is in place?
EDIT:
The 'nextcloud-bot' is added to the bypass list with 'Exempt':
If the bot's push still fails despite the bypass, I will disable the protection for the sync as the template describes. Happy to test this newer approach with you.
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:
[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/<lang>/{{APPID}}.po
source_file = translationfiles/templates/{{APPID}}.pot
source_lang = en
type = PO
⚙️ Validate your repository and translation strings:
👤 App repository
To be done by you
Invite
nextcloud-botwith write permissionsNote on the branch-protection checkbox below:
mainhere is protected by a repository ruleset (not classic branch protection). Since individual users can now be added to ruleset bypass lists (shipped 2026-05-07, changelog below), I would prefer to keep the protection and addnextcloud-botto the bypass list with the Exempt mode, instead of disabling protection entirely.https://github.blog/changelog/2026-05-07-repository-rulesets-user-bypass-and-branch-renaming/
The bypass can only be created once the collaborator invite is accepted. Could you please ping me right after accepting the invite and before the first sync, so I can add the Exempt bypass and confirm it is in place?
EDIT:
The 'nextcloud-bot' is added to the bypass list with 'Exempt':

If the bot's push still fails despite the bypass, I will disable the protection for the sync as the template describes. Happy to test this newer approach with you.
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
l10n/.gitkeepwith empty content.l10nignoreto exclude compiled JS files and thirdparty code, e.g. ignoring compiled javascript assets and composer PHP dependencies in the vendor/ directory:.tx/configwith the following content, replace{{APPID}}with your app id 3 times:🏗️ Sysadmin team
👀 Ensure access:
nextcloud-botwith admin permissions⚙️ Ensure repository setup and run initial source validation:
🧑💻 Run the first sync manually:
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 APPIDTransifex: 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.jsonrakekniven🔣 Translation team
Currently done by rakekniven
🏗️ Sysadmin team
cd /srv/docker-ci git pull origin master