셀프 호스팅

고통 없는 i18n, 당신의 고유한 지평까지 확장됨 수천 달러를 쓰지 않고.

완전히 무료입니다. 무제한 프로젝트, 모든 48개 언어, 만료 없음, 라이선스 키 필요 없음.

영구 무료
€0영원히

무제한 프로젝트. 모든 48개 언어. 만료 없음.

  • 모든 48개 언어, 무제한 번역
  • 대시보드, MCP 서버, 모든 SDK
  • 구매할 것이 없고, AI 키를 제외하고 입력할 것도 없습니다
무료로 설치하세요
팁을 주세요
마음에 들어요?

i18n은 이제 고통스럽지 않습니다. 경험해 보세요. 저는 그 일에 대한 팁을 받는 데 신경 쓰지 않습니다.

  • 당신이 그것을 느낄 때
  • 하고 싶으면
  • 1달러에서 100만 달러까지, 그 이상은 아닙니다

Stripe의 안전한 결제. 라이선스 키가 받은 편지함에 도착합니다 — 대시보드의 기부 프롬프트를 음소거합니다.

당신이 얻는 것

  • 무제한 프로젝트, 모든 48개 언어, 만료 없음
  • 무제한 번역, 사용 제한 없음
  • 대시보드, 에이전트를 위한 MCP 서버, 모든 SDK
  • 하나의 컨테이너, 백업을 위한 하나의 SQLite 파일
  • 오프라인에서 확인된 라이선스: 귀하의 서버는 결코 홈으로 호출하지 않습니다
  • 매 업데이트, 평생: docker compose pull

당신이 가져오는 것

  • Docker가 포함된 기계: 4유로 VPS면 충분합니다
  • AI API 키 (Mistral, OpenAI, Anthropic, Google 또는 OpenAI 호환 제공업체). 번역은 사용자 계정에서 실행되며, 앱당 몇 센트 비용이 듭니다
  • 5분

지원은 이메일을 통해 최선을 다해 제공됩니다. 대기 중인 someone이 필요하신가요? 호스팅된 플랜이 당신을 위한 것입니다.

어떻게 작동합니까

설치하고, 관리자를 생성하고, AI 키를 붙여넣으세요. 모든 프로젝트는 영원히 무료입니다.

ONCE로 — 새로운 서버, 도메인, 5분

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로 — 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

그런 다음 SDK를 서버로 가리키십시오:

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

완전한 가이드: https://docs.i18n-keyless.com/docs/guides/self-hosting

왜 기부를 하나요?

당신이 직접 VPS와 AI API 키를 관리하기 때문입니다. 구독료를 청구할 이유가 없습니다. 저도 구독을 싫어합니다. 대신: 당신이 소프트웨어의 가치를 결정하고, 저는 계속 개발하겠습니다.

이미지는 무료로 설치되며 무제한 프로젝트를 실행합니다. 모든 언어와 만료 없이.

구매 전에 질문 사항이 있나요? 저희에게 써 주세요

i18n 설정, 코드베이스를 깨끗하게 유지하고 빠르게 배포

현재 i18n 솔루션에는 여러 PITA가 있습니다. 통증이 너무 커서 i18n을 가능한 한 지연시킵니다.

당신이 해변에서 보내야 할 시간을 소비합니다

키 시스템을 설정하세요: 최소 1시간의 시니어 개발자 시간

각 새로운 키마다 왕복: 1분/키, x500 키, x2 언어 = 17시간

i18n-keyless를 사용하면 i18n 시스템을 전혀 신경 쓸 필요가 없습니다. 해변에 갈 수 있고 모히토를 주문할 수 있습니다.

오늘 대부분의 시스템은 텍스트를 번역하기 위해 키를 사용합니다

이것은 생성하는 것이 고통스럽습니다. 이 것은 유지하는 것이 고통스럽습니다.

앱에서 텍스트를 보고 업데이트하려면 해당 키를 찾아야 합니다.

i18n-keyless를 사용하면 i18n 시스템을 전혀 신경 쓸 필요가 없습니다. 더 흥미로운 일에 뇌를 사용하세요.

번역은 AI에게 맡기세요

키 시스템에서 앱에서 번역을 관리해야 합니다.

그렇지 않으면 사용자는 앱에서 someheader.welcome.title을 볼 것입니다.

i18n-keyless를 사용하면 최악의 오프라인 시나리오에서 번역되지 않은 실제 단어를 보게 됩니다. 정상적인 속도라면 i18n 시스템에 전혀 신경 쓰지 않습니다. 좋은 헤드라인을 쓰고, 마케팅에 집중하며, 판매를 늘리세요.

코드베이스는 아름다워... i18n 키 감염까지

키 시스템에서는 코드와 내용을 읽을 때 키를 읽어야 합니다. 자연어는 아닙니다.

때때로 문장이 문법적으로 정확하지 않아서 수정을 해야 합니다. 하지만 당신은 그것을 모르는데, 왜냐하면 당신이 키를 읽기 때문입니다.

i18n-keyless를 사용하면 i18n 시스템을 전혀 신경 쓸 필요가 없습니다. 코드베이스는 아름다워집니다.

첫날부터 i18n을 추가하되 개발 속도에 영향을 주지 마세요
코딩 에이전트를 위해 제작되었습니다

MCP 서버가 i18n 요구 사항을 모두 충족하도록 지원합니다

에이전트 코딩을 위해 시스템이 이렇게 최적화된 여섯 가지 다른 이유.

발명할 이름이 없습니다

키는 정답이 없는 명명 결정입니다. 두 에이전트가 동일한 버튼에 대해 login.submit과 auth.button.send를 작성합니다. 키가 없으면 결정할 것이 없습니다.

하나의 파일을 편집하는 것이지, 스무 개가 아닙니다

키 기반 변경은 컴포넌트와 모든 로케일 JSON 파일에 영향을 미치며 에이전트는 파일을 잊습니다. 여기서는 복사 변경이 단일 파일 편집입니다.

에이전트 플릿에서 머지 충돌 없음

다섯 개의 브랜치에 있는 다섯 명의 에이전트가 모두 en.json을 편집합니다: 보장된 충돌. 공유 파일이 없으므로 워크트리와 백그라운드 에이전트는 절대 충돌하지 않습니다.

토큰이 저렴함

키를 재사용하려면 에이전트가 모든 편집 시 로케일 파일을 컨텍스트에 로드해야 합니다. 키 없는 로드는 아무것도 하지 않습니다: 텍스트가 컴포넌트에 바로 있습니다.

읽기 쉬운 차이

풀 요청은 실제 문장을 보여줍니다. 인간 또는 리뷰 에이전트는 키가 무엇을 나타내는지 파헤치지 않고도 복사본을 판단할 수 있습니다.

당신의 CLAUDE.md에 있는 한 규칙

당신이 작성하는 모든 i18n 규칙은 에이전트가 위반할 수 있는 규칙입니다. 이 규칙은 한 줄만 필요하며 — 대체 텍스트는 실제 텍스트이므로 오류가 화면에 a.b.c를 표시하지 않습니다.

당신의 에이전트가 필요한 유일한 i18n 규칙

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

당신의 에이전트는 그것을 조작할 수 있습니다. 단지 쓰는 것만이 아닙니다

MCP 서버를 통해 에이전트는 누락된 번역을 나열하고 하나를 읽고, 잘못된 것을 덮어쓰거나 이미 가지고 있는 복사본을 가져옵니다 — 자체 OAuth 로그인으로, 붙여넣을 키가 없습니다.

MCP 가이드를 읽으세요
MVP에 적합

첫날부터 글로벌 출시

복잡성 때문에 i18n을 지연시키는 것을 중단하세요. 5분 안에 구현하고, 일로 하지 마세요. i18n이 구현되지 않은 것처럼 개발 속도를 유지하세요.

  • 5분 구현. 농담이 아냐.

    하나의 간단한 구성 객체로 끝입니다.

  • 개발 속도를 유지하세요

    i18n이 전혀 구현되지 않은 것처럼 코드를 작성하세요.

  • 세계 시장으로 배송

    새로운 언어로 확장할 때 리팩토링이 필요하지 않습니다.

  • SSR & SEO 준비 완료

    Next.js, Remix, TanStack Start, Astro와 호환됩니다. 검색 엔진을 위한 서버 측 렌더링 — 5분 만에 동일한 설정.

전통적인 i18n

키 시스템 설정 (1시간)
번역 파일 생성 (2 시간)
컴포넌트 리팩토링 (4시간)
모든 언어를 테스트 (2 시간)
레이아웃 문제 수정 (3시간)
12+ 시간의 작업

i18n-keyless

패키지 추가 (1 분)
API 키로 구성 (2 분)
텍스트 구성 요소 감싸기 (2 분)
5분간의 작업
작동 방식

설정은 매우 쉽습니다

가장 간단한 구성 객체만 있으면 글로벌에 나갈 준비가 되었습니다.
그리고 더 나아가, 당신의 에이전트가 당신을 위해 설정할 것입니다.

1. 기본 설정

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

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

2. 컴포넌트 사용 (여기서는 React; Vue, Angular, Flutter, Swift 및 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. 서버 측 사용 (여기서는 Node.js; Laravel, Rails, Python 및 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. 컴포넌트 외부 텍스트

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

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

5. SDK를 선택하세요: 한 줄의 설치, 어디서나 동일한 API

  • 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

12개의 SDK 각각에 대한 빠른 설정

번역이 어떻게 작동하는지

i18n-keyless는 API 서비스가 결합된 라이브러리로, 키를 사용하지 않고도 텍스트를 번역할 수 있게 해줍니다.

번역이 발견되지 않으면 I18nKeyless의 API로 비동기적으로 가져와 AI API 호출로 번역을 얻습니다.

이 작업은 일반적으로 개발 모드에서 수행됩니다. 코딩 중입니다. 만약 하나를 놓쳤다면, 프로덕션에서는 번역이 부족한 첫 번째 사용자만 글리치를 보게 됩니다. 그런 다음, 전 세계의 사용자에게 즉시 사용할 수 있게 됩니다.

앱 스토어 & Google Play

모든 언어, 모든 릴리스에서 귀하의 스토어 목록

모든 업데이트는 새로운 릴리스 노트, 설명 및 키워드를 의미합니다 — 각 언어별로 두 스토어에서. 그것이 당신이 언어를 추가하지 못하게 하는 이유입니다. 앱이 아닙니다.

  • 모든 언어에 대한 릴리스 노트, 한 번의 호출로

    업데이트를 한 번 작성하세요. awaitForTranslation은 당신이 판매하는 각 언어별로それを 반환하며, 스토어 설정이 EAS 또는 fastlane으로 전달합니다.

  • 48개 언어가 App Store 슬롯에 매핑되어 있습니다

    pt-BR과 pt-PT는 두 개의 목록입니다. en-GB, en-AU, en-CA는 세 개입니다. toAppStoreLocale은 각 번역을 올바른 위치에 배치합니다.

  • 릴리스 없이 잘못된 번역을 수정하세요

    앱에서 대시보드의 하나의 오버라이드는 한 번에 라이브됩니다. 핫픽스 빌드도 없고 스토어 리뷰도 없습니다. 목록에서 푸시를 다시 실행하세요.

  • 단어 당 가격이 아닙니다

    번역가는 단어당 약 0.10유로를 청구합니다. 10개 언어로 2,000개의 문자열은 프리랜서 개발자가 감당할 수 없는 예산입니다. 여기서는 단어가 계산되지 않습니다.

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

같은 호출이 Google Play용 fastlane 메타데이터 파일을 작성합니다. 대문자는 권장 사항입니다. 제한을 문맥에 맞추고 푸시하기 전에 길이를 확인하세요.

직접 시도해 보세요

인터랙티브 샌드박스

i18n-keyless가 실시간으로 작동하는 방법을 확인하세요

입력할 때 번역이 해결되는 모습을 확인하기 위해 라이브 및 편집 가능한 StackBlitz 프로젝트를 열어보세요.

왜 이것을 만들었나요

저는 항상 국제화(i18n)를 미루어 왔습니다. 제 고객이 그것을 너무나 원해서 선택의 여지가 없을 때까지요. i18n 키가 포함된 코드를 읽는 것은 정말 싫고, JSON 파일을 유지하는 것도 i18n 번역 제공업체들이 얼마나 비싼지 보는 것만큼이나 싫습니다. 그래서 저는 직접 만들 수밖에 없었고, 정말 마음에 들어요. 이제 제 모든 앱은 기본적으로 국제화되어 있습니다.

AA

Arnaud Ambroselli

i18n-keyless 설립자

당신의 것을 추가하고 싶습니까?

무료 구독에 대한 증언. 여러분의 것을 요청하세요!

나의 증언을 보내주세요
당신이 묻기 전에

자주 묻는 질문

번역 파일을 관리해야 하나요?

아니요. JSON 파일이 없고, 키 추출 단계도 없으며, 빌드 시 플러그인도 없습니다. 소스 언어로 문장을 작성하면 SDK가 첫 요청 시 API로 전송하고, API가 AI로 번역하며, 이후 모든 요청은 캐시에서 제공됩니다. 코드가 유일한 진실의 원천입니다.

원본 텍스트를 변경하면 어떻게 됩니까?

원본 텍스트는 키입니다. 변경하면 새로운 AI 번역이 포함된 새로운 키를 얻을 수 있습니다. 이전 키는 더 이상 요청되지 않으며 대시보드는 30일 동안 사용하지 않으면 정리합니다. 오타 수정도 동일합니다: 코드에서 수정하고 배포하면 새로운 텍스트가 첫 요청 시 번역됩니다.

얼마예요?

셀프 호스팅: 완전히 무료, 무제한 프로젝트, 구독 없음 및 사용 제한 없음 — 도커 이미지를 설치하고 자체 AI 키를 사용하세요. 마음에 드나요? tip me! 호스팅: 월간 활성 사용자 수에 따라 프로젝트당 월 고정 가격 — 1,000까지 4유로, 5,000까지 9유로, 50,000까지 29유로, 500,000까지 99유로 — 월별로 청구되며 언제든 취소 가능. 두 경우 모두 좌석당, 단어당 또는 문자열당 가격은 없습니다.

내 번역을 내보낼 수 있나요?

예. 대시보드에는 프로젝트의 모든 번역을 단일 JSON 파일로 다운로드하는 "JSON 내보내기" 버튼이 있습니다. 내보내기에는 지난 30일 동안 사용된 항목뿐만 아니라 모든 행이 포함되므로 전체 백업입니다. 잠금 기능이 없습니다. 데이터는 항상 한 번의 클릭으로 접근할 수 있습니다.

유지 관리자 한 명: 프로젝트가 중단되면 어떻게 됩니까?

SDK는 MIT 라이선스 하에 있으며 npm, PyPI, RubyGems 및 기타 레지스트리에 계속 사용할 수 있습니다. 서버는 Elastic License 2.0 하에 공개되어 있으며その間의 프로토콜이 문서화되어 있어 누구나 실행, 포크 또는 서버를 작성할 수 있습니다. 번역은 언제든지 하나의 JSON 내보내기에 남아 있습니다. 호스팅된 서비스가 중단되면: 설치된 앱은 캐시된 번역을 계속 제공하고, 새로운 클라이언트는 소스 언어로 되돌아갑니다. SDK를 API_URL로 자체 인스턴스를 가리키면 모든 것이 복원됩니다. 잃게 되는 것은 i18n-keyless.com의 새로운 문자열에 대한 AI 번역뿐입니다. 데이터나 앱이 아닙니다.

코드와 함께 전체 답변을 읽으세요
직접 시도해 보세요

데모를 보세요

이 짧은 동영상을 보고 i18n-keyless가 작동하는 모습을 보세요