Translate Your Nuxt.js Site Overnight with SiteLocaleAI
If you’ve ever struggled to launch a multilingual marketing site on Nuxt.js, you’re not alone. Traditional translation pipelines require separate builds, manual content duplication, and costly third‑party services. SiteLocaleAI changes the game with a drop‑in JavaScript library that works everywhere—React, Vue, WordPress, Shopify, and especially Nuxt.js. In this SEO guide we’ll walk through a **one‑config‑file* setup that translates your site overnight, localizes prices, and delivers SEO‑ready pre‑rendered pages.*
Why Nuxt.js + SiteLocaleAI?
- Framework‑agnostic: The library is pure JavaScript, so it plugs directly into Nuxt’s rendering pipeline.
- Self‑hosted LLMs: Use your own API keys (Claude, GPT‑4o‑mini, etc.)—no data leaves your infrastructure.
- Psychological price rounding: Prices are automatically adjusted per currency (e.g., $9.99 → €8.99) to boost conversion.
- SEO pre‑rendering CLI: Generates static HTML for each locale, ensuring Google indexes the translated content.
- Zero Node.js on the server: The WordPress plugin demonstrates that you can run the library without a Node runtime, a principle that applies to static‑site generators like Nuxt.
Prerequisites
- A Nuxt 3 project (or Nuxt 2 with the new bridge).
- An LLM API key (Claude, GPT‑4o‑mini, etc.).
- Node ≥ 18 for the CLI (optional if you only need client‑side translation).
Step 1 – Install the Library
# Using npm or yarn
npm install @sitelocaleai/core
# or
yarn add @sitelocaleai/core
Tip: The package is framework‑agnostic, so you can also add it via a CDN for quick prototyping:
<script src="https://cdn.jsdelivr.net/npm/@sitelocaleai/core@latest/dist/sitelocaleai.min.js"></script>
Step 2 – Create a Single Config File
Create sitelocale.config.js at the root of your project:
// sitelocale.config.js
export default {
// Your LLM endpoint – can be Claude, OpenAI, etc.
apiKey: process.env.SITELOCALE_API_KEY,
// Target locales – ISO‑639‑1 codes
locales: [
{ code: "en", name: "English" },
{ code: "es", name: "Español" },
{ code: "de", name: "Deutsch" },
{ code: "fr", name: "Français" },
],
// Price localization rules
price: {
round: "psychological", // e.g., $9.99 → $9.95
currencyMap: {
USD: "$",
EUR: "€",
GBP: "£",
},
},
// SEO pre‑rendering options (used by the CLI later)
seo: {
generateStatic: true,
outputDir: "dist/locale",
},
};
That’s it—no per‑page code, no extra components. The library reads this file at runtime and applies translations automatically.
Step 3 – Hook Into Nuxt’s Middleware
Add a small plugin that loads SiteLocaleAI on the client and server:
// plugins/sitelocale.client.ts
import { createApp } from "@sitelocaleai/core";
import config from "../sitelocale.config";
export default defineNuxtPlugin((nuxtApp) => {
const app = createApp(config);
// Expose to components via provide/inject
nuxtApp.provide("sitelocale", app);
});
In nuxt.config.ts register the plugin:
export default defineNuxtConfig({
plugins: ["~/plugins/sitelocale.client.ts"],
});
Now any component can access the translation API:
<template>
<h1>{{ $sitelocale.t('hero.title') }}</h1>
<p>{{ $sitelocale.t('hero.subtitle') }}</p>
<price-display :amount="price" />
</template>
If you prefer a completely hands‑off approach, just wrap your root layout with the provider and let SiteLocaleAI replace text nodes automatically.
Step 4 – Generate SEO‑Friendly Static Pages
SiteLocaleAI ships a CLI that pre‑renders each locale for search engines:
npx @sitelocaleai/cli pre-render --config sitelocale.config.js
The CLI:
1. Crawls your Nuxt routes.
2. Requests translations from your LLM.
3. Writes fully translated HTML files to dist/locale/<locale>/.
4. Updates <link rel="alternate" hreflang="…"> tags automatically.
After the command finishes, deploy the dist folder to any static host (Vercel, Netlify, Cloudflare Pages). Search bots will see the translated content directly, boosting international SEO without JavaScript rendering delays.
Step 5 – Test Locally
Run the dev server with a locale query param:
npm run dev -- --locale=es
You should see the entire site rendered in Spanish, with prices rounded to the nearest €9.95, €19.95, etc. Use Chrome DevTools → Network → sitelocaleai requests to verify that the LLM calls are hitting your API key.
Step 6 – Deploy and Monitor
- Push the generated
distfolder to your CDN. - Add a sitemap entry for each locale (SiteLocaleAI can output a
sitemap.xmlautomatically). - Monitor Google Search Console for indexing status.
- Track conversion rates per locale—price rounding often yields a 5‑10 % lift.
Internal Resources
- Detailed API reference: https://sitelocaleai.com/docs
- SEO pre‑rendering guide: https://sitelocaleai.com/docs/seo
Frequently Asked Questions
Q: Do I need a Node server for the translation?
A: No. The library runs in the browser, and the CLI is only needed for static pre‑rendering. Your LLM calls are made from the client using your API key.
Q: How does price rounding work?
A: SiteLocaleAI applies a “psychological” algorithm that rounds to the nearest 0.95 or 0.99, depending on the currency, while respecting local tax rules.
Q: Can I add more locales later?
A: Absolutely. Just update sitelocale.config.js and re‑run the CLI. The library will pick up the new locales on the next build.
Wrap‑Up
Translating a Nuxt.js marketing site no longer has to be a multi‑week project. With one configuration file, SiteLocaleAI gives you:
- Instant multilingual rendering.
- Automatic, psychologically‑rounded pricing.
- SEO‑ready static pages for every locale.
- Full control over your LLM provider and API keys.
Ready to go global overnight? Try SiteLocaleAI today and see how easy multilingual SEO can be.
This guide is part of SiteLocaleAI’s series on framework‑specific SEO strategies. For more tutorials, visit our Docs.