Lingvit

Headless e-commerce translation for Medusa.js

Automate translation for your Medusa.js backend. Products, categories, and collections synchronize automatically, serving translated content to your Next.js, Remix, or mobile storefronts.

What gets translated

  • Product titles, descriptions, and custom attributes
  • Product variants, options, and tags
  • Product categories and collections
  • Custom metadata and sales channel specific copy
  • Automated subscriber on product.created and product.updated
  • Batch translation CLI for bulk catalog synchronization
  • Next.js / Remix storefront integration
  • Multi-region and multi-currency compatibility

Setup guide

  1. Install @lingvit/medusa

    Install the plugin in your Medusa project directory.

    npm install @lingvit/medusa
  2. Configure medusa-config.js

    Add the plugin to your Medusa configuration with your project key.

    const plugins = [
      // ...
      {
        resolve: '@lingvit/medusa',
        options: {
          projectKey: process.env.LINGVIT_PROJECT_KEY,
        },
      },
    ];
  3. Query localized products in your storefront

    Use Medusa's standard store API passing the locale header or query param. Translations are returned automatically.

Frequently asked questions

Does it work with Medusa v2?

Yes. The plugin supports both Medusa v1 and the modular Medusa v2 architecture.

How are translations stored in Medusa?

Translations can be stored in product metadata or dedicated localized tables, ensuring zero disruption to existing database queries.

How does it handle product updates?

An event subscriber listens for product updates and dispatches translation tasks for only the modified fields.

Can I use it with the Next.js starter storefront?

Yes. The localized strings plug right into Next.js App Router and Pages Router starter storefronts.

Start translating your Medusa.js site

A monthly word generation allowance for new translations. Cached delivery uses no extra allowance.