Itseisännöity

Kivuton i18n, laajennettu omille horisontillesi käyttämättä tuhansia dollareita.

Täysin ilmainen. Rajoittamattomat projektit, kaikki 48 kieltä, ei vanhenemisaikaa, ei tarvitse lisenssiavainta.

Ilmainen ikuisesti
€0ikuisesti

Rajoittamattomat projektit. Kaikki 48 kieltä. Ei vanhenemisaikaa.

  • Kaikki 48 kieltä, rajoittamattomat käännökset
  • Ohjauspaneeli, MCP-palvelin, jokainen SDK
  • Ei mitään ostettavaa, ei mitään syötettäväksi paitsi AI-avain
Asenna se ilmaiseksi
Anna minulle vihje
Tykkäätkö siitä?

i18n ei ole enää vaikeaa, voit kokea sen. En välitä saada siitä tippiä.

  • Kun kun tunnet sen
  • Jos sinulla on siihen mieli
  • 1 dollarista aina 1 miljoonaan dollariin, ei enempää

Stripe-turvallinen maksu. Lisenssiavain saapuu postilaatikkoosi — se hiljentää lahjoituksen kehotteen kojelaudassa.

Mitä saat

  • Rajattomat projektit, kaikki 48 kieltä, ei vanhenemisaikaa
  • Rajattomat käännökset, ei käyttörajoitusta
  • kojelauta, MCP-palvelin agenttisi käyttöön, jokainen SDK
  • Yksi säiliö, yksi SQLite-tiedosto varmuuskopiointia varten
  • Offline-tarkistettu lisenssi: palvelimesi ei koskaan soita kotiin
  • Jokainen päivitys, elämää varten: docker compose pull

Mitä tuot

  • Kone, jossa on Docker: 4 euron VPS riittää
  • AI API-avain (Mistral, OpenAI, Anthropic, Google tai mikä tahansa OpenAI-yhteensopiva tarjoaja). Käännökset suoritetaan omalla tililläsi, muutamalla sentillä per sovellus
  • Viisi minuuttia

Tuki tapahtuu sähköpostitse parhaan mahdollisen vaivannäön kautta. Tarvitsetko henkilön puhelinvastaanottoon? Hostatut suunnitelmat ovat sinua varten.

Kuinka se toimii

Asenna, luo ylläpitäjä, liitä AI-avaintasi. Jokainen projekti on ilmainen, ikuisesti.

Käytä ONCE — uusi palvelin, verkkotunnus, viisi minuuttia

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

Docker Compose -ohjelmalla — mikä tahansa Dockeria ajava kone

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

Ohjaa sitten SDK:si palvelimellesi:

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

Täydellinen opas: https://docs.i18n-keyless.com/docs/guides/self-hosting

Miksi lahjoittaa?

Koska itse hallitset VPS:n ja AI API -avaimen. Ei ole mitään syytä, miksi veloittaisin sinulta tilausmaksua. Minäkin vihaan tilauksia. Sen sijaan: päätät itse, mikä arvo tällä ohjelmistolla on sinulle, ja minä jatkan sen kehittämistä.

Kuva asentaa ilmaiseksi ja suorittaa rajoittamattomia projekteja, kaikilla kielillä ja ilman vanhentumista.

Kysymyksiä ennen ostamista? Kirjoita meille

Aseta i18n, pidä koodikantasi siistinä ja toimita nopeasti

Nykyisissä i18n-ratkaisuissa on useita PITA-ongelmia. Ongelmat ovat niin suuria, että lykkäät i18n:n toteutusta mahdollisimman pitkään.

Se kuluttaa aikaa, jota sinun pitäisi viettää rannalla

Aseta avainjärjestelmä: vähintään 1 tunti seniorikehittäjän aikaa

Edestakaisin jokaista uutta avainta varten: 1 minuutti per avain, x500 avainta, x2 kieltä = 17 tuntia

i18n-keylessin avulla sinun ei tarvitse välittää i18n-järjestelmästä lainkaan. Voit mennä rannalle ja tilata mojiton.

Nykyään useimmat järjestelmät käyttävät avaimia tekstin kääntämiseen

Tämä on tuskallista tuottaa. Tämän ylläpitäminen on tuskallista.

Kun näet sovelluksessa tekstiä ja haluat päivittää sen, sinun täytyy löytää vastaava avain.

i18n-keylessin avulla sinun ei tarvitse välittää i18n-järjestelmästä lainkaan. Käytä aivojasi jonnekin mielenkiintoisempaan.

Jätä käännökset tekoälylle

Avainjärjestelmällä sinun on hallittava sovelluksen käännöksiä.

Muussa tapauksessa käyttäjät näkevät someheader.welcome.title -otsikon sovelluksessaan.

i18n-keylessin kanssa pahimmassa offline-skenaariossa näet kääntämättömiä todellisia sanoja. Normaalivauhtia noudattaessasi i18n-järjestelmästä ei tarvitse välittää lainkaan. Kirjoita vain hyviä otsikoita, keskity markkinointiin ja saavuta myyntiä.

Koodikannat ovat kauniita... kunnes i18n-avaimet tartuttavat

Avainjärjestelmällä, kun luet koodin ja sisällön, sinun on luettava avaimet, ei luonnollista kieltä.

Joskus sinun pitäisi tehdä korjaus, koska lause ei ole kieliopillisesti oikein. Mutta et tiedä sitä, koska luet avaimia.

i18n-keylessin avulla sinun ei tarvitse välittää i18n-järjestelmästä lainkaan. Koodipohja pysyy kauniina.

Lisää i18n ensimmäisestä päivästä lähtien vaikuttamatta kehitystyön tahdillesi
Rakennettu koodausagentteja varten

MCP-palvelin kattaakseen kaikki i18n-tarpeesi

Kuusi muuta syytä, miksi järjestelmä on optimoitu niin hyvin agenttikoodausta varten.

Ei nimeä keksittäväksi

Avain on nimettävä päätös, jolla ei ole oikeaa vastausta. Kaksi toimijaa kirjoittaa login.submit ja auth.button.send samalle napille. Ilman avaimia ei ole päätöstä tehtävänä.

Yksi tiedosto muokattavaksi, ei kaksikymmentä

Avainpohjainen muutos vaikuttaa komponenttiin ja jokaiseen paikalliseen JSON-tiedostoon, ja agentit unohtavat tiedostot. Tässä kopiomuutos on yhden tiedoston muokkaus.

Nolla merge-konflikteja agenttijoukoissa

Viisi agenttia viidellä haaralla muokkaavat kaikki en.json:ta: taattu konflikti. Yhteistä tiedostoa ei ole, joten worktreet ja tausta-asiantuntijat eivät koskaan törmää.

Edullinen tokenien suhteen

Jotta avainta voidaan käyttää uudelleen, agentin on ladattava käännöstiedostot kontekstiin jokaisen muokkauksen yhteydessä. Avaimetön lataus ei tee mitään: teksti on suoraan komponentissa.

Luettavat erot

Pull request -pyyntö näyttää todellisia lauseita. Ihminen tai katselmoinnin agentti voi arvioida kopion ilman, että tarvitsee kaivaa sen takana olevan avaimen merkitystä.

Yksi sääntö CLAUDE.md-tiedostossasi

Jokainen kirjoittamasi i18n-sääntö on sääntö, jonka agentti voi rikkoa. Tämä sääntö tarvitsee vain yhden rivin — ja varajärjestelmä on oikea teksti, joten virhe ei näytä a.b.c näytöllä.

Ainoin i18n-sääntö, jota agenttisi tarvitsee

# CLAUDE.md
Write the UI copy in English and wrap it in <T>…</T> from i18n-keyless-react.
That is the whole i18n setup.

Agenttisi voi käyttää sitä, ei pelkästään kirjoittaa sitä

MCP-palvelimen kautta agentti listaa puuttuvat käännökset, lukee yhden, korvaa huonon tai tuo oman kopiosi — omalla OAuth-tunnistautumisellaan, eikä tarvitse liittää avainta.

Lue MCP-opas
Täydellinen MVP:ille

Aloita globaalisti heti ensimmäisestä päivästä

Älä viivytä i18n:n käyttöönottoa monimutkaisuuden vuoksi. Ota se käyttöön 5 minuutissa, ei päivissä. Pidä kehityksen vauhti yllä ikään kuin i18n ei olisi otettu käyttöön.

  • 5 minuutin toteutus. En vitsiä.

    Yksi yksinkertainen määritysobjekti ja olet valmis.

  • Ylläpidä kehityksen nopeutta

    Koodaa ikään kuin i18n ei olisi lainkaan toteutettu.

  • Toimitetaan maailmanlaajuisille markkinoille

    Ei tarvita refaktorointia skaalatessasi uusiin kieliin.

  • SSR & SEO valmiina

    Toimii Next.js:n, Remixin, TanStack Startin ja Astron kanssa. Palvelinpuoleisesti renderöi mikä tahansa kieli hakukoneille — sama 5 minuutin asetus.

Perinteinen i18n

Aseta avainjärjestelmä (1 tunti)
Luo käännöstiedostot (2 tuntia)
Jäsennä komponentit uudelleen (4 tuntia)
Testaa kaikki kielet (2 tuntia)
Korjaa asettelun ongelmat (3 tuntia)
12+ tuntia työtä

i18n-avaineton

Lisää paketti (1 min)
Määritä API-avain (2 min)
Kääri tekstikomponentit (2 min)
5 minuutin työ
Miten se toimii

Sen asennus on helppoa

Vain yksinkertaisin määrityskohde ja olet valmis laajentumaan maailmanlaajuisesti.
Ja vielä enemmän, agenttisi asentaa sen sinulle.

1. Perusasetukset

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

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

2. Komponentin käyttö (Tässä React; sama myös Vue, Angular, Flutter, Swift ja 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. Palvelinpuolen käyttö (tässä Node.js; sama kutsu Laravelissa, Railsissa, Pythonissa ja Go:ssa)

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. Ulkoisten komponenttien tekstiä varten

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

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

5. Valitse SDK: yksi asennusrivi, sama API kaikkialla

  • 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

Nopea asetus jokaiselle kahdestatoista SDK:sta

Miten käännökset toimivat

i18n-keyless on kirjasto, joka yhdistettynä API-palveluun, mahdollistaa tekstiesi kääntämisen ilman avainten käyttöä.

Jos käännöstä ei löydy, suoritetaan I18nKeylessin API:hin asynkroninen haku AI API -kutsun avulla käännöksen hakemiseksi.

Tämä toiminto tehdään yleensä dev-tilassa, kun koodaat. Jos jätät yhden huomiotta, tuotannossa vain ensimmäinen käyttäjä, jolta käännös puuttuu, näkee virheen, jonka jälkeen se on välittömästi käytettävissä käyttäjille ympäri maailmaa.

App Store & Google Play

Kauppaluettelosi kaikilla kielillä, jokaisessa julkaisussa

Jokainen päivitys tarkoittaa uusia julkaisutietoja, kuvauksen ja avainsanoja — jokaiselle kielelle molemmissa kaupoissa. Tämä estää sinua lisäämästä kieliä. Ei sovellus.

  • Julkaisutiedot kaikilla kielillä yhdellä kutsulla

    Kirjoita päivitys kerran. awaitForTranslation palauttaa sen jokaisella kielellä, jota myyt, ja kauppasi konfigurointi syöttää sen EAS:lle tai fastlaneen.

  • 48 kieltä, jotka on määritetty App Storen paikoille

    pt-BR ja pt-PT ovat kaksi listaa; en-GB, en-AU ja en-CA ovat kolme. toAppStoreLocale sijoittaa jokaisen käännöksen oikeaan paikkaan.

  • Korjaa huono käännös ilman julkaisua

    Sovelluksessa yksi ylikirjoitus kojelaudassa on kerrallaan aktiivinen — ei hotfix-versiota, ei myymälän arviointia. Listauksessa suorita push uudelleen.

  • Ei hinnoitella sanamäärän mukaan

    Kääntäjä veloittaa noin 0,10 € sanaa kohden. 2 000 merkkijonoa kertaa 10 kieltä on budjetti, jota yksittäinen kehittäjä ei pysty kustantamaan. Tässä sanoja ei lasketa.

Koko resepti Expo-sovellukselle

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

Sama puhelu kirjoittaa fastlane-metadata-tiedostoja Google Playlle. Isot kirjaimet ovat neuvoa-antavia: aseta rajoitus kontekstiin ja tarkista pituus ennen kuin työnnät.

Kokeile itse

Interaktiivinen Hiekkalaatikko

Katso, miten i18n-keyless toimii reaaliaikaisesti

Avaa live, muokattava StackBlitz-projekti nähdäksesi käännökset ratkeavan kirjoittaessasi.

Miksi rakensin tämän

Olen aina lykännyt kansainvälistämistä siihen asti, kunnes asiakkaani halusi sitä niin paljon, että minulla ei ollut muuta vaihtoehtoa. Inhoan lukea koodia, jossa on kansainvälistämisavaimia, ja inhoan ylläpitää JSON-tiedostoja yhtä paljon kuin nähdä, kuinka kalliita kansainvälistämisen käännöspalveluiden hinnat ovat. Joten jouduin rakentamaan oman, ja IHANAN SITÄ. Kaikki sovellukseni ovat nyt oletuksena kansainvälistettyjä.

AA

Arnaud Ambroselli

i18n-keylessin perustaja

Haluatko lisätä omasi?

Todistus ilmaisesta tilauksesta. Pyydä omaasi!

Lähetä todistukseni
Ennen kuin kysyt

Usein kysytyt kysymykset

Täytyykö minun hallinnoida käännöstiedostoja?

Ei. JSON-tiedostoja ei ole, avainten poimintavaihetta ei ole eikä rakennusaikaisia liitännäisiä ole. Kirjoitat lauseesi lähdekielellä, SDK lähettää ne API:lle ensimmäisellä pyynnöllä, API kääntää ne tekoälyllä ja jokainen seuraava pyyntö palvellaan välimuistista. Koodisi on ainoa totuuden lähde.

Mitä tapahtuu, kun muutan lähdetekstiä?

Lähdeteksti on avain. Muutamalla sitä saat uuden avaimen, jossa on tuore AI-käännös. Vanha avain lakkaa yksinkertaisesti olemasta pyydetty, ja kojelauta poistaa sen käytön jälkeen 30 päivän kuluttua. Myös kirjoitusvirheen korjaus toimii samalla tavalla: korjaa se koodissa, julkaise, ja uusi teksti käännetään ensimmäisellä pyynnöllä.

Paljonko se maksaa?

Itse isännöity: täysin ilmainen, rajoittamattomat projektit, ei tilausta eikä käyttörajoituksia — asenna Docker-kuva, käytä omaa AI-avaintasi. Pidätkö siitä? Anna minulle vinkki! Isännöity: kiinteä kuukausihinta per projekti, kuukausittain aktiivisten käyttäjien mukaan — 4 € asti 1 000, 9 € asti 5 000, 29 € asti 50 000, 99 € asti 500 000 — laskutetaan kuukausittain, voit perua milloin tahansa. Ei hinnoittelua per paikka, per sana tai per merkkijono kummassakaan tapauksessa.

Voinko viedä käännökseni?

Kyllä. Ohjauspaneelissa on "Vie JSON" -painike, joka lataa projektisi kaikki käännökset yhdeksi JSON-tiedostoksi. Vie-toiminto sisältää kaikki rivit, ei vain viimeisen 30 päivän aikana käytetyt, joten se on täysi varmuuskopio. Ei lukitusta: datasi on aina vain yhden klikin päässä.

Yksi ylläpitäjä: mitä tapahtuu, jos projekti pysähtyy?

SDK:t ovat MIT-lisenssillä ja pysyvät saatavilla npm:ssä, PyPI:ssä, RubyGemsissä ja muissa rekistereissä. Palvelin on julkinen Elastic License 2.0:n alaisuudessa, ja niiden välinen protokolla on dokumentoitu, joten kuka tahansa voi ajaa sen, forkata sen tai kirjoittaa sitä vastaan palvelimen. Käännöksesi pysyvät yhdessä JSON-viennissä milloin tahansa. Jos isännöity palvelu lakkaa toimimasta: asennetut sovellukset jatkavat välimuistissa olevien käännösten tarjoamista, uusi asiakasohjelma palaa lähdekieleen, ja SDK:n osoittaminen omalle instanssillesi API_URL:n avulla palauttaa kaiken. Menettäisit vain i18n-keyless.com-sivuston uusien merkkijonojen tekoälykäännöksen — ei tietojasi eikä sovellustasi.

Lue koko vastaus koodineen
Kokeile itse

Katso demonstraatio

Katso tämä lyhyt video nähdäksesi i18n-keyless toiminnassa