Fájdalommentes i18n, kibővítve a saját horizontjaidra ezer dollár kiadása nélkül.
Teljes mértékben ingyenes. Végtelen projektek, mind a 48 nyelv, nincs lejárat, nem szükséges licenc kulcs.
Végtelen projektek. Az összes 48 nyelv. Nincs lejárat.
- Minden 48 nyelv, korlátlan fordítások
- A vezérlőpult, az MCP-kiszolgáló, minden SDK
- Semmit sem vásárolni, sem bevinni, csak az AI-kulcsod
Az i18n most már egyszerű, kipróbálhatod. Nem bánom, ha érte borravalót kapok.
- Amikor érzed
- Ha kedved van hozzá
- 1-től 1 millió dollárig, nem több
Biztonságos fizetés a Stripe-en keresztül. Egy licencekulcs landol a postaládádban — ez elnémítja a donációs promptot a vezérlőpulton.
Amit kapsz
- Korlátlan projektek, az összes 48 nyelv, nincs lejárat
- Végtelen fordítások, korlátlan használat
- A műszerfal, az MCP-kiszolgáló az ügynökeid számára, minden SDK
- Egy konténer, egy SQLite-fájl a mentéshez
- Egy offline ellenőrzött licence: a szervered soha nem hívja a központot
- Minden frissítés, az életre: docker compose pull
Amit hozol
- Egy gép Dockerrel: egy 4 €-s VPS bőven elég
- Egy AI API-kulcs (Mistral, OpenAI, Anthropic, Google vagy bármely OpenAI-kompatibilis szolgáltató). A fordítások a saját fiókodon futnak, néhány centbe kerülnek alkalmazあたり
- Öt perc
A támogatás e-mailen keresztül történik, a legjobb erőfeszítéssel. Szüksége van valakire, aki felveszi a telefont? A hosted tervek a magáéi.
Hogyan működik
Telepítse, hozza létre az adminisztrátort, illessze be az AI-kulcsát. Minden projekt ingyenes, örökre.
ONCE – egy friss szerver, egy domain, öt perc
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
A Docker Compose-zal — bármely olyan gép, amelyen fut a 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
Ezután irányítsa az SDK-ját a szerverére:
I18nKeyless.init({
API_KEY: "your-project-key",
API_URL: "https://i18n.example.com",
// …
});A teljes útmutató: https://docs.i18n-keyless.com/docs/guides/self-hosting
Miért adományozzon?
Mert te magad kezeled a VPS-t és az AI API-kulcsot. Nincs okom, hogy előfizetési díjat számítsak fel neked. Én magam is utálom az előfizetéseket. Ehelyett: te döntöd el, hogy mennyit ér neked a szoftver, én pedig továbbra is fejlesztem.
A kép ingyenesen települ és korlátlan projekteket futtat, minden nyelven és lejárt nélkül.
Kérdések a vásárlás előtt? Írjon nekünk
I18n beállítás, tartsa tiszta a kódját és szállítson gyorsan
Több PITA létezik a jelenlegi i18n megoldásokkal. A fájdalmak olyan nagyok, hogy lehetőleg elhalasztod az i18n-t.
Időt fogyaszt, amelyet a strandon kellene töltened
A kulcsrendszer beállításához legalább 1 óra senior fejlesztői idő szükséges
Oda-vissza minden új kulcsra: 1 perc kulcsanként, x500 kulcs, x2 nyelv = 17 óra
Az i18n-keyless-sel nem kell gondolkodnod az i18n rendszerre. Elmehet a strandra és rendelhet egy mojitót.
Ma a legtöbb rendszer kulcsokat használ a szöveg fordításához
Ez fájdalmas generálni. Ez fájdalmas karbantartani.
Ha lát egy szöveget az alkalmazásban, és frissíteni szeretné, akkor a megfelelő kulcsot kell megtalálnia.
Az i18n-keyless-szel nem kell gondolni az i18n rendszerre. Használja agyát valami érdekesre.
Hagyja a fordításokat az AI-ra
A kulcsszerviz segítségével a fordításokat az alkalmazásban kell kezelni.
Különben a felhasználók a someheader.welcome.title szöveget látják az alkalmazásukban.
Az i18n-keylessszel a legrosszabb offline forgatókönyvben láthatod a lefordítatlan valós szavakat. Normál tempóban egyáltalán nem érdekel az i18n rendszer. Csak írj jó címeket, koncentrálj a marketingre, és növeld az értékesítést.
A kódbázisok gyönyörűek... amíg az i18n kulcsok fertőzik
A kulcsszervizzel, amikor olvassad a kódot és a tartalmat, olvasnod kell a kulcsokat, nem a természetes nyelvet.
Néha azt kell tennie, hogy javítson, mert egy mondat nem grammatikailag helyes. De nem tudja azt, mert olvassa a kulcsokat.
Az i18n-keyless-sel nem kell gondolkodnod az i18n rendszerre. A kódbázis szépen marad.
MCP-kiszolgáló az Ön összes i18n igényének kielégítéséhez
Hat további ok, amiért a rendszer annyira optimalizált az ügynöki kódolásra.
Nincs név kitalálni
A kulcs egy elnevezési döntés, amelyre nincs helyes válasz. Két ügynök írja a login.submit és az auth.button.send-t ugyanarra a gombra. Kulcsok nélkül nincs döntés meghozatalára.
Egy fájl szerkesztéséhez, nem húsz
Egy kulcsalapú változás érinti a komponenst és minden helyi JSON-fájlt, az ügynökök pedig elfelejtik a fájlokat. Itt egy másolatváltoztatás egy fájl szerkesztése.
Nincs merge-konfliktus az ügynöki flottákban
Öt ágens öt ágon szerkeszti az en.json-t: garantált konfliktus. Nincs megosztott fájl, így a worktrees-ek és a háttérben futó ágensek soha nem ütköznek.
Olcsó tokenekben
Egy kulcs újbóli felhasználásához az ügynöknek minden szerkesztéskor be kell töltenie a helyi fájlokat a kontextusba. A kulcs nélküli betöltés semmit sem tesz: a szöveg ott van a komponensben.
Olvasható különbségek
A pull request valódi mondatokat mutat. Egy ember vagy egy felülvizsgálati ügynök anélkül is megítélheti a másolatot, hogy ki kellene derítenie, mit jelent egy kulcs.
Egy szabály a CLAUDE.md fájlodból
Minden i18n szabály, amit írsz, egy olyan szabály, amit az ügynök megszeghet. Ennek a szabálynak elegendő egyetlen sor — és a visszaeső az eredeti szöveg, így egy hiba nem fogja megjeleníteni az a.b.c-t a képernyőn.
Az egyetlen i18n szabály, amit az ügynöködnek szükséges
# CLAUDE.md Write the UI copy in English and wrap it in <T>…</T> from i18n-keyless-react. That is the whole i18n setup.
Az ügynöke képes működtetni, nem csak írni
Az MCP-kiszolgálón keresztül az ügynök felsorolja a hiányzó fordításokat, olvas egyet, felülír egy rosszat, vagy importálja a már meglévő másolatodat — saját OAuth-bejelentkezéssel, anélkül, hogy bármilyen kulcsot be kellene illesztened.
Olvassa el az MCP útmutatótGlobálisan indítsa el az első napon
Ne halogassa tovább a i18n komplexitása miatt. Valósítsa meg 5 perc alatt, nem napokban. Tartsa fenn a fejlesztési sebességét úgy, mintha a i18n nem lett volna megvalósítva.
- 5 perces implementáció. Nem viccel.
Egy egyszerű konfigurációs objektum, és kész.
- Fejlesztési sebesség fenntartása
Írts kódot úgy, mintha az i18n nem lenne megvalósítva.
- Szállítson globális piacokra
Nincs szükség refaktorálásra, amikor új nyelvekre skalálod.
- SSR & SEO kész
Működik Next.js-sel, Remix-sel, TanStack Start-tal és Astro-val. Szerveroldali renderelés bármely nyelven a keresőmotorok számára — ugyanaz az 5 perces beállítás.
Hagyományos i18n
i18n-kulcsköd
Egyszerűen beállítani
Csak a legkisebb konfigurációs objektum és kész vagy a globális használatra.
Sőt még többet, az ügynöke beállítja neked.
1. Alapbeállítás
import * as I18nKeyless from "i18n-keyless-react";
I18nKeyless.init({
API_KEY: "YOUR_API_KEY",
storage: window.localStorage,
languages: {
primary: "en",
supported: ["en", "fr"],
},
});2. Komponenshasználat (Itt React; ugyanaz Vue, Angular, Flutter, Swift és Kotlin esetén)
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. Szerveroldali használat (itt Node.js; ugyanaz a hívás Laravelben, Railsben, Pythonban és Go-ban)
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. A komponensek kívüli szöveghez
import { getTranslation } from "i18n-keyless-react";
export default function Navigation() {
return (
<HomeTabs.Navigator>
<HomeTabs.Screen
options={{ tabBarLabel: getTranslation("Welcome") }}
name="WELCOME"
/>
</HomeTabs.Navigator>
);
}5. Válassza ki az SDK-ját: egy telepítési sor, ugyanaz az API mindenütt
- 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
Hogyan működnek a fordítások
Az i18n-keyless egy könyvtár, amely egy API szolgáltatás kombinációjával, lehetővé teszi, hogy fordítsa a szöveget anélkül, hogy kulcsokat kellene használnia.
Ha a fordítás nem található, akkor egy aszinkron lekérés történik az I18nKeyless API-jához, hogy egy AI API hívással megkapja a fordítást.
Ez az művelet általában fejlesztési módban történik, miközben kódol. Ha kihagyott egyet, a termelésben csak az első felhasználó, aki hiányzik a fordítás, lát egy hibát, majd azonnal elérhető lesz a felhasználók számára a világ minden táján.
Az üzleted listája minden nyelven, minden kiadáskor
Minden frissítés új kiadási megjegyzéseket, leírást és kulcsszavakat jelent — minden nyelvhez mindkét boltban. Ez az, ami megakadályoz abban, hogy nyelveket adj hozzá. Nem az alkalmazás.
- Kiadási jegyzetek minden nyelvhez, egy hívásban
Írja le a frissítést egyszer. Az awaitForTranslation visszaadja minden nyelven, amelyen értékesít, a bolt konfigurációja pedig továbbítja azt az EAS vagy a fastlane számára.
- 48 nyelv, leképzve az App Store részeit
pt-BR és pt-PT két lista; en-GB, en-AU és en-CA három. toAppStoreLocale minden fordítást a megfelelő helyre tesz.
- Javítsd ki a rossz fordítást kiadás nélkül
Az alkalmazásban egy felülbírálás a vezérlőpulton egyszerre aktív — nincs hotfix build, nincs boltértékelés. A listában futtasd újra a push műveletet.
- Nem szó szerinti ár
Egy fordító körülbelül 0,10 €-t számol fel szóra. 2 000 karakterlánc 10 nyelven egy olyan költségvetés, amit egy magánfejlesztő nem engedhet meg magának. Itt a szavak nem számítanak.
A teljes recept egy Expo alkalmazáshoz
// 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 } };
};Ugyanaz a hívás írja a fastlane metaadat-fájlokat a Google Play számára. A nagybetűk tanácsadó jellegűek: helyezze a korlátot a kontextusba, és ellenőrizze a hosszúságot a push előtt.
Interaktív szandbox
Nézd meg, hogyan működik az i18n-keyless valós időben
Nyisson meg egy élő és szerkeszthető StackBlitz-projektet, hogy láthassa, ahogy a fordítások megoldódnak a gépelés közben.
Miért építettem ezt
Mindig halogattam a nemzetközi nyelvi támogatást, amíg a kliensem annyira nem akarta, hogy nem volt más választásom. Utálom olvasni a kódot az i18n kulcsokkal, és ugyanúgy utálom karbantartani a JSON fájlokat, mint látni, milyen drágák az i18n fordítási szolgáltatók. Így hát meg kellett építenem a sajátomat, és IGAZÁN SZERETEM. Most már minden alkalmazásom alapértelmezés szerint nemzetközi nyelvi támogatással rendelkezik.
Arnaud Ambroselli
Az i18n-keyless alapítója
Szeretnéd hozzáadni a sajátodat?
Egy tanúság egy ingyenes előfizetés ellen. Kérje a sajátját!
Küldd el a tanúvallomásomatGyakran ismételt kérdések
Szükséges a fordítási fájlok kezelése?
Nem. Nincsenek JSON fájlok, nincs kulcsextrakciós lépés, és nincs build-time bővítmény. A mondatait a forrásnyelvén írja meg, az SDK az első kéréskor elküldi őket az API-nak, az API pedig AI-vel fordítja le, és minden további kérés a gyorsítótárból kerül kiszolgálásra. A kódja az egyetlen igazságforrás.
Mi történik, amikor megváltoztatom a forrás szöveget?
A forrásszöveg a kulcs. Ha megváltoztatod, egy új kulcsot kapsz egy friss AI-fordítással. A régi kulcs egyszerűen nem lesz többé igényelve, a vezérlőpult pedig 30 nap használat nélkül automatikusan törli. A helyesírási hiba javítása is ugyanígy működik: javítsd ki a kódban, telepítsd, és az új szöveg az első kérésre lefordítódik.
Mennyibe kerül?
Önhostolt: teljesen ingyenes, korlátlan projektek, nincs előfizetés és nincs használati korlát — telepítse a Docker képet, használja a saját AI kulcsát. Tetszik? Adj egy tippet! Hostolt: egy fix ár projektenként havonta, havi aktív felhasználók alapján — 4 €-ig 1 000-ig, 9 €-ig 5 000-ig, 29 €-ig 50 000-ig, 99 €-ig 500 000-ig — havi számlázás, bármikor lemondható. Nincs árazás székenként, szó szerint vagy karakterlánconként egyik esetben sem.
Kivehetném-e a fordításaimat?
Igen. A vezérlőpultnak van egy „JSON exportálás” gombja, amely letölti a projektje összes fordítását egy JSON fájlként. A kivitel minden sort tartalmaz, nem csak azokat, amelyeket az elmúlt 30 napban használtak, így ez egy teljes biztonsági mentés. Nincs lekötés: az adatai mindig csak egy kattintásnyira vannak.
Egy karbantartó: mi történik, ha a projekt leáll?
A SDK-k MIT licenc alatt állnak, és elérhetők maradnak az npm, PyPI, RubyGems és más regisztereken. A szerver nyilvános az Elastic License 2.0 alatt, és a köztük lévő protokoll dokumentált, így bárki futtathatja, fork-olhatja, vagy írhat ellene egy szervert. A fordításait egy JSON exportban tárolja bármikor. Ha a hosted szolgáltatás leáll: a telepített alkalmazások továbbra is szolgáltatják a gyorstárazott fordításaikat, egy új kliens visszaugrik a forrásnyelvre, és az SDK-t a saját példányodra az API_URL-lel irányítva minden visszaáll. Amit elveszítenél, az az új karakterláncok AI-fordítása az i18n-keyless.com-on — nem az adataidat vagy az alkalmazásodat.
Olvassa el a teljes választ a kóddal együttNézd meg a demót
Nézd meg ezt a rövid videót, hogy lássd, hogyan működik az i18n-keyless