Migrating to Weblate

Are you using a different localization platform and considering switching to Weblate? This guide provides a quick, step-by-step process to help you migrate your translation project from platforms like Transifex, Crowdin, Lokalise, or similar services.

Weblate is designed around continuous localization with Git integration at its core, making it ideal for teams that want to keep translations close to their development workflow.

See also

Prerequisites

Before starting your migration, ensure you have:

On your localization platform:

  • Access to export your translation files

  • List of translators and their roles/permissions

  • Understanding of your current workflow (review process, automation, etc.)

For Weblate:

Prepare your translation files

Export translations from your current platform

Most localization platforms allow you to export all translations at once:

  • Transifex: Use their CLI tool or download translations from the web interface

  • Crowdin: Export all translations as a ZIP file from project settings

  • Lokalise: Use the bulk export feature

  • Phrase: Download all locales from the project dashboard

Hint

Keep your translation files in the format native to your internationalization framework (PO, XLIFF, JSON, etc.) rather than converting them. Weblate supports many formats.

Commit translations to your Git repository

Hint

If you would rather not store translations in an external Git repository, you can skip this step and use the Upload translation files option when creating a component.

If your translations aren’t already in Git:

  1. Create a Git repository or use your existing project repository

  2. Organize translation files following your project structure

  3. Commit and push the files to your Git hosting service (GitHub, GitLab, Bitbucket, etc.)

git add locales/
git commit -m "Add translation files for Weblate migration"
git push origin main

See also

Import your project into Weblate

Create a new project

  1. Navigate to your Weblate instance.

  2. Click Add new translation project in the + menu.

  3. Fill in your project details:

    • Project name: Your application or project name

    • URL slug: Short identifier (e.g., myapp)

    • Project website: Your project homepage (optional)

../_images/user-add-project.webp

See also

Adding translation projects and components for detailed project creation instructions

Add a component from your Git repository

  1. After creating the project, click Add new translation component

  2. Select From version control

  3. Configure your component:

    • Component name: e.g., “Application strings”, “Website”, “Documentation”

    • Repository URL: Your Git repository URL (HTTPS or SSH)

    • Repository branch: Optional: Specify repository branch (Weblate automatically detects the default branch if not specified)

  4. Weblate will automatically detect:

    • Translation file format

    • Available languages

    • Source language

  5. Review and confirm the detected settings

../_images/user-add-component-discovery.webp

Hint

For repositories with multiple translation components (e.g., separate files for backend, frontend, documentation), create a separate Weblate component for each.

You can speed this up using From existing component for shared repositories or Component discovery to automatically create them.

See also

Configure your workflow

Set up access control

Choose your project’s visibility and access level:

  1. Go to your project settings: OperationsSettingsAccess tab

  2. Select the appropriate access control:

    • Public: Open-source projects, anyone can contribute

    • Protected: Visible to all, but only invited users can translate

    • Private: Only invited users can view and translate

../_images/project-access.webp

See also

Managing per-project access control for detailed access control configuration

Set up continuous localization

Enable automatic updates and commits:

  1. Configure repository integration:

    • Pull changes: Set up a webhook so Weblate updates when your source code changes

    • Push changes: Configure Pushing changes from Weblate so translations are committed back to your repository

  2. Enable automatic actions in component settings:

    • Push on commit: Automatically push translations to your repository

    • Commit interval: Set how often pending translations are committed (e.g., every 24 hours)

See also

Continuous localization for complete workflow automation

Configure quality checks and workflows

Customize translation quality controls:

  1. Enable checks: Review Quality checks and enable any opt-in quality checks you need.

  2. Set up review workflow: Enable Enable reviews if you want an approval process.

  3. Add enforced checks: Configure which quality checks should block translations.

Optional: Enable add-ons

Weblate offers Add-ons to automate common tasks:

See also

Add-ons for all available add-ons

Test and verify

Before announcing the migration to your translators:

  1. Test the workflow:

    • Make a test translation

    • Verify it appears in your Git repository

    • Test pulling changes from your repository into Weblate

  2. Import any existing translation memory (optional):

    • Use Translation Memory to import previous translations

    • This helps with consistency and speeds up translation

  3. Configure notifications:

See also

Translation Memory for translation memory management

Invite and manage users

Invite translators

For Protected and Private projects:

  1. Navigate to OperationsUsers in your project

  2. Use Add user to invite translators

  3. Assign them to appropriate teams:

    • Translators: Can translate strings

    • Reviewers: Can review and approve translations

    • Managers: Can manage project settings

For Public projects, users can start contributing immediately after signing up.

Tip

Send your translators a welcome message with:

  • Link to your project on Weblate

  • Overview of any project-specific terminology or style guides

  • Information about your review process

See also

Next steps

After completing the migration:

  • Announce to translators: Let your translation team know about the migration with clear instructions

  • Monitor initial usage: Watch for any issues during the first few days

  • Gather feedback: Ask translators about their experience compared to the previous platform

  • Optimize workflow: Adjust settings based on your team’s needs

  • Remove previous platform: Once the migration is completed, remember to revoke access granted to the previous platform.

Tip

During migration, you can run both platforms in parallel for a transition period to ensure everything works as expected before fully switching over.

Additional resources

Hint

Join the Weblate community if you need help during your migration. The community is active and helpful!