Sendiri

i18n tanpa sakit, diperluas ke horizon anda sendiri tanpa menghabiskan ribuan dolar.

Sepenuhnya percuma. Projek tanpa had, semua 48 bahasa, tiada tarikh luput, tiada kunci lesen diperlukan.

Percuma selama-lamanya
€0selamanya

Projek tanpa had. Semua 48 bahasa. Tiada tarikh luput.

  • Semua 48 bahasa, terjemahan tanpa had
  • Papan pemuka, pelayan MCP, setiap SDK
  • Tiada apa-apa untuk dibeli, tiada apa-apa untuk dimasukkan kecuali kunci AI anda
Pasang secara percuma
Berikan saya tip
Anda suka?

i18n kini tidak menyusahkan, anda boleh mengalaminya. Saya tidak keberatan menerima tip untuknya.

  • Apabila anda merasakannya
  • Jika awak nak
  • Dari 1 hingga 1 juta dolar, tidak lebih

Pembayaran selamat oleh Stripe. Kunci lesen masuk ke peti masuk anda — ia menyenyapkan petunjuk derma dalam papan pemuka.

Apa yang awak dapat

  • Projek tanpa had, semua 48 bahasa, tiada tarikh luput
  • Terjemahan tanpa had, tiada had penggunaan
  • Papan pemuka, pelayan MCP untuk ejen anda, setiap SDK
  • Satu bekas, satu fail SQLite untuk sandaran
  • Lesen yang diperiksa luar talian: pelayan anda tidak pernah menghubungi rumah
  • Setiap kemas kini, untuk hidup: docker compose pull

Apa yang awak bawa

  • Mesin dengan Docker: VPS bernilai €4 sudah mencukupi
  • Kunci API AI (Mistral, OpenAI, Anthropic, Google atau mana-mana pembekal serasi OpenAI). Terjemahan dijalankan pada akaun anda sendiri, dengan kos beberapa sen setiap aplikasi
  • Lima minit

Sokongan melalui e-mel, dengan usaha terbaik. Perlu seseorang untuk dihubungi? Pelan yang dihoskan adalah untuk anda.

Bagaimana ia berjalan

Pasang, cipta pentadbir, tampal kunci AI anda. Setiap projek adalah percuma, selama-lamanya.

Dengan ONCE — pelayan baharu, domain, lima minit

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

Dengan Docker Compose — mana-mana mesin yang menjalankan 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

Kemudian arahkan SDK anda ke pelayan anda:

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

Panduan penuh: https://docs.i18n-keyless.com/docs/guides/self-hosting

Kenapa derma?

Kerana anda sendiri mengurus VPS dan kunci API AI. Tiada sebab untuk saya mengenakan bayaran langganan kepada anda. Saya sendiri benci langganan. Jadi, sebagai gantinya: anda tentukan nilai perisian itu kepada anda, dan saya terus membinanya.

Imej dipasang secara percuma dan menjalankan projek tanpa had, dengan setiap bahasa dan tiada tarikh luput.

Soalan sebelum anda membeli? Tulis kepada kami

Persediaan i18n, pastikan pangkalan kod anda bersih dan hantar dengan pantas

Terdapat pelbagai PITA dengan penyelesaian i18n semasa. Kesakitan begitu besar sehingga anda menangguhkan i18n sebanyak mungkin.

Ia menghabiskan masa yang sepatutnya anda gunakan di pantai

Persediaan sistem kunci: sekurang-kurangnya 1 jam masa pembangun senior

Bolak-balik untuk setiap kunci baharu: 1 minit setiap kunci, x500 kunci, x2 bahasa = 17 jam

Dengan i18n-keyless, anda tidak perlu risau tentang sistem i18n langsung. Anda boleh pergi ke pantai dan pesan mojito.

Hari ini kebanyakan sistem menggunakan kunci untuk menterjemahkan teks

Ini menyakitkan untuk dijana. Ini menyakitkan untuk dikekalkan.

Apabila anda melihat teks dalam aplikasi, dan anda ingin mengemas kini, anda perlu mencari kunci yang sepadan.

Dengan i18n-keyless, anda tidak perlu risau tentang sistem i18n langsung. Gunakan otak anda untuk sesuatu yang lebih menarik.

Biarkan terjemahan kepada AI

Dengan sistem kunci, anda perlu mengurus terjemahan dalam aplikasi.

Jika tidak, pengguna anda akan melihat someheader.welcome.title dalam aplikasi mereka.

Dengan i18n-keyless, dalam senario luar talian terburuk anda melihat perkataan sebenar yang tidak diterjemah. Pada kadar normal, anda langsung tidak peduli tentang sistem i18n. Cukup tulis tajuk yang baik, fokus pada pemasaran, dan dapatkan jualan.

Pangkalan kod cantik... sehingga kunci i18n dijangkiti

Dengan sistem kunci, apabila anda membaca kod dan kandungan, anda perlu membaca kunci, bukan bahasa semula jadi.

Kadangkala anda perlu membuat pembetulan kerana ayat itu tidak betul dari segi tatabahasa. Tetapi anda tidak tahu perkara itu kerana anda membaca kunci.

Dengan i18n-keyless, anda tidak perlu risau tentang sistem i18n langsung. Pangkalan kod kekal cantik.

Tambahkan i18n dari hari pertama tanpa sebarang impak terhadap rentak pembangunan anda
Dibina untuk ejen pengekodan

Pelayan MCP untuk memenuhi semua keperluan i18n anda

Enam sebab lagi mengapa sistem sangat dioptimumkan untuk pengekodan agen.

Tiada nama untuk dicipta

Kunci ialah keputusan penamaan tanpa jawapan yang betul. Dua ejen menulis login.submit dan auth.button.send untuk butang yang sama. Tanpa kunci, tiada keputusan untuk dibuat.

Satu fail untuk diedit, bukan dua puluh

Perubahan berasaskan kunci menjejaskan komponen dan setiap fail JSON lokalisasi, dan ejen lupa fail. Di sini, perubahan salinan ialah suntingan fail tunggal.

Tiada konflik penggabungan dalam armada ejen

Lima ejen di lima cabang semuanya edit en.json: konflik yang dijamin. Tiada fail dikongsi, jadi worktrees dan ejen latar belakang tidak akan berlanggar.

Murah dalam token

Untuk menggunakan semula kekunci, ejen mesti memuatkan fail lokal ke dalam konteks pada setiap suntingan. Muatan tanpa kekunci tidak melakukan apa-apa: teks berada terus di dalam komponen.

Perbezaan yang boleh dibaca

Permintaan tarik menunjukkan ayat sebenar. Manusia atau ejen semakan boleh menilai salinan tanpa menggali apa yang kunci itu mewakili.

Satu peraturan dalam CLAUDE.md anda

Setiap peraturan i18n yang anda tulis adalah peraturan yang boleh dipatahkan oleh ejen. Peraturan ini hanya memerlukan satu baris — dan sandaran adalah teks sebenar, jadi kesilapan tidak akan memaparkan a.b.c pada skrin.

Satu-satunya peraturan i18n yang diperlukan ejen anda

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

Ejen anda boleh mengendalikannya, bukan sekadar menulisnya

Melalui pelayan MCP, ejen menyenaraikan terjemahan yang hilang, membaca satu, mengatasi yang buruk, atau mengimport salinan yang anda sudah ada — dengan log masuk OAuth sendiri, tanpa perlu tampal kunci.

Baca panduan MCP
Sempurna untuk MVP

Lancarkan secara global dari hari pertama

Berhentilah menangguhkan i18n kerana kerumitan. Implemen dalam 5 minit, bukan hari. Kekalkan kelajuan pembangunan anda seolah-olah i18n tidak dilaksanakan.

  • Pelaksanaan dalam 5 minit. Bukan lawak.

    Satu objek konfigurasi ringkas dan awak siap.

  • Pertahankan kelajuan pembangunan

    Kod seolah-olah i18n tidak dilaksanakan sama sekali.

  • Hantar ke pasaran global

    Tiada penyusunan semula diperlukan semasa anda berskala ke bahasa baharu.

  • SSR & SEO sedia

    Bekerja dengan Next.js, Remix, TanStack Start dan Astro. Render pelayan dalam mana-mana bahasa untuk enjin carian — persediaan 5 minit yang sama.

Tradisional i18n

Sistem kunci setup (1 jam)
Cipta fail terjemahan (2 jam)
Refaktor komponen (4 jam)
Uji semua bahasa (2 jam)
Baiki isu susun atur (3 jam)
12+ jam kerja

i18n-tanpa-kunci

Tambah pakej (1 min)
Konfigurasikan dengan kunci API (2 min)
Balut komponen teks (2 min)
5 minit kerja
Bagaimana ia berfungsi

Ia tidak susah untuk disetup

Hanya objek konfigurasi yang paling ringkas dan anda bersedia untuk pergi global.
Dan lebih lagi, ejen anda akan menyiapkannya untuk anda.

1. Persediaan Asas

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

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

2. Penggunaan Komponen (React di sini; sama dalam Vue, Angular, Flutter, Swift dan 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. Penggunaan sisi pelayan (di sini Node.js; panggilan yang sama dalam Laravel, Rails, Python dan 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. Untuk teks di luar komponen

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

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

5. Pilih SDK anda: satu baris pemasangan, API yang sama di mana-mana

  • 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

Penyediaan pantas untuk setiap daripada dua belas SDK

Bagaimana terjemahan berfungsi

i18n-keyless ialah sebuah perpustakaan, digabungkan dengan perkhidmatan API, yang membolehkan anda menterjemahkan teks anda tanpa perlu menggunakan kunci.

Jika terjemahan tidak ditemui, satu pengambilan tidak segerak akan dilakukan ke API I18nKeyless untuk mendapatkan terjemahan melalui panggilan API AI.

Operasi ini biasanya dilakukan dalam mod pembangunan, semasa anda coding. Jika anda terlepas satu, dalam pengeluaran hanya pengguna pertama yang hilang terjemahan akan melihat gangguan, kemudian ia akan tersedia dengan serta-merta kepada pengguna di seluruh dunia.

App Store & Google Play

Senarai kedai anda dalam setiap bahasa, pada setiap keluaran

Setiap kemas kini bermaksud nota pelepasan baru, keterangan dan kata kunci — untuk setiap bahasa, di kedua-dua kedai. Itulah yang menghalang anda daripada menambah bahasa. Bukan aplikasinya.

  • Nota pelepasan untuk setiap bahasa, dalam satu panggilan

    Tulis kemas kini sekali. awaitForTranslation mengembalikannya dalam setiap bahasa yang anda jual, dan konfigurasi kedai anda menghantarnya ke EAS atau fastlane.

  • 48 bahasa, dipetakan kepada slot App Store

    pt-BR dan pt-PT ialah dua senarai; en-GB, en-AU dan en-CA ialah tiga. toAppStoreLocale meletakkan setiap terjemahan di tempat yang betul.

  • Baiki terjemahan yang buruk tanpa pelepasan

    Dalam aplikasi, satu override dalam papan pemuka aktif pada satu masa — tiada binaan hotfix, tiada ulasan kedai. Dalam senarai, jalankan semula push.

  • Tidak diprincikan setiap perkataan

    Penterjemah mengenakan bayaran sekitar €0.10 setiap perkataan. 2,000 rentetan dikali 10 bahasa ialah satu belanjawan yang tidak mampu dimiliki oleh pembangun solo. Di sini perkataan tidak dikira.

Resipi lengkap untuk aplikasi 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 } };
};

Panggilan yang sama menulis fail metadata fastlane untuk Google Play. Huruf besar adalah nasihat: letakkan had dalam konteks dan semak panjang sebelum anda tolak.

Cuba Sendiri

Sandbox Interaktif

Lihat bagaimana i18n-keyless berfungsi dalam masa nyata

Buka projek StackBlitz yang boleh diedit secara langsung untuk melihat terjemahan diselesaikan semasa anda menaip.

Mengapa saya bina ini

Saya sentiasa menangguhkan penterjemahan antarabangsa sehingga pelanggan saya menginginkannya begitu sangat sehingga saya tidak mempunyai pilihan. Saya benci membaca kod dengan kunci penterjemahan antarabangsa di dalamnya, dan saya benci mengekalkan fail JSON sebanyak melihat betapa mahalnya pembekal penterjemahan antarabangsa. Jadi saya terpaksa membina sendiri, dan SAYA SANGAT MENYUKAINYA. Semua aplikasi saya kini sudah antarabangsa secara lalai.

AA

Arnaud Ambroselli

Pengasas i18n-keyless

Ingin menambah milik anda?

Saksi terhadap langganan percuma. Mintalah milik anda!

Hantar kesaksian saya
Sebelum awak bertanya

Soalan Lazim

Adakah saya perlu mengurus fail terjemahan?

Tidak. Tiada fail JSON, tiada langkah pengekstrakan kunci, dan tiada plugin masa bina. Anda menulis ayat anda dalam bahasa sumber, SDK menghantarnya ke API pada permintaan pertama, API menterjemahkannya dengan AI, dan setiap permintaan seterusnya dilayan dari cache. Kod anda ialah satu-satunya sumber kebenaran.

Apakah yang berlaku apabila saya menukar teks sumber?

Teks sumber ialah kunci. Ubahlah, dan anda akan mendapat kunci baharu dengan terjemahan AI yang segar. Kunci lama tidak lagi diminta, dan papan pemuka membersihkannya selepas 30 hari tanpa penggunaan. Pembetulan ejaan juga sama: betulkan dalam kod, deploy, dan teks baharu akan diterjemahkan pada permintaan pertama.

Berapa harganya?

Sendiri dihos: sepenuhnya percuma, projek tanpa had, tiada langganan dan tiada had penggunaan — pasang imej Docker, gunakan kunci AI anda sendiri. Anda suka? Beri saya tip! Dihos: satu harga tetap setiap projek setiap bulan, berdasarkan pengguna aktif bulanan — €4 sehingga 1,000, €9 sehingga 5,000, €29 sehingga 50,000, €99 sehingga 500,000 — dibayar bulanan, boleh dibatalkan bila-bila masa. Tiada penetapan harga setiap tempat duduk, setiap perkataan atau setiap rentetan dalam kedua-dua kes.

Bolehkah saya eksport terjemahan saya?

Ya. Papan pemuka mempunyai butang "Eksport JSON" yang memuat turun setiap terjemahan dalam projek anda sebagai satu fail JSON. Eksport merangkumi semua baris, bukan hanya yang digunakan dalam 30 hari terakhir, jadi ia adalah sandaran penuh. Tiada penguncian: data anda sentiasa hanya satu klik sahaja.

Seorang penyelenggara: apa yang berlaku jika projek berhenti?

SDK berada di bawah lesen MIT dan kekal tersedia di npm, PyPI, RubyGems dan daftar-daftar lain. Pelayan adalah awam di bawah Lesen Elastic 2.0 dan protokol antara mereka didokumentasikan, jadi sesiapa boleh menjalankannya, fork atau menulis pelayan terhadapnya. Terjemahan anda kekal dalam satu eksport JSON pada bila-bila masa. Jika perkhidmatan yang dihoskan berhenti: aplikasi yang dipasang terus berkhidmat dengan terjemahan yang tersimpan dalam cache, pelanggan baharu kembali ke bahasa sumber, dan dengan mengarahkan SDK ke instans anda sendiri dengan API_URL, segala-galanya dipulihkan. Apa yang anda akan hilang ialah terjemahan AI bagi rentetan baharu di i18n-keyless.com — bukan data atau aplikasi anda.

Baca jawapan penuh, dengan kod
Cuba Sendiri

Tonton Demo

Tonton video pendek ini untuk melihat i18n-keyless dalam tindakan