Kivuton i18n, laajennettu omille horisontillesi käyttämättä tuhansia dollareita.
Täysin ilmainen. Rajoittamattomat projektit, kaikki 48 kieltä, ei vanhenemisaikaa, ei tarvitse lisenssiavainta.
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
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.
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-opasAloita 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
i18n-avaineton
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
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.
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.
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ä.
Arnaud Ambroselli
i18n-keylessin perustaja
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 koodineenKatso demonstraatio
Katso tämä lyhyt video nähdäksesi i18n-keyless toiminnassa