Lingvit

Translate any Nuxt 3 app without @nuxtjs/i18n

One line in nuxt.config.ts enables automatic translation across all pages, layouts, and components. Works with Nuxt Content, server-side rendering, and hybrid rendering modes.

What gets translated

  • All Nuxt pages and layouts
  • Nuxt Content (MDX/Markdown)
  • useAsyncData and useFetch rendered output
  • NuxtLink navigations
  • Pinia stores rendered in templates
  • Error pages and server messages

Setup guide

  1. Create a Lingvit project

    Sign up at app.lingvit.com and create a project. Add your production domain and select your target languages.

  2. Add the script via nuxt.config.ts

    Inject the Lingvit script through your Nuxt config — no manual template edits required:

    // nuxt.config.ts
    export default defineNuxtConfig({
      app: {
        head: {
          script: [
            { src: 'https://cdn.lingvit.com/widget/v1/widget.bundle.js', async: true },
          ],
        },
      },
    })
  3. Select languages and deploy

    Choose target languages in the Lingvit dashboard and deploy your app. SSR-rendered HTML and client-side hydration updates are both translated automatically.

Frequently asked questions

Does it work with SSR (server-side rendering)?

Yes. Lingvit runs client-side after hydration — it translates the DOM as rendered in the browser. For SSR, the initial HTML is served in the source language and translated immediately after hydration.

Nuxt 2 or Nuxt 3?

Both are supported. For Nuxt 2, add the script to nuxt.config.js head.script array or to your layouts/default.vue template.

Can I use this alongside @nuxtjs/i18n?

Yes. If you already use @nuxtjs/i18n for routing or some content, Lingvit translates whatever is rendered to the DOM. You can keep i18n for URL routing and use Lingvit for content translation.

Does it work with Nuxt Content?

Yes. Nuxt Content renders Markdown/MDX to HTML, which Lingvit observes and translates automatically.

Start translating your Nuxt.js site

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