patternjavascriptModerate
Translation Management with Crowdin and Lokalise: Key Workflow
Viewed 0 times
CrowdinLokalisetranslation managementTMSi18n workflowtranslation CI
Problem
Managing translation files manually in a repository becomes unscalable when many languages and translators are involved.
Solution
Use a Translation Management System (TMS) like Crowdin or Lokalise. Connect via CI or CLI to push source strings and pull translated files automatically.
# crowdin.yml
project_id: 'YOUR_PROJECT_ID'
api_token_env: CROWDIN_PERSONAL_TOKEN
base_path: '.'
base_url: 'https://api.crowdin.com'
files:
- source: /messages/en.json
translation: /messages/%locale%.json# Push new source strings
crowdin push
# Pull translations
crowdin pull
# Lokalise upload
lokalise2 file upload \
--token $TOKEN \
--project-id $PROJECT_ID \
--file messages/en.json \
--lang-iso enWhy
TMS platforms provide translation memory, machine translation pre-fill, context screenshots, glossaries, and translator workflows that are impossible to replicate with raw JSON files in Git.
Gotchas
- Always extract strings using a CLI tool (formatjs extract, i18next-parser) before pushing to the TMS — never hand-edit source JSON.
- Set up a CI check that fails the build if untranslated strings exist in production locales.
- Key naming conventions must be agreed upon early — flat vs. nested keys differ between TMS platforms.
- Lokalise and Crowdin both offer GitHub integrations that auto-create PRs with new translations.
Revisions (0)
No revisions yet.