AZbox for Next.js
Updated:
Localize your Next.js app
AZbox integrates with Next.js internationalization workflows. Whether you use next-intl, next-i18next, or the built-in i18n routing, manage your translation files with AZbox.
How it works
- Push your JSON files — Upload translation keys from your
/localesdirectory - AI translates — Get translations in minutes
- Pull updated files — Download and commit to your repo, or fetch them from the API in a build step
Supported formats
.json— Standard locale files (flat or nested).yaml— Alternative format
Quick setup
npm install azbox-node
Add to your build pipeline:
// scripts/sync-translations.mjs (Node 18+)
import { writeFile } from "node:fs/promises";
import { AzboxClient } from "azbox-node";
for (const language of ["ES", "FR", "DE", "JA"]) {
const client = new AzboxClient({
apiKey: process.env.AZBOX_API_KEY,
projectId: process.env.AZBOX_PROJECT_ID,
language,
});
// { "home.title": "Bienvenido", … }
const messages = await client.getTranslations();
await writeFile(
`./locales/${language.toLowerCase()}.json`,
JSON.stringify(messages, null, 2),
);
}
getTranslations() leaves out keywords that have no text yet in that language, so an untranslated key never overwrites a file with an empty string.
Pulling in CI
The script above is an ordinary build step. If writing the files is all you need, the AZbox CLI does it without a script. What you cannot do is the other direction: the API is read-only for keywords, and they are created in the dashboard or by importing a file.
Pricing
The free plan does not expire: 1 project, 2 languages and unlimited keys, which is enough for a small Next.js site.
Start Global Growth Today
Upload your language files, get them translated, and keep every locale in sync as your product keeps changing.
Get Started - It's Free