ci: add Crowdin translation sync workflow - #130
Merged
Conversation
Reconnect a translation pipeline for Localizable.xcstrings. On push to main the workflow uploads new English source strings to Crowdin; on a weekly schedule (or manual dispatch) it pulls translated strings back as a "New translations from Crowdin" PR. It stays dormant until the maintainer adds the CROWDIN_PROJECT_ID and CROWDIN_PERSONAL_TOKEN secrets, so it never fails on pushes before setup is complete. Reconcile the localization docs to match: CONTRIBUTING.md now describes the Crowdin flow (English source strings only; translate via Crowdin, not in PRs), and docs/AUDIT.md no longer claims a Crowdin project that wasn't actually wired up on this fork.
Without preserve_hierarchy the CLI flattens the source path to /Localizable.xcstrings on upload, and the download step can no longer map the exported file back to Whisky/Localizable.xcstrings (it warns 'missing respective sources' and skips it). Keeping the repo hierarchy in Crowdin makes upload and download symmetric.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Crowdinworkflow: pushes tomaintouchingWhisky/Localizable.xcstringsupload new English sources to Crowdin; a Monday cron (plusworkflow_dispatch) pulls translations and opens anl10n/crowdinPR.crowdin.ymlgainspreserve_hierarchy: true— without it the CLI flattens the file to/Localizable.xcstringson upload and the download step can't map the export back toWhisky/Localizable.xcstrings.Setup already completed (out-of-repo)
frankea-whisky(ID 913423) created: public, English source, 22 target languages matching the catalog.CROWDIN_PROJECT_ID/CROWDIN_PERSONAL_TOKENrepo secrets configured.--import-eq-suggestions), andskipUntranslatedStringsenabled on the project so exports omit untranslated entries instead of filling them with English source-copies.es,zh-Hans,pt-BR, …).Testing
crowdin upload sources/upload translations/download translationsall exercised against the live project with this exact config.l10n/crowdinPR for mass deletions before merging it.