Samodejno gostovan

Brezbolna internacionalizacija (i18n), razširjena na lastne obzorja brez porabe tisočev dolarjev.

V celoti brezplačno. Neomejena števila projektov, vseh 48 jezikov, brez poteka, ni potreben ključ licence.

Prosto za vedno
€0za vedno

Nepremična števila projektov. Vse 48 jezikov. Brez poteka.

  • Vse 48 jezikov, neomejena prevajanja
  • Nadzorna plošča, MCP strežnik, vsak SDK
  • Ničesar za kupiti, ničesar za vnesti razen svojega AI ključa
Namestite ga brezplačno
Daj mi napitnino
Vam se to zdi?

i18n je zdaj enostavno, lahko ga preizkusite. Ne moti me, če za to dobim napitnino.

  • Ko to občutiš
  • Če ti je všeč
  • Od 1 do 1 milijona dolarjev, ne več

Varnostna plačilo prek Stripe. Licenčna ključ pride v vaš predal — utiša spodbudo za donacijo v nadzorniku.

Kar dobiš

  • Nepremični projekti, vseh 48 jezikov, brez poteka
  • Nezaslišne prevajanja, brez uporabne omejitve
  • Prikazna plošča, MCP strežnik za vaše agente, vsak SDK
  • Ena posoda, ena SQLite datoteka za varnostno kopiranje
  • Licenca, preverjena brez povezave: vaš strežnik nikoli ne kliče domov
  • Vsaka posodobitev, za življenje: docker compose pull

Kar prineseš

  • Stroj z Dockerjem: VPS za 4 € je dovolj
  • Ključ API za umetno inteligenco (Mistral, OpenAI, Anthropic, Google ali kateri koli OpenAI-združljiv ponudnik). Prevodi se izvajajo na vašem lastnem računu, za nekaj centov na aplikacijo
  • Pet minut

Podpora je preko e-pošte, z največjim trudom. Potrebujete nekoga na voljo? Hostirani načrti so za vas.

Kako deluje

Namestite, ustvarite administratorja, prilepite svoj AI ključ. Vsak projekt je brezplačen, za vedno.

Z ONCE — nov strežnik, domena, pet minut

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

Z Docker Compose — kateri koli stroj, ki izvaja 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

Nato usmerite svoj SDK na svoj strežnik:

I18nKeyless.init({
  API_KEY: "your-project-key",
  API_URL: "https://i18n.example.com",
  // …
});

Celoten vodnik: https://docs.i18n-keyless.com/docs/guides/self-hosting

Zakaj donacija?

Ker sam upravljaš VPS in ključ API za umetno inteligenco. Nimate razloga, da bi te obračunaval za naročnino. Sam tudi sovražim naročnine. Namesto tega: ti odločiš, koliko je programska oprema vredna zate, in jaz nadaljujem z njeno izgradnjo.

Slika se namesti brezplačno in izvaja neomejena projekta, v vseh jezikih in brez poteka.

Vprašanja pred nakupom? Nam pišite

Nastavite i18n, ohranjajte svojo kodo čisto in hitro dostavljajte

Ob trenutnih rešitvah i18n obstaja več PITA. Težave so tako velike, da odlašate i18n kar se le da.

Porablja čas, ki ga bi morali preživeti na plaži

Nastavite sistem ključev: vsaj 1 uro časa starejšega razvijalca

Naprej in nazaj za vsak nov ključ: 1 minuta na ključ, x500 ključev, x2 jezika = 17 ur

Z i18n-keyless se ne morate ukvarjati z i18n sistemom. Lahko odidete na plažo in naročite mojito.

Danes večina sistemov uporablja ključe za prevajanje besedila

To je boleče ustvariti. To je boleče vzdrževati.

Ko vidite besedilo v aplikaciji in ga želite posodobiti, morate najti ustrezajoči ključ.

Z i18n-keyless se sploh ne morate ukvarjati z i18n sistemom. Uporabite svoj um za kaj bolj zanimivega.

Prepusti prevajanje AI

S sistemom ključev morate upravljati prevode v aplikaciji.

V nasprotnem primeru bodo vaši uporabniki videli someheader.welcome.title v svoji aplikaciji.

Z i18n-keylessom v najslabšem offline scenariju vidite neprevedene resnične besede. V normalnem tempu vas sploh ne zanima sistem i18n. Preprosto napišite dobre naslove, osredotočite se na trženje in dosežite prodajo.

Kodne baze so lepe... dokler se i18n ključi ne okužijo

Z sistemom ključev, ko preberete kodo in vsebino, morate prebrati ključe, ne naravni jezik.

Včasih bi morali narediti popravo, ker stavek ni pravilen po slovnici. Ampak tega ne veste, ker berete ključe.

Z i18n-keylessom se ne morate ukvarjati z i18n sistemom. Koda osnovna ostaja lepa.

Dodajte i18n že prvega dne brez vpliva na vaš razvojni tempo
Zgrajeno za kodne agente

MCP strežnik za pokrivanje vseh vaših i18n potreb

Šest drugih razlogov, zakaj je sistem tako optimiziran za agentno kodiranje.

Nobenega imena za iznajditi

Ključ je odločitev o imenovanju brez pravilnega odgovora. Dva agenta napišeta login.submit in auth.button.send za isto gumb. Brez ključev ni odločitve, ki bi jo bilo treba sprejeti.

Ena datoteka za urejanje, ne dvajset

Sprememba z ključem vpliva na komponento in vse JSON datoteke lokalizacije, agensi pa pozabljajo datoteke. Tu je sprememba kopije urejanje ene datoteke.

Ni merge konfliktov v agentnih flotah

Pet agentov na petih vejah urejajo vsa en.json: zagotovljen konflikt. Ni skupne datoteke, zato se worktreesi in ozadijski agenti nikoli ne trčijo.

Cenovno v žetonih

Za ponovno uporabo ključa mora agent v kontekst naložiti lokalizacijske datoteke pri vsaki urejanju. Naložitev brez ključa ne naredi ničesar: besedilo je prav tam v komponenti.

Berljive razlike

Pull zahtevek prikazuje resnične stavke. Človek ali pregledovalni agent lahko oceni kopijo brez iskanja, kaj ključ predstavlja.

Eno pravilo v vašem CLAUDE.md

Vsako i18n pravilo, ki ga napišete, je pravilo, ki ga lahko agent krši. To pravilo potrebuje le eno vrstico — in nadomestno besedilo je pravi tekst, zato napaka ne bo prikazala a.b.c na zaslonu.

Edini i18n pravilnik, ki ga potrebuje vaš 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.

Vaš agent lahko upravlja, ne samo da ga napiše

Skozi MCP strežnik agent navede manjkajoče prevode, prebere enega, prepiše slabega ali uvozi kopijo, ki jo že imaš — z lastnim OAuth vpisom, brez potrebe po vnosu ključa.

Preberite vodnik MCP
Popolno za MVPje

Zaženite globalno že od prvega dne

Prestante odlašati internacionalizacijo zaradi zapletenosti. Implementirajte jo v 5 minutah, ne v dneh. Ohranite hitrost razvoja, kot da internacionalizacija ni bila implementirana.

  • 5-minutna implementacija. Ne norčujem se.

    Ena preprosta konfiguracijska datoteka in končate.

  • Ohranite hitrost razvoja

    Kodirajte, kot da i18n sploh ni bil implementiran.

  • Pošlji na globalna tržišča

    Ni potrebno preoblikovanje, ko se povečate na nove jezike.

  • SSR & SEO pripravljeni

    Deluje z Next.js, Remix, TanStack Start in Astro. Server-side renderirajte katerikoli jezik za iskalnike — enaka 5-minutna namestitev.

Tradicionalni i18n

Nastavi sistem ključev (1 ura)
Ustvari prevajalske datoteke (2 ure)
Ponovno oblikuj komponente (4 ure)
Preverite vse jezike (2 uri)
Popravite težave z razporeditvijo (3 ure)
12+ ur dela

i18n-brez-ključa

Dodaj paket (1 min)
Konfigurirajte z API ključem (2 min)
Zavij tekstovne komponente (2 min)
5 minut dela
Kako to deluje

Nastavljanje ni zahtevno

Samo najenostavnejši objekt konfiguracije in ste pripravljeni za globalno uporabo.
In še več, vaš agent bo to nastavil zase za vas.

1. Osnovna postavitev

import * as I18nKeyless from "i18n-keyless-react";

I18nKeyless.init({
  API_KEY: "YOUR_API_KEY",
  storage: window.localStorage,
  languages: {
    primary: "en",
    supported: ["en", "fr"],
  },
});

2. Uporaba komponente (Tukaj React; enako velja za Vue, Angular, Flutter, Swift in 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. Uporaba na strežniški strani ( tukaj Node.js; isti klic v Laravel, Rails, Python in 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. Za besedilo zunaj komponent

import { getTranslation } from "i18n-keyless-react";

export default function Navigation() {
  return (
    <HomeTabs.Navigator>
      <HomeTabs.Screen
        options={{ tabBarLabel: getTranslation("Welcome") }}
        name="WELCOME"
      />
    </HomeTabs.Navigator>
  );
}

5. Izberite svoj SDK: ena vrstica za namestitev, ista API povsod

  • 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

Hitra postavitev za vsakega od dvanajstih SDK-jev

Kako delujejo prevodi

i18n-keyless je knjižnica, ki je povezana z API storitvijo, ki vam omogoča prevajanje vašega besedila brez potrebe po uporabi ključev.

Če prevoda ni mogoče najti, bo izveden asinhroni dostop do API I18nKeyless za pridobitev prevoda preko klica API umetne inteligence.

Ta operacija se običajno izvaja v načinu razvijanja, medtem ko kodirate. Če vam ena zmanjka, v produkciji bo le prvi uporabnik, ki mu prevod manjka, videl napako, nato pa bo takoj na voljo uporabnikom po vsem svetu.

App Store & Google Play

Vaš seznam trgovine v vseh jezikih, pri vsaki izdaji

Vsaka posodobitev pomeni nove opombe o izdaji, opis in ključne besede — za vsak jezik v obeh trgovinah. To je tisto, kar vas preprečuje dodajati jezike. Ne aplikacija.

  • Zapiski o izdajah za vsak jezik, v enem klicu

    Napišite posodobitev enkrat. awaitForTranslation jo vrne v vsakem jeziku, v katerem prodajate, in konfiguracija vaše trgovine jo posreduje v EAS ali fastlane.

  • 48 jezikov, preslikanih na slotove App Store

    pt-BR in pt-PT sta dve seznama; en-GB, en-AU in en-CA so trije. toAppStoreLocale postavi vsak prevod na pravo mesto.

  • Popravite slabo prevajanje brez izdaje

    V aplikaciji je en override v nadzornem panelu aktiven naenkrat — brez hotfix builda, brez pregleda trgovine. V seznamu ponovno zaženite push.

  • Ne ocenjeno po besedah

    Prevajalec zaračuna približno 0,10 € na besedo. 2.000 nizov pomnoženih s 10 jeziki je proračun, ki ga samostojni razvijalec nima. Tu se besede ne štejejo.

Celotna recepta za Expo aplikacijo

// 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 } };
};

Ista klica napiše fastlane metapodatkovne datoteke za Google Play. Velika črka so le priporočilna: postavite omejitev v kontekst in preverite dolgo pred tem, ko potisnete.

Poskusite sami

Interaktivni peščeniški prostor

Poglejte kako i18n-keyless deluje v realnem času

Odprite živ projekt StackBlitz, ki ga lahko urejate, da vidite, kako se prevodi rešujejo, ko pišete.

Zakaj sem to zgradil

Vedno sem odlašal internacionalizacijo, dokler mi ni bilo tako pomembno, da nisem imel druge izbire. Sovražim brati kodo z ključi za internacionalizacijo znotraj, in enako sovražim vzdrževati JSON-datoteke kot da bi gledal, kako drage so ponudniki prevajalskih storitev za internacionalizacijo. Zato sem moral ustvariti svoje, in ZANIMIVO JE. Vse moje aplikacije so sedaj internacionalizirane privzeto.

AA

Arnaud Ambroselli

Ustanovitelj i18n-keyless

Ali želite dodati svoje?

Priča proti brezplačni naročnini. Zahtevajte svojo!

Pošlji moje pričevanje
Preden vprašaš

Pogosto zastavljena vprašanja

Ali moram upravljati datoteke prevodov?

Ne. Ni JSON datotek, ni koraka za izluščitev ključev, niti graditeljskega vtiča. Pišete svoje stavke v izvorni jezik, SDK jih pošlje API-ju ob prvem zahtevku, API jih prevede z umetno inteligenco, vsak nadaljnji zahtevek pa je poslužen iz predpomnilnika. Vaša koda je edini vir resnice.

Kaj se zgodi, ko spremenim izvorno besedilo?

Izvorno besedilo je ključ. Če ga spremenite, dobite nov ključ z svežim AI prevodom. Stari ključ se preprosto ne zahteva več, in nadzorna plošča ga po 30 dneh neuporabe odstrani. Pravljanje tipkarske napake je enako: popravite jo v kodi, razporedite in novo besedilo bo prevedeno ob prvem zahtevku.

Koliko to stane?

Samodejno gostovanje: popolnoma brezplačno, neomejeno število projektov, brez naročnine in brez omejitve uporabe — namestite Docker sliko, uporabite svoj lasten AI ključ. Vam je všeč? Dajte mi nasvet! Gostovano: enotna fiksna cena na projekt na mesec, glede na mesečno aktivne uporabnike — 4 € do 1.000, 9 € do 5.000, 29 € do 50.000, 99 € do 500.000 — obračunano mesečno, lahko odjavite kadarkoli. V obeh primerih ni nobene cenitve po sedežu, po besedi ali po nizu.

Ali lahko izvozim svoje prevode?

Da. Nadzorna plošča ima gumb "Izvozi JSON", ki prenese vse prevode v vašem projektu v eni JSON datoteki. Izvoz vključuje vse vrstice, ne le tiste, ki so bile uporabljene v zadnjih 30 dneh, zato gre za popolno varnostno kopijo. Ni nobene zapore: vaši podatki so vedno le en klik stran.

Eden vzdrževalec: kaj se zgodi, če se projekt ustavi?

SDK so pod MIT licenco in so na voljo na npm, PyPI, RubyGems in drugih registrih. Strežnik je javno dostopen pod Elastic licenco 2.0, protokol med njima pa je dokumentiran, zato ga lahko kdorkoli zažene, naredi fork ali napiše strežnik proti njemu. Vaši prevodi so vedno v eni JSON izvozi. Če gostovana storitev preneha delovati: nameščene aplikacije še naprej posredujejo svoje predpomnjene prevode, nov klient se vrne k izvirnemu jeziku, z usmeritvijo SDK na svojo lastno instanco z API_URL pa se vse obnovijo. To, kar bi izgubili, je AI prevod novih nizov na i18n-keyless.com — ne vaše podatke ali aplikacijo.

Preberite celoten odgovor z kodo
Poskusite sami

Ogledajte demo

Ogledajte si ta kratki video, da vidite i18n-keyless v dejanju