Najtańsze i najbardziej efektywne i18n dla kodowania agentowego
Bezkluczowe i18n twój agent kodujący robi to dobrze już za pierwszym razem: jeden plik do edycji, brak lokalnego JSON do załadowania, brak konfliktu scalania, od 4 euro miesięcznie.
Ustawienie w 5 minut
Twoja pełna implementacja i18n w 5 minut. Nie żartuję.
System bez kluczy
Twój mózg nie powinien być zaangażowany w takie bezsensowne zadania.
Globalny od pierwszego dnia
Wysyłaj na rynki międzynarodowe bez dodatkowego wysiłku.
Ustaw i18n, utrzymuj czysty kod i wysyłaj szybko
Istnieje kilka PITA z obecnymi rozwiązaniami i18n. Bóle są tak duże, że opóźniasz i18n tak długo, jak to możliwe.
Poznacza czas, który powinieneś spędzić na plaży
Ustaw system kluczy: co najmniej 1 godzina czasu seniora
Tam i z powrotem dla każdego nowego klucza: 1 minuta na klucz, x500 kluczy, x2 języki = 17 godzin
Dzięki i18n-keyless nie musisz martwić się systemem i18n. Możesz pójść na plażę i zamówić mojito.
Dziś większość systemów używa kluczy do tłumaczenia tekstu
To bolące generować. To bolące utrzymywać.
Kiedy widzisz tekst w aplikacji i chcesz go zaktualizować, musisz znaleźć odpowiedni klucz.
Z i18n-keyless nie musisz martwić się systemem i18n. Użyj swojego mózgu do czegoś bardziej interesującego.
Zostaw tłumaczenia na AI
Z systemem klucza musisz zarządzać tłumaczeniami w aplikacji.
W przeciwnym razie użytkownicy zobaczą someheader.welcome.title w swojej aplikacji.
Z i18n-keyless nie musisz się martwić o system i18n w ogóle. Po prostu pisz dobre nagłówki, skup się na marketingu, zdobywaj sprzedaż.
Bazy kodu są piękne... aż do zakażenia kluczami i18n
Z systemem kluczy, gdy czytasz kod i treść, musisz czytać klucze, a nie język naturalny.
Czasami musisz wprowadzić poprawkę, ponieważ zdanie nie jest gramatycznie poprawne. Ale nie wiesz tego, ponieważ czytasz klucze.
Dzięki i18n-keyless nie musisz się martwić o system i18n. Kod pozostaje piękny.
Serwer MCP, aby pokryć wszystkie Twoje potrzeby dotyczące internacjonalizacji
Sześć innych powodów, dla których system jest tak zoptymalizowany pod kątem kodowania agentowego.
Brak nazwy do wymyślenia
Klucz to decyzja o nazwie bez jednoznacznej odpowiedzi. Dwa agenty zapisują login.submit i auth.button.send dla tego samego przycisku. Bez kluczy nie ma decyzji do podjęcia.
Jeden plik do edycji, nie dwadzieścia
Zmiana oparta na kluczu dotyka komponentu i każdego pliku JSON lokalizacji, a agenci zapominają pliki. Tutaj zmiana kopii to edycja pojedynczego pliku.
Brak konfliktów scalania w flotach agentów
Pięciu agentów na pięciu gałęziach edytuje wszystkie en.json: gwarantowany konflikt. Nie ma wspólnego pliku, więc worktreesy i agenci w tle nigdy się nie zderzają.
Tani w tokenach
Aby ponownie użyć klucza, agent musi ładować pliki lokalizacji do kontekstu przy każdej edycji. Ładowanie bez klucza nic nie robi: tekst znajduje się bezpośrednio w komponencie.
Czytelne różnice
Żądanie scalenia pokazuje prawdziwe zdania. Człowiek lub agent recenzji może ocenić kopię bez zagłębiania się w to, co oznacza klucz.
Jedna reguła w twoim CLAUDE.md
Każda reguła i18n, którą napiszesz, to reguła, którą agent może złamać. Ta reguła wymaga tylko jednej linii — a tekst zapasowy to rzeczywisty tekst, więc błąd nie wyświetli a.b.c na ekranie.
Jedyna zasada i18n, której potrzebuje Twój 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.
Twój agent może nim sterować, nie tylko pisać
Za pośrednictwem serwera MCP agent wyświetla brakujące tłumaczenia, czyta jedno, zastępuje złe lub importuje kopię, którą już posiadasz — z własnym logowaniem OAuth, bez potrzeby wklejania klucza.
Przeczytaj przewodnik MCPGlobalne wprowadzenie od dnia pierwszego
Przestań opóźniać i18n z powodu złożoności. Zaimplementuj w 5 minut, a nie w dniach. Utrzymaj swoją prędkość rozwoju, jakby i18n nie było zaimplementowane.
- 5-minutowa implementacja. Nie żartuję.
Jeden prosty obiekt konfiguracyjny i gotowe.
- Utrzymać tempo rozwoju
Koduj tak, jakby i18n w ogóle nie było zaimplementowane.
- Wysyłka na globalne rynki
Nie wymagana jest refaktoryzacja przy skalowaniu do nowych języków.
- Gotowy na SSR & SEO
Działa z Next.js, Remix, TanStack Start i Astro. Renderowanie po stronie serwera w dowolnym języku dla wyszukiwarek — ta sama konfiguracja w 5 minut.
Tradycyjny i18n
i18n-keyless
To bardzo proste w konfiguracji
Najprostszy obiekt konfiguracyjny i jesteś gotowy, aby pójść globalnie.
A nawet więcej, twój agent to dla ciebie skonfiguruje.
1. Podstawowa konfiguracja
import * as I18nKeyless from "i18n-keyless-react";
I18nKeyless.init({
API_KEY: "YOUR_API_KEY",
storage: window.localStorage,
languages: {
primary: "en",
supported: ["en", "fr"],
},
});2. Użycie komponentu (Tutaj React; to samo w Vue, Angular, Flutter, Swift i 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. Użycie po stronie serwera (tutaj Node.js; ten sam wywołanie w Laravel, Rails, Python i 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. Dla tekstu poza komponentami
import { getTranslation } from "i18n-keyless-react";
export default function Navigation() {
return (
<HomeTabs.Navigator>
<HomeTabs.Screen
options={{ tabBarLabel: getTranslation("Welcome") }}
name="WELCOME"
/>
</HomeTabs.Navigator>
);
}5. Wybierz swój SDK: jedna linia instalacji, ten sam interfejs API wszędzie
- 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
Jak działają tłumaczenia
i18n-keyless to biblioteka, połączona z usługą API, która pozwala przetłumaczyć tekst bez konieczności używania kluczy.
Jeśli tłumaczenie nie zostanie znalezione, zostanie wykonane asynchroniczne pobranie do API I18nKeyless, aby uzyskać tłumaczenie za pomocą wywołania API IA.
Ta operacja jest zwykle wykonywana w trybie developerskim, podczas gdy kodujesz. Jeśli pominięłaś jedną, w produkcji tylko pierwszy użytkownik, któremu brakuje tłumaczenia, zobaczy błąd, potem będzie dostępna natychmiast dla użytkowników na całym świecie.
Twój wykaz sklepu we wszystkich językach, przy każdym wydaniu
Każda aktualizacja oznacza nowe notatki wydania, opis i słowa kluczowe — dla każdego języka w obu sklepach. To właśnie to powstrzymuje Cię przed dodawaniem języków. Nie aplikacja.
- Notatki o wydaniach dla każdego języka, w jednym wywołaniu
Napisz aktualizację raz. awaitForTranslation zwraca ją w każdym języku, w którym sprzedajesz, a konfiguracja Twojego sklepu przekazuje ją do EAS lub fastlane.
- 48 języków, przypisanych do slotów App Store
pt-BR i pt-PT to dwie listy; en-GB, en-AU i en-CA to trzy. toAppStoreLocale umieszcza każde tłumaczenie we właściwym miejscu.
- Napraw złe tłumaczenie bez wydania
W aplikacji jedna nadpisywana wartość w panelu sterowania jest aktywna na raz — bez buildu poprawki na gorąco, bez recenzji sklepu. W wykazie ponownie uruchom push.
- Nie jest cenione za słowo
Tłumacz pobiera około 0,10 € za słowo. 2 000 ciągów znaków razy 10 języków to budżet, którego nie może pozwolić sobie samodzielny programista. Tutaj słowa nie są liczone.
Pełny przepis na aplikację 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 } };
};To samo połączenie zapisuje pliki metadanych fastlane dla Google Play. Wielkie litery są doradcze: ustaw limit w kontekście i sprawdź długość przed wysłaniem.
Interaktywna piaskownica
Zobacz, jak działa i18n-keyless w czasie rzeczywistym
Otwórz projekt StackBlitz na żywo i edytowalny, aby zobaczyć, jak tłumaczenia są rozwiązywane podczas pisania.
Dlaczego to zbudowałem
Zawsze odkładałem internacjonalizację, dopóki mój klient nie zapragnął jej tak bardzo, że nie miałem wyboru. Nienawidzę czytać kodu z kluczami internacjonalizacji w środku, i równie mocno nie cierpię utrzymywać plików JSON, jak i patrzeć na to, jak drodzy są dostawcy tłumaczeń i18n. Więc musiałem zbudować własne rozwiązanie i PO PROSTU JE UWIELBIAM. Teraz wszystkie moje aplikacje są internacjonalizowane domyślnie.
Arnaud Ambroselli
Założyciel i18n-keyless
Proste, przewidywalne ceny
Jedna stała cena dla Twojej skali.
Każda funkcja we wszystkich planach.
Brak opłat za słowo, brak obliczeń tokenów.
Do 1 000 aktywnych użytkowników miesięcznie
Dla aplikacji indie i nowych produktów
Do 5 000 aktywnych użytkowników miesięcznie
Dla aplikacji, które znajdują swoją publiczność
Do 50 000 aktywnych użytkowników miesięcznie
Dla aplikacji z realnym wzrostem
Do 500 000 aktywnych użytkowników miesięcznie
Dla produktów w skali
Lub posiadaj go: darmo do zainstalowania, 30 € raz na nieograniczone projekty.
To samo API, panel sterowania i serwer MCP w jednym kontenerze Docker z SQLite na Twoim serwerze, z własnym kluczem Mistral. Jeden projekt jest zawsze darmowy; licencja dożywotnia za €30 odblokowuje nieograniczoną liczbę projektów. Bez subskrypcji, bez limitu użycia, dożywotnie aktualizacje.
Każdy plan obejmuje:
Wszystkie 48 języków. Cały świat, od pierwszego dnia
Nielimitowane tłumaczenia, w tym AI. Nowe ciągi znaków tłumaczą się same w produkcji
Tłumaczenie na żywo treści generowanej przez użytkowników (UGC)
Uaktualnij, obniż lub anuluj w dowolnym momencie
Ponad 500 000 aktywnych użytkowników miesięcznie? Skontaktuj się z nami
Ile kosztuje ta sama aplikacja gdzie indziej
Przesuń oba suwaki. Rachunek jest za Twoją aplikację we wszystkich 48 językach.
| Rozwiązanie | Twój miesięczny rachunek | Płacisz za | Tłumaczenie | Języki |
|---|---|---|---|---|
| i18n-keylessmy | €4/ miesiąc | Miesięczni aktywni użytkownicy Wygrana wygrana. | AI, nieograniczony, włączony | Wszystkie 48, od pierwszego dnia |
| Crowdin | €88/ miesiąc1 | Słowa hostowane: twoje słowa × 48 | Crowdin AI, wewnątrz limitu | Dodajesz każdy jeden |
| Intlayer | €27/ miesiąc2 | Miejsca i projekty | Generowanie AI, w ramach kwoty | Dodajesz każdy jeden |
| Lingo.dev | €91/ miesiąc3 | Podstawowa opłata, następnie tokeny AI | Rachunek za AI trafia bezpośrednio do Ciebie | Dodajesz każdy jeden |
| Locize | €77/ miesiąc4 | Słowa × 48 i pobrania CDN | Przynosisz swój własny klucz AI | 10 w największym opublikowanym planie |
| Lokalise | €132/ miesiąc5 | Miejsca, następnie klucze | Tłumacze rozliczani oddzielnie | Dodajesz każdy jeden |
| Phrase | €483/ miesiąc6 | Miejsca, następnie zarządzane słowa | Od $0.06 za słowo, rozliczane oddzielnie | Dodajesz każdy jeden |
| Smartling | €552/ miesiąc7 | Każde słowo, każdy język | Tłumaczenie AI od $0,06 za słowo | Dodajesz każdy jeden |
| Tolgee | €49/ miesiąc8 | Klucze i siedzenia | Kredyty tłumaczenia maszynowego | Wypełniasz każdego |
| Weglot | €1,678/ miesiąc9 | Słowa × języki, na stronie internetowej | Maszyna, wewnątrz kwoty | 20 w największym opublikowanym planie |
Ceny publiczne z listy, odczytane w sierpniu 2026 r. Sprzedawcy je zmieniają, więc proszę sprawdzić. Każdy rachunek to nasze odczytanie opublikowanej drabiny, a my zawsze wybieramy najtańszy płatny plan, który utrzymuje Twoją aplikację. Gdy sprzedawca raz wystawi pierwszą tłumaczenie, rozkładamy je na dwanaście miesięcy.
1 Crowdin publikuje 44 € miesięcznie za 60 000 hostowanych słów w planie Pro, rozliczane rocznie. Hostowane słowo to jedno słowo w jednym języku docelowym. Powtarzamy tę cenę bloku powyżej 60 000.
2 Intlayer jest otwartym oprogramowaniem. 29 dolarów miesięcznie obejmuje CMS i limit generowania AI. Po przekroczeniu limitu możesz użyć własnego klucza AI, więc dodajemy opłatę modelu w wysokości 10 dolarów za każdy milion tokenów, rozłożoną na dwanaście miesięcy.
3 Lingo.dev publikuje 99 dolarów miesięcznie plus 2 dolary za każdy milion tokenów infrastruktury i przekazuje ci rachunek za model. Liczymy 1,4 tokenu na każde słowo oraz 10 dolarów za każdy milion tokenów kosztu modelu. Opłata podstawowa stanowi większość tej kwoty.
4 Locize publikuje €7, €19 i €49 miesięcznie za 15 000, 30 000 i 60 000 słów, z 1, 3 i 5 milionami pobrań CDN. Powyżej tej kwoty publikuje $0,50 za każde dodatkowe 1 000 słów i $5 za każdy dodatkowy milion pobrań. Liczymy trzydzieści pobrań na każdego użytkownika co miesiąc. Żaden opublikowany plan nie obejmuje 48 języków.
5 Lokalise publikuje $144, $375 i $999 miesięcznie, bez limitu kluczy. Zakładamy, że trzy plany zawierają 5 000, 20 000 i 100 000 kluczy oraz dwanaście słów na każdy klucz. Tłumaczenia ludzkie są rozliczane oddzielnie.
6 Fraza publikuje 525 dolarów miesięcznie za 1 milion zarządzanych słów w planie oprogramowania, oraz 1 245 dolarów za 3 miliony. Liczymy jedno zarządzane słowo za każde słowo w każdym języku, a powyższy blok 1 245 dolarów powtarzamy dla 3 milionów.
7 Smartling nie publikuje ceny platformy. Liczymy tylko tłumaczenie AI, w opublikowanej cenie $0,06 za słowo, rozłożonej na dwanaście miesięcy. Twoja rzeczywista faktura jest wyższa.
8 Tolgee rozlicza klucze, a nie słowa, dlatego liczymy dwanaście słów za każdy klucz. Publikuje cennik: €49 za 2 000 kluczy, €179 za 5 000 i €499 za 20 000, rozliczane rocznie. Powyżej tej liczby powtarzamy blok €499. Kredyty za tłumaczenia maszynowe są liczone oddzielnie.
9 Weglot tłumaczy stronę internetową, a nie aplikację. Jego największy opublikowany plan kosztuje 699 € miesięcznie za 20 języków, więc skalujemy tę cenę do 48 języków. Twoje słowa mieszczą się w każdej z tych ofert.
Każdy drugi wiersz rośnie wraz z twoim produktem. Nasza jest ceną stałą.
Najczęściej zadawane pytania
Czy muszę zarządzać plikami tłumaczeń?
Nie. Nie ma plików JSON, kroku ekstrakcji kluczy ani wtyczki czasu kompilacji. Piszesz swoje zdania w swoim języku źródłowym, SDK wysyła je do API przy pierwszym żądaniu, API tłumaczy je za pomocą AI, a każde kolejne żądanie jest obsługiwane z pamięci podręcznej. Twój kod jest jedynym źródłem prawdy.
Co się stanie, gdy zmienię tekst źródłowy?
Tekst źródłowy to klucz. Zmiana go spowoduje powstanie nowego klucza z nowym tłumaczeniem AI. Stary klucz przestanie być żądany, a panel sterowania usunie go po 30 dniach nieużywania. Poprawienie literówki działa tak samo: popraw ją w kodzie, wdróż, a nowy tekst zostanie przetłumaczony przy pierwszym żądaniu.
Ile to kosztuje?
Hostowane: jedna stała cena za projekt miesięcznie, w zależności od aktywnych użytkowników miesięcznie — 4 € do 1 000, 9 € do 5 000, 29 € do 50 000, 99 € do 500 000 — rozliczane miesięcznie, możesz anulować w dowolnym momencie. Samodzielne hostowanie: darmowe do zainstalowania, jeden projekt darmowy na zawsze, 30 € jednorazowo za nieograniczone projekty, bez subskrypcji i bez limitu użycia. W żadnej z opcji nie ma cennika za miejsce, słowo lub ciąg znaków.
Czy mogę wyeksportować swoje tłumaczenia?
Tak. Panel sterowania ma przycisk „Eksportuj JSON”, który pobiera wszystkie tłumaczenia w Twoim projekcie jako pojedynczy plik JSON. Eksport obejmuje wszystkie wiersze, nie tylko te użyte w ostatnich 30 dniach, więc jest to pełna kopia zapasowa. Nie ma blokady: Twoje dane są zawsze tylko jeden klik dalej.
Obejrzyj demo
Obejrzyj ten krótki film, aby zobaczyć i18n-keyless w akcji
Pobierz klucz API dla jednej aplikacji
Twoja pełna implementacja i18n w 5 minut. iykyk.