Two Crowdin workflows
Hyperlocalise now supports two different Crowdin integrations:- Native sync mode with
i18n.ymlplussync push/sync pull - Crowdin-compatible file mode with
crowdin.ymlplushyperlocalise crowdin ...
Native sync mode
Required config
Crowdin Enterprise
SetapiBaseURL when your workspace uses Crowdin Enterprise instead of the default Crowdin Cloud API.
Optional config fields
apiBaseURL: Override the Crowdin API base URL. Use this for Crowdin Enterprise.sourceLanguagetargetLanguagestimeoutSeconds
Crowdin-compatible file mode
Usecrowdin.yml or crowdin.yaml.
Example:
crowdin.yml fields in v1:
project_idproject_id_envapi_tokenapi_token_envbase_urlbase_url_envbase_pathbase_path_envbranchpreserve_hierarchyfiles[].sourcefiles[].translationfiles[].languages_mappingfiles[].excluded_target_languagesfiles[].skip_untranslated_stringsfiles[].skip_untranslated_filesfiles[].export_only_approved
--merge-approved merges approved JSON object keys into existing local translation files and preserves local keys omitted from Crowdin’s approved export.
When Crowdin includes source-language fallback values in that export, Hyperlocalise skips values that still match the source JSON so previously translated local strings are preserved.
--include-sources also downloads matching Crowdin source files into the configured files[].source paths before writing translations. Exact source paths can be created locally if missing; globbed source paths are limited to files matched by local glob expansion.
Use root branch: in crowdin.yml or pass --branch <name> to upload and download files from a Crowdin branch. The flag overrides the config value for that command.
Validation fails closed on unsupported Crowdin fields or commands.
Common issues
- token not found: export
CROWDIN_API_TOKEN - Enterprise API requests fail: verify
storage.config.apiBaseURLpoints to your Enterprise API host and useshttps - project lookup failure: check project ID and account permissions
- partial updates: review conflict report with
--output json - file-mode validation errors: remove unsupported
crowdin.ymlfields or switch to nativei18n.ymlsync mode