Bezbolestná internacionalizácia (i18n), rozšírená na vaše vlastné horizonty bez toho, aby ste utratili tisíce dolárov.
Úplne zadarmo. Neobmedzené projekty, všetkých 48 jazykov, bez exspirácie, nie je potrebný licenčný kľúč.
Neobmedzené projekty. Všetky 48 jazykov. Bez exspirácie.
- Všetky 48 jazykov, neobmedzené preklady
- Ovládací panel, MCP server, každý SDK
- Nič na kúpenie, nič na zadanie okrem vášho AI kľúča
i18n už nie je náročné, môžete to skúsiť. Nevadí mi, keď za to dostanem sprepitné.
- Keď to cítiš
- Ak sa ti to páči
- Od 1 do 1 milióna dolárov, nie viac
Bezpečná platba cez Stripe. Licenčný kľúč príde do vašej schránky — znehlučuje výzvu na dar v ovládacom paneli.
Čo získavaš
- Neobmedzené projekty, všetkých 48 jazykov, bez exspirácie
- Neobmedzené preklady, bez obmedzenia použitia
- Nástenka, MCP server pre vašich agentov, každý SDK
- Jeden kontajner, jeden súbor SQLite na zálohovanie
- Licencia skontrolovaná offline: váš server nikdy nevolá domov
- Každá aktualizácia, pre život: docker compose pull
To, čo prinášaš
- Stroj s Dockerom: VPS za 4 € je dosta
- Kľúč API pre umelú inteligenciu (Mistral, OpenAI, Anthropic, Google alebo akýkoľvek poskytovateľ kompatibilný s OpenAI). Preklady sa vykonávajú na vašom vlastnom účte, za niekoľko centov za aplikáciu
- Päť minút
Podpora je poskytovaná e-mailom, s najlepším možným úsilím. Potrebujete niekoho na príjem hovorov? Hostované plány sú pre vás.
Ako to funguje
Inštalujte, vytvorte správcu, vložte svoj AI kľúč. Každý projekt je zadarmo, navždy.
S ONCE — nový server, doména, päť minút
curl -fsSL https://get.once.com | sh once # add an app: ghcr.io/ambroselli-io/i18n-keyless:latest, pick a host name # then open it: create the admin, paste your AI key on Settings # fully free, unlimited projects — donate if you want # ONCE does the domain, the TLS, the updates and the backups
S Docker Compose — ktorýkoľvek stroj, na ktorom beží Docker
mkdir i18n-keyless && cd i18n-keyless curl -fsSL https://i18n-keyless.com/self-hosted/docker-compose.yml -o docker-compose.yml docker compose up -d # → http://localhost:1800: create the admin, paste your AI key on Settings # fully free, unlimited projects — donate if you want
Potom nasmerujte svoj SDK na svoj server:
I18nKeyless.init({
API_KEY: "your-project-key",
API_URL: "https://i18n.example.com",
// …
});Úplný sprievodca: https://docs.i18n-keyless.com/docs/guides/self-hosting
Prečo darovať?
Lebo si sám spravuješ VPS a kľúč API AI. Nemám dôvod, aby som ťa účtoval za predplatné. Sám tiež nenávidím predplatné. Takže namiesto toho: ty si určíš, akú hodnotu má pre teba ten softvér, a ja budem pokračovať v jeho budovaní.
Obraz sa nainštaluje zadarmo a spúšťa neobmedzené projekty, vo všetkých jazykoch a bez exspirácie.
Otázky pred nákupom? Napište nám
Nastavte i18n, udržujte svoju kódovú základňu čistú a rýchlo doručujte
S aktuálnymi riešeniami i18n existuje viacero PITA. Problémy sú tak veľké, že odkladáte i18n tak dlho, ako je len možné.
Spotrebováva čas, ktorý by ste mali stráviť na pláži
Nastavte systém kľúčov: minimálne 1 hodina času seniorného vývojára
Sem a tam pre každý nový kľúč: 1 minúta na kľúč, x500 kľúčov, x2 jazyky = 17 hodín
S i18n-keyless sa nemusíte vôbec starať o systém internacionalizácie. Môžete ísť na pláž a objednať si mojito.
Dnes väčšina systémov používa kľúče na preklad textu
Je bolestné to generovať. Je bolestné to udržiavať.
Keď vidíte text v aplikácii a chcete ho aktualizovať, musíte nájsť príslušný kľúč.
S i18n-keyless sa nemusíte vôbec starať o systém i18n. Použite svoj mozog na niečo zaujímavejšie.
Ponechajte preklady na AI
S kľúčovým systémom musíte spravovať preklady v aplikácii.
Inak vaši používatelia uvidia v aplikácii someheader.welcome.title.
S i18n-keyless v najhoršom offline scenáriu uvidíte nepreložené reálne slová. Pri normálnom tempe sa vám systém i18n vôbec netýka. Stačí napísať dobré nadpisy, sústrediť sa na marketing a získať predaje.
Kódbázy sú krásne... kým sa kľúče i18n nenakazia
S kľúčovým systémom, keď čítate kód a obsah, musíte čítať kľúče, nie prirodzený jazyk.
Občas by ste mali urobiť opravu, pretože veta nie je gramaticky správna. Ale to neviete, pretože čítate kľúče.
S i18n-keyless sa o systém i18n nemusíte vôbec starať. Kódová základňa zostáva pekná.
MCP server na pokrytie všetkých vašich potrieb internacionalizácie
Ďalších šesť dôvodov, prečo je systém tak optimalizovaný pre agentné kódovanie.
Žiadne meno na vymyslenie
Kľúč je rozhodnutie o pomenovaní bez správnej odpovede. Dvaja agenti píšu login.submit a auth.button.send pre rovnaké tlačidlo. Bez kľúčov nie je žiadne rozhodnutie na urobnenie.
Jeden súbor na úpravu, nie dvadsať
Zmena založená na kľúči ovplyvňuje komponent a každý JSON súbor lokalizácie, pričom agenti zabúdajú súbory. Tu je zmena kópie editáciou jedného súboru.
Nula konfliktov spájania v flotách agentov
Päť agentov na piatich vetvách upravuje všetkých en.json: zaručený konflikt. Žiadny zdieľaný súbor neexistuje, takže worktrees a pozadoví agenti sa nikdy nezrazia.
Lacné v tokenoch
Ak chcete znova použiť kľúč, agent musí pri každej úprave načítať súbory lokalizácie do kontextu. Načítanie bez kľúča neurobí nič: text je priamo v komponente.
Čitateľné rozdiely
Žiadosť o pull request zobrazuje skutočné vety. Človek alebo recenzný agent môže posúdiť kópiu bez toho, aby musel zisťovať, čo znamená kľúč.
Jedno pravidlo vo vašom CLAUDE.md
Každé pravidlo i18n, ktoré napíšete, je pravidlo, ktoré môže agent porušiť. Toto pravidlo potrebuje len jeden riadok — a náhradný text je ten skutočný, takže chyba nezobrazí a.b.c na obrazovke.
Jediné pravidlo i18n, ktoré potrebuje váš agent
# CLAUDE.md Write the UI copy in English and wrap it in <T>…</T> from i18n-keyless-react. That is the whole i18n setup.
Váš agent to dokáže ovládnuť, nie len napísať
Cez MCP server agent zoznamuje chýbajúce preklady, prečíta jeden, prepíše zlý alebo importuje kópiu, ktorú už máš — s vlastným OAuth prihlásením, bez potreby vkladať kľúč.
Prečítajte si príručku MCPSpustite globálne už od prvého dňa
Prestaňte oneskoroovať internacionalizáciu kvôli zložitosti. Implementujte ju za 5 minút, nie dni. Udržujte rýchlosť vývoja, ako keby internacionalizácia nebola implementovaná.
- Implementácia za 5 minút. Nežartujem.
Jeden jednoduchý konfiguračný objekt a máte hotovo.
- Udržujte rýchlosť vývoja
Kódujte, ako by i18n vôbec nebol implementovaný.
- Poslať na globálne trhy
Žiadne refaktorovanie nie je potrebné pri škálovaní na nové jazyky.
- SSR & SEO pripravené
Funguje s Next.js, Remix, TanStack Start a Astro. Serverovo renderujte akýkoľvek jazyk pre vyhľadávače — rovnaké 5-minútové nastavenie.
Tradičný i18n
i18n-bez-kľúča
Nastavenie je hračka
Len najjednoduchší konfiguračný objekt a ste pripravení ísť globálne.
A ešte viac, váš agent to pre vás nastaví.
1. Základné nastavenie
import * as I18nKeyless from "i18n-keyless-react";
I18nKeyless.init({
API_KEY: "YOUR_API_KEY",
storage: window.localStorage,
languages: {
primary: "en",
supported: ["en", "fr"],
},
});2. Použitie komponentu (Tu React; to isté vo Vue, Angular, Flutter, Swift a Kotlin)
import { I18nKeylessText } from "i18n-keyless-react";
// import { T } from "i18n-keyless-react"; // also works
// Just write in your primary language
<I18nKeylessText>
Welcome to our website
</I18nKeylessText>3. Použitie na strane servera (tu Node.js; rovnaké volanie v Laravel, Rails, Python a Go)
import { awaitForTranslationOrFallbackToOriginal, type Lang } from 'i18n-keyless-node';
const title = await awaitForTranslationOrFallbackToOriginal('Come see my app!', user.lang as Lang);
const body = await awaitForTranslationOrFallbackToOriginal('So many new stuff!', user.lang as Lang);
await sendExpoPushNotification({ user, title, body });4. Pre text mimo komponenty
import { getTranslation } from "i18n-keyless-react";
export default function Navigation() {
return (
<HomeTabs.Navigator>
<HomeTabs.Screen
options={{ tabBarLabel: getTranslation("Welcome") }}
name="WELCOME"
/>
</HomeTabs.Navigator>
);
}5. Vyberte si svoj SDK: jeden riadok inštalácie, rovnaké API všade
- React, React Native, Expo, Next.js, Remix, TanStack Start, Astronpm install i18n-keyless-react
- Vue, Nuxtnpm install i18n-keyless-vue
- Angularnpm install i18n-keyless-angular
- Plain HTML, Svelte, Alpine, htmx, one script tagnpm install i18n-keyless-browser
- Node.jsnpm install i18n-keyless-node
- Laravel, PHPcomposer require i18n-keyless/laravel
- Rails, Rubybundle add i18n-keyless-rails
- Flutter, Dartflutter pub add i18n_keyless
- Swift, iOS, macOS, VaporSwiftPM: arnaudambro/i18n-keyless-swift
- Kotlin, Android, Ktorio.github.arnaudambro:i18n-keyless-kotlin
- Python, Django, Flask, FastAPIpip install i18n-keyless
- Gogo get github.com/arnaudambro/i18n-keyless/ports/go/v3
Ako fungujú preklady
i18n-keyless je knižnica, ktorá je kombinovaná s API službou, ktorá vám umožňuje prekladať váš text bez potreby používať kľúče.
Ak sa preklad nenájde, bude vykonaný asynchrónny fetch API I18nKeyless na získanie prekladu prostredníctvom volania AI API.
Táto operácia sa zvyčajne vykonáva v režime vývoja, keď kódujete. Ak jednu chýba, v produkcii ju uvidí iba prvý používateľ, ktorý má chýbajúci preklad, následne bude okamžite dostupná pre používateľov po celom svete.
Váš zoznam obchodu vo všetkých jazykoch, pri každom vydaní
Každá aktualizácia znamená nové poznámky k vydaniu, popis a kľúčové slová — pre každý jazyk v oboch obchodoch. To je to, čo vás bráni pridávať jazyky. Nie aplikácia.
- Poznámky k vydaniu pre všetky jazyky, v jednom volaní
Napíšte aktualizáciu raz. awaitForTranslation ju vráti v každom jazyku, v ktorom predávate, a konfigurácia vášho obchodu ju posiela do EAS alebo fastlane.
- 48 jazykov, zobrazených v slotoch App Store
pt-BR a pt-PT sú dva zoznamy; en-GB, en-AU a en-CA sú tri. toAppStoreLocale umiestňuje každý preklad na správne miesto.
- Opravte zlý preklad bez vydania
V aplikácii je jeden override v ovládacom paneli aktívny naraz — žiadna hotfix build, žiadna recenzia obchodu. V zozname spustite push znovu.
- Necenované za slovo
Prekladateľ účtuje asi 0,10 € za slovo. 2 000 reťazcov krát 10 jazykov je rozpočet, ktorý si samostatný vývojár nemôže dovoliť. Tu sa slová nepočítajú.
Celý recept na aplikáciu Expo
// store.config.js — EAS Metadata awaits an async config
const { init, awaitForTranslation, toAppStoreLocale } = require("i18n-keyless-node");
const LANGS = ["en", "fr", "de", "ja", "pt-BR"];
const DESCRIPTION = "Bibi translates your app while you sleep…";
module.exports = async () => {
init({ API_KEY: process.env.I18N_KEYLESS_KEY, languages: { primary: "en", supported: LANGS } });
const info = {};
for (const lang of LANGS) {
info[toAppStoreLocale(lang)] = {
title: await awaitForTranslation("Bibi", lang, { context: "App Store app name, 30 characters max" }),
subtitle: await awaitForTranslation("Keyless i18n", lang, { context: "App Store subtitle, 30 characters max" }),
description: await awaitForTranslation(DESCRIPTION, lang, { context: "App Store description" }),
};
}
return { configVersion: 0, apple: { info } };
};Rovnaký hovor zapisuje súbory metadát fastlane pre Google Play. Veľké písmená sú len poradné: nastavte limit do kontextu a skontrolujte dĺžku pred tým, ako pushnete.
Interaktívna Pieskovisko
Pozrite sa, ako i18n-keyless funguje v reálnom čase
Otvorte živý, upraviteľný projekt StackBlitz, aby ste videli preklady riešené ako píšete.
Prečo som to postavil
Vždy som odkladala internacionalizáciu, kým si ju môj klient nezažadoval natoľko, že som nemala inú možnosť. Nenávidím čítať kód s kľúčmi pre internacionalizáciu vnútri a rovnako nenávidím udržiavať JSON súbory ako aj vidieť, ako drahé sú poskytovatelia prekladu pre internacionalizáciu. Tak som si musela vytvoriť vlastné a ZBOZNIVÁM TO. Všetky moje aplikácie sú teraz internacionalizované automaticky.
Arnaud Ambroselli
Zakladateľ i18n-keyless
Chcete pridať svoje?
Svedectvo proti bezplatnému predplatnému. Požiadajte o svoje!
Pošli moje svedectvoČasto kladené otázky
Musím spravovať súbory s prekladmi?
Nie. Žiadne JSON súbory, žiadny krok extrakcie kľúčov a žiadny plugin pre dobu zostavovania. Napíšte svoje vety vo svojom zdrojovom jazyku, SDK ich pošle do API pri prvom požiadavku, API ich preloží pomocou AI a každá ďalšia požiadavka je obslúžená z vyrovnávacej pamäte. Váš kód je jediným zdrojom pravdy.
Čo sa stane, keď zmením zdrojový text?
Zdrojový text je kľúč. Ak ho zmeníte, dostanete nový kľúč s novým prekladom AI. Starý kľúč sa prestane vyžadovať a ovládací panel ho po 30 dňoch nečinnosti odstráni. Oprava preklepu funguje rovnako: opravte ju v kóde, nasaďte a nový text bude preložený pri prvom požiadavku.
Koľko to stojí?
Samostatne hostované: úplne zadarmo, neobmedzené projekty, bez predplatného a bez limitu používania — nainštalujte si Docker image a použite svoj vlastný AI kľúč. Páči sa vám to? Dajte mi tip! Hostované: pevná mesačná cena za projekt podľa mesačne aktívnych používateľov — 4 € do 1 000, 9 € do 5 000, 29 € do 50 000, 99 € do 500 000 — účtované mesačne, môžete kedykoľvek zrušiť. V oboch prípadoch nie je žiadne cenové určenie za miesto, za slovo alebo za reťazec.
Môžem exportovať svoje preklady?
Áno. Nástenná doska má tlačidlo „Exportovať JSON“, ktoré stiahne všetky preklady vo vašom projekte ako jeden JSON súbor. Export zahŕňa všetky riadky, nie iba tie, ktoré sa použili za posledných 30 dní, takže ide o úplnú zálohu. Nie je žiadne obmedzenie: vaše dáta sú vždy len na jeden klik.
Jeden správca: čo sa stane, ak sa projekt zastaví?
SDK sú pod MIT licenciou a zostávajú dostupné na npm, PyPI, RubyGems a ďalších registráciách. Server je verejný pod Elastic licenciou 2.0 a protokol medzi nimi je zdokumentovaný, takže ho môže ktokolvek spustiť, vytvoriť jeho fork alebo napísať proti nemu server. Vaše preklady zostávajú v jednom JSON exportu kedykoľvek. Ak hostovaná služba prestane fungovať: nainštalované aplikácie pokračujú v poskytovaní svojich uložených prekladov, nový klient sa vráti k východiskovému jazyku a nasmerovaním SDK na vlastnú inštanciu s API_URL sa všetko obnoví. To, čo by ste stratili, je AI preklad nových reťazcov na i18n-keyless.com — nie vaše dáta ani aplikáciu.
Prečítajte si celú odpoveď s kódomPozrite si demo
Pozrite si toto krátke video a uvidíte i18n-keyless v akcii