How to use i18n SaaS
Complete guide to automating your product localization
What is i18n SaaS?
i18n SaaS is a centralized platform for managing translations of your application, website, or service. Forget the chaos of managing raw JSON files. Now your whole team can collaborate in a single, user-friendly interface, while our AI automatically translates keys into dozens of target languages.
Step 1: Creating a Project
The first step is to create a project. Select the base language (the language your code is currently written in) and the target languages you want to translate your interface into.
Step 2: Automated Translation with AI
The most powerful feature of the platform is auto-translation. Add a target language, and our advanced neural network will automatically translate all existing keys while perfectly preserving context and code variables.
| Key | UK | EN | CS | |
|---|---|---|---|---|
| button.save | порожньо | порожньо |
Step 3: Team Collaboration
Invite your teammates and assign roles to work on translations together:
Step 4: Analytics and Progress Tracking
Track your project status in real-time. Our dashboard shows the exact translation progress for each locale, total key distribution, and the precise word count saved by leveraging our AI translation engine!
Step 5: Importing and Exporting Translations
You can easily export all your translations as a ZIP archive containing JSON files for each language. This allows you to edit translations locally in your favorite code editor or share them with professional translators.
Once your local files are ready, upload them back using the import button. The system will perform a smart merge of translations:
Step 6: Automated Build Integration (CI/CD)
To build a truly automated localization workflow, you do not need to manually download or export translation archives. You can automatically pull fresh translations directly from our CDN/API using scripts during the pre-build stage of your CI/CD pipeline.
Create a download-locales.js file in your project root:
// download-locales.js
import fs from 'fs';
import path from 'path';
const API_TOKEN = process.env.I18N_PROJECT_TOKEN || 'YOUR_PROJECT_TOKEN';
const LOCALES = ['en', 'uk', 'es']; // Add your languages here
const OUTPUT_DIR = path.resolve('src/locales');
async function downloadLocales() {
if (!fs.existsSync(OUTPUT_DIR)) {
fs.mkdirSync(OUTPUT_DIR, { recursive: true });
}
for (const locale of LOCALES) {
const url = `https://api.i18n-saas.com/api/public/translations/${API_TOKEN}/${locale}`;
console.log(`Downloading translations for: ${locale}...`);
try {
const res = await fetch(url);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
const filePath = path.join(OUTPUT_DIR, `${locale}.json`);
fs.writeFileSync(filePath, JSON.stringify(data, null, 2));
console.log(`✓ Saved ${locale}.json`);
} catch (err) {
console.error(`✗ Failed for ${locale}:`, err.message);
process.exit(1);
}
}
}
downloadLocales();Add its execution before the build script in package.json to update translations automatically:
{
"scripts": {
"prebuild": "node download-locales.js",
"build": "nuxt build"
}
}