Skip to content
DocsWorkflows & integrationsLocalization management with Crowdin

Localization management with Crowdin

Once you’ve set up your app with next-intl, you’ll have multiple translation bundles that contain your messages (e.g. en.json). To streamline the workflow of managing these and to allow other team members to contribute translations, it’s a good idea to use a localization management platform.

While next-intl works with all localization management platforms that support translating JSON files, next-intl recommends Crowdin for managing your translations.

Collaborate with translators

The Crowdin Editor provides an easy-to-use environment for translating messages. Apart from guiding translators through your messages, the workflow is improved with advanced features like machine translation suggestions, glossaries and contextual screenshots.

Crowdin Editor

The Crowdin Editor enables translators to work with JSON files from next-intl (illustration).

Decouple localization from development

As a developer-focused localization service, Crowdin helps you to decouple the localization process from development and integrates with your existing workflows.

Integration options:

  1. Git integration e.g. via the GitHub app or the Crowdin CLI (recommended)
  2. Automatic workflows triggered from webhooks
  3. Over-the-air delivery via the JS SDK
  4. Manual up- and download of messages (useful to get started)
Crowdin workflow

The Crowdin GitHub integration automatically creates pull requests when translations are updated.

💡

The TypeScript integration of next-intl can help you to validate at compile time that your app is in sync with your translation bundles.

You can further simplify the process for translators by setting up Crowdin In-Context, allowing for the translation of messages directly from your app.

Example workflow with the GitHub integration

For this example, we’re going to use an example that is publicly available on GitHub: Street Photography Viewer. It’s a Next.js app that displays street photography pictures from Unsplash and uses next-intl for all internationalization needs.

Once you have a GitHub repository with your app, you can follow these steps:

  1. Install the GitHub app from the Crowdin store
  2. Follow the setup guide for the GitHub integration

After this procedure, Crowdin will commit a configuration file to your repository based on your settings.

crowdin.yml
files:
  - source: /messages/en.json
    translation: /messages/%locale%.json

This file provides the local translations in your repository to Crowdin.

Crowdin repository mapping

With the configuration file in place, Crowdin knows about the translation files in your repository.

Now, as soon as a translation gets updated in Crowdin, the next sync will create a pull request in your repository with the updates.

Crowdin repository sync

Automatic translation sync from Crowdin (example pull request)

→ Head over to Crowdin to learn more.

Docs

 · 

Examples

 · 

Blog