Skip to content
NewPublic SDKs on npm

Your product. More languages.

Linguana finds the text in your app, translates it, and lets your team decide what ships. Your source stays as written.

Create a project

For React, Vue, Svelte, Solid, and TanStack Start.

Northwind appdevelopment

Good to see you, Maya

Northwind · Tracking Northwind app

  1. Build8 messages discovered
  2. 2Translate4 missing or rejected
  3. 3Review4 items need a decision
  4. Publishv12 is live

Language coverage

Latest build · development. Ready translations still require publishing.

LanguageReadyNeeds reviewMissingRejected
French fr7100
Spanish es7100
Japanese ja7100
Arabic ar3131
Projects
1
4 languages in Northwind app
Translation jobs
4
4 completed
Review queue
4
Decisions are waiting
Projected invoice
$31.40
$19 base + translation usage

Recent translation work

Jobs for Northwind app

  • fr8 of 8 messages · Sep 27 Succeeded
  • es8 of 8 messages · Sep 27 Succeeded
  • ja8 of 8 messages · Sep 27 Succeeded

Usage this month

31% of the monthly capof $100
112 memory matchesUsage details

A working preview with sample data. Click through it: approve, run a translation, publish, or restore. Nothing leaves your browser.

Languages

Choose the languages your users speak.

100+languages supported.

See all supported languages
Languages include English, French, Spanish, Japanese, Standard Arabic, Portuguese, German, Romanian, Swedish, Danish, Bulgarian, Russian, and more.

How it works

One sentence. Every step stays visible.

Follow a string from your source build to a reviewed translation. Publish only when the language is ready.

Build

The compiler finds your text. Your components stay as written.

Linguana runs inside your Vite build, collects every user-facing string and uploads it with the build. There are no keys to invent and no wrappers to add.

How text is found
Build #48Sample
React source filesrc/greeting.tsxUnchanged
1export function Greeting({ name }) {2  return (3    <header>4      <h1>Good morning, {name}.</h1>5      <p>Three invoices are due this week.</p>6      <button>Send reminder</button>7    </header>8  );9}

Found 3 strings · build uploaded

  • Good morning, {name}.greeting.tsx:4
  • Three invoices are due this week.greeting.tsx:5
  • Send remindergreeting.tsx:6

Translate

AI translates only what is new, inside a limit you set.

Text translated before is reused from translation memory. Every run shows its estimate first, and a run that would pass your monthly limit does not start.

Usage and costs
Translate latest buildSample
frFrenchesSpanishjaJapanesearArabic
New characters
2,840
Reused from memory
9,612
Estimated cost
$0.02
Monthly limit$12.40 of $50.00

This run fits. The final charge can't exceed the estimate you approve.

CancelStart translation

Review

See what is live, missing or waiting on a person, in every language.

Compare the original and the translation, then approve it, reject it or keep the source wording. Anyone on the team can do this in the dashboard, without opening the code.

Review translations
StringsSample
Stringfresjaar
Good morning, {name}.LiveLiveNeeds reviewLive
Three invoices are due this week.Needs reviewLiveLiveMissing
Send reminderLiveLiveLiveMissing
LiveNeeds reviewMissing

Source · en

Three invoices are due this week.

French · needs review

Trois factures arrivent à échéance cette semaine.

Use sourceRejectApprove

Publish

Nothing reaches users until someone publishes it.

Each release is a fixed catalog version. If a release is wrong, restore the previous one in a click; the newer version stays in history.

Publish a language
Releases · productionSample

4 languages reviewed and ready

Publish ready catalog
  1. v12fr, es, ja, arPublished by Maya · 2 min agoLive
  2. v11fr, es, jaSep 28Restore
  3. v10fr, esSep 21Restore

Restoring changes what your app loads. Newer versions are kept.

One workspace

One build. Everyone who touches the words.

Engineers set it up once. The people who own the wording review it in the dashboard, without opening the code.
  • Developers

    Add the build plugin once. Text is found where it already lives.

  • Product teams

    Choose languages and set a monthly limit before anything runs.

  • Reviewers

    Compare source and translation, then approve, reject, or keep the original.

  • AI agents

    One prompt sets up Claude Code, Cursor, Codex, or Copilot.

Why teams switch

Your code, budget, and release stay yours.

Linguana fits the way your team already builds and keeps the decision to publish in one place.

Create a project
  1. No keys to maintain

    No components to rewrite.

    01

    The build plugin finds supported text where it already lives. Dynamic text has explicit APIs and clear diagnostics.

    greeting.tsxunchanged
    export function Greeting() {
      return <h1>Good morning</h1>;
    }
    1 string foundno keys added
  2. A limit before every run

    Spend is decided up front.

    02

    Every run shows its estimate first. A run that would pass your monthly limit does not start, and reused translations are not charged again.

    Translation runEstimate
    New characters
    182,400
    Reused from memory
    41,920
    This run
    $1.46
    Monthly limit$24.56 of $40
  3. Nothing goes live by accident

    A person publishes each release.

    03

    Publishing creates a fixed catalog version. If a release is wrong, restore the previous one; the newer version stays in history.

    Releases · Productionfr · es · ja
    1. v12Published by MayaLive
    2. v11Published by JonRestore
    3. v10Published by MayaRestore

By the numbers

More gets shipped when the words keep up.

Languages, frameworks, and a published rate you can check before the first run.

Locales

In the registry, each labeled by support level.

121

Frameworks

React, Vue, Svelte, Solid, and TanStack Start.

5

Translation keys

To invent or maintain. Your source stays as written.

0

Per million

New target characters on Pro, after 2M included credits.

$8

Get started

Start the way you prefer.

Follow the guide for your framework, or hand one prompt to your coding agent. Either way, your components stay as written.

React

React on Vite · runs inside your Vite build

React guide
  1. Install the runtime

    The framework bindings and the catalog loader.

  2. Add the build plugin

    Finds your text at build time. No keys, no wrappers.

    bun add --dev @linguanahq/vite
  3. Register the adapter

    Place Linguana before your framework's own plugin.

    vite.config.ts
    import { defineConfig } from "vite";
    import { linguana } from "@linguanahq/vite";
    import { react as linguanaReact } from "@linguanahq/vite/react";
    import react from "@vitejs/plugin-react";
    
    export default defineConfig({
      plugins: [
        linguana({
          adapter: linguanaReact(),
          projectId: "your-project-id",
          environment: "development",
          sourceLocale: "en",
        }),
        react(),
      ],
    });

Pricing

Simple pricing, built to scale.

Choose a plan that fits your team and translation volume.

Pricing is temporarily unavailable.

Please refresh in a moment, or contact us for plan details.

Questions

Before you connect a project.

Clear answers on source code, releases, supported frameworks, and cost.
Will I need to rewrite my source files?

Linguana extracts supported static text at build time. Your components stay as written. Dynamic content uses explicit APIs, and unsupported patterns receive diagnostics. See dynamic text and links.

Which frameworks can I use?

The public SDK supports React, Vue, Svelte, Solid, and TanStack Start. The framework guide shows the setup for each one.

When do translations reach my users?

Only after someone publishes a reviewed catalog. Releases are versioned, and you can restore an earlier version. Read the publishing guide.

How does hosted translation pricing work?

The Free plan includes 50,000 translated characters each month. Pro is $19 per organization each month with 2,000,000 credits included (1 credit is 1 character), then $8 per million newly translated target characters. Reused translations are not new translation work. Estimate your monthly total.

Every language, one build

Your app, finally speaking every language.

Bring your source code or hand a prompt to your AI coding agent. Your team decides what reaches users.
Create a project
Read the docs