DX tối ưu cho i18n

Rẻ nhất và hiệu quả nhất i18n cho lập trình tác nhân

i18n không khóa tác nhân mã hóa của bạn sẽ làm đúng ngay lần đầu tiên: chỉ một tệp để chỉnh sửa, không có tệp JSON địa phương nào để tải, không xung đột hợp nhất, từ 4 euro mỗi tháng.

Thiết lập trong 5 phút

Toàn bộ triển khai i18n của bạn trong 5 phút. Không đùa đâu.

Hệ thống không có chìa khóa

Bộ não của bạn không nên tham gia vào những nhiệm vụ vô nghĩa như vậy.

Toàn cầu ngay từ ngày đầu tiên

Gửi đến các thị trường quốc tế mà không cần nỗ lực thêm.

Thiết lập i18n, giữ cho cơ sở mã của bạn sạch sẽ và giao hàng nhanh chóng

Có nhiều PITA với các giải pháp i18n hiện tại. Những khó khăn quá lớn khiến bạn trì hoãn i18n càng lâu càng tốt.

Nó lãng phí thời gian bạn đáng lẽ nên dành trên bãi biển

Thiết lập hệ thống khóa: ít nhất 1 giờ thời gian của nhà phát triển cấp cao

Lui tới lui lui cho mỗi khóa mới: 1 phút mỗi khóa, x500 khóa, x2 ngôn ngữ = 17 giờ

Với i18n-keyless, bạn không cần quan tâm đến hệ thống i18n chút nào. Bạn có thể ra bãi biển và gọi một ly mojito.

Ngày nay hầu hết các hệ thống sử dụng khóa để dịch văn bản

Việc tạo ra điều này thật đau đớn. Việc duy trì điều này thật đau đớn.

Khi bạn nhìn thấy một văn bản trong ứng dụng và muốn cập nhật nó, bạn cần tìm khóa tương ứng.

Với i18n-keyless, bạn không cần phải quan tâm đến hệ thống i18n chút nào. Hãy sử dụng trí não của mình cho những thứ thú vị hơn.

Hãy để AI xử lý phần dịch

Với hệ thống khóa, bạn cần quản lý các bản dịch trong ứng dụng.

Nếu không, người dùng của bạn sẽ thấy someheader.welcome.title trong ứng dụng của họ.

Với i18n-keyless, bạn không cần quan tâm đến hệ thống i18n chút nào. Chỉ cần viết những tiêu đề hay, tập trung vào marketing và đạt doanh số.

Các codebase thật đẹp... cho đến khi các khóa i18n bị nhiễm

Với hệ thống khóa, khi bạn đọc mã và nội dung, bạn phải đọc các khóa, không phải ngôn ngữ tự nhiên.

Đôi khi bạn nên thực hiện một sửa đổi vì một câu không đúng ngữ pháp. Nhưng bạn không biết điều đó vì bạn đang đọc các khóa.

Với i18n-keyless, bạn không cần quan tâm đến hệ thống i18n chút nào. Cơ sở mã vẫn đẹp.

Thêm i18n ngay từ ngày đầu tiên mà không ảnh hưởng đến tốc độ phát triển của bạn
Được xây dựng cho các tác nhân mã hóa

Máy chủ MCP để đáp ứng tất cả nhu cầu i18n của bạn

Sáu lý do khác giải thích tại sao hệ thống được tối ưu hóa cho lập trình tác nhân.

Không có tên để sáng chế

Một khóa là một quyết định đặt tên không có câu trả lời đúng. Hai tác nhân viết login.submit và auth.button.send cho cùng một nút. Không có khóa, không có quyết định nào để đưa ra.

Một tập tin để chỉnh sửa, không phải hai mươi

Một thay đổi dựa trên khóa ảnh hưởng đến thành phần và mọi tệp JSON định vị, và các tác nhân quên các tệp. Ở đây, một thay đổi bản sao là chỉnh sửa một tệp đơn.

Không có xung đột hợp nhất trong các hạm đội tác nhân

Năm tác nhân trên năm nhánh đều chỉnh sửa en.json: một xung đột được đảm bảo. Không có tệp chia sẻ, vì vậy các worktrees và tác nhân nền không bao giờ va chạm.

Rẻ tiền trong token

Để tái sử dụng một khóa, một tác nhân phải tải các tệp cục bộ vào ngữ cảnh ở mỗi lần chỉnh sửa. Việc tải không có khóa không làm gì cả: văn bản đã có sẵn trong thành phần.

Sự khác biệt có thể đọc được

Yêu cầu pull hiển thị các câu thực tế. Con người hoặc tác nhân xem xét có thể đánh giá bản sao mà không cần phải tìm hiểu khóa đại diện cho điều gì.

Một quy tắc trong CLAUDE.md của bạn

Mỗi quy tắc i18n bạn viết ra đều là quy tắc mà tác nhân có thể vi phạm. Quy tắc này chỉ cần một dòng — và bản dự phòng là văn bản thực tế, nên lỗi sẽ không hiển thị a.b.c trên màn hình.

Quy tắc i18n duy nhất mà tác nhân của bạn cần

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

Tác nhân của bạn có thể vận hành nó, không chỉ viết nó

Thông qua máy chủ MCP, tác nhân liệt kê các bản dịch bị thiếu, đọc một bản, ghi đè một bản xấu hoặc nhập khẩu bản sao bạn đã có — với đăng nhập OAuth riêng, không cần dán bất kỳ khóa nào.

Đọc hướng dẫn MCP
Hoàn hảo dành cho MVP

Ra mắt toàn cầu ngay từ ngày đầu tiên

Đừng trì hoãn i18n vì độ phức tạp. Triển khai trong 5 phút, không phải ngày. Duy trì tốc độ phát triển của bạn như thể i18n chưa được triển khai.

  • Triển khai trong 5 phút. Không đùa đâu.

    Một đối tượng cấu hình đơn giản và bạn đã xong.

  • Duy trì tốc độ phát triển

    Viết mã như thể i18n chưa từng được triển khai chút nào.

  • Gửi tới thị trường toàn cầu

    Không cần tái cấu trúc khi bạn mở rộng sang các ngôn ngữ mới.

  • SSR & SEO đã sẵn sàng

    Hoạt động với Next.js, Remix, TanStack Start và Astro. Render phía máy chủ bất kỳ ngôn ngữ nào cho công cụ tìm kiếm — cùng thiết lập 5 phút.

Truyền thống i18n

Thiết lập hệ thống khóa (1 giờ)
Tạo tệp dịch (2 giờ)
Tái cấu trúc các thành phần (4 giờ)
Kiểm tra tất cả ngôn ngữ (2 giờ)
Sửa lỗi bố cục (3 giờ)
12+ giờ làm việc

i18n-không-chìa-khóa

Thêm gói (1 phút)
Cấu hình với khóa API (2 phút)
Bọc các thành phần văn bản (2 phút)
5 phút làm việc
Nó hoạt động như thế nào

Việc thiết lập nó chẳng có gì khó khăn

Chỉ cần đối tượng cấu hình đơn giản nhất và bạn đã sẵn sàng để toàn cầu.
Và thậm chí nhiều hơn nữa, tác nhân của bạn sẽ thiết lập nó cho bạn.

1. Thiết lập cơ bản

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

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

2. Sử dụng Component (Ở đây là React; tương tự trong Vue, Angular, Flutter, Swift và 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. Sử dụng phía máy chủ (ở đây Node.js; cùng một cuộc gọi trong Laravel, Rails, Python và 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. Cho văn bản bên ngoài các thành phần

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

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

5. Chọn SDK của bạn: một dòng cài đặt, cùng một API ở mọi nơi

  • 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

Thiết lập nhanh chóng cho mỗi trong số mười hai SDK

Cách thức hoạt động của bản dịch

i18n-keyless là một thư viện, kết hợp với dịch vụ API, cho phép bạn dịch văn bản của mình mà không cần sử dụng khóa.

Nếu không tìm thấy bản dịch, sẽ có một yêu cầu bất đồng bộ tới API của I18nKeyless để lấy bản dịch thông qua cuộc gọi API AI.

Thao tác này thường được thực hiện trong chế độ phát triển, khi bạn đang viết code. Nếu bạn bỏ sót một bản dịch, trong môi trường sản xuất, chỉ người dùng đầu tiên thiếu bản dịch sẽ thấy lỗi, sau đó nó sẽ ngay lập tức khả dụng cho người dùng trên toàn thế giới.

App Store & Google Play

Danh sách cửa hàng của bạn bằng mọi ngôn ngữ, trong mọi bản phát hành

Mỗi bản cập nhật đều có nghĩa là ghi chú phát hành mới, mô tả và từ khóa — cho mỗi ngôn ngữ trên cả hai cửa hàng. Đó là điều ngăn bạn thêm ngôn ngữ. Không phải ứng dụng.

  • Ghi chú phát hành cho mọi ngôn ngữ, trong một cuộc gọi

    Viết bản cập nhật một lần. awaitForTranslation trả về nó trong mỗi ngôn ngữ bạn bán, và cấu hình cửa hàng của bạn cung cấp nó cho EAS hoặc fastlane.

  • 48 ngôn ngữ, được ánh xạ tới các vị trí của App Store

    pt-BR và pt-PT là hai danh sách; en-GB, en-AU và en-CA là ba. toAppStoreLocale đặt mỗi bản dịch vào đúng vị trí.

  • Sửa một bản dịch tồi mà không cần phát hành

    Trong ứng dụng, một override trong bảng điều khiển hoạt động lần lượt — không có bản build hotfix, không có đánh giá cửa hàng. Trong danh sách, hãy chạy lại push.

  • Không định giá theo từ

    Một dịch giả tính khoảng 0,10 € mỗi từ. 2.000 chuỗi nhân với 10 ngôn ngữ là một khoản ngân sách mà một nhà phát triển đơn lẻ không thể chi trả. Ở đây, từ không được đếm.

Toàn bộ công thức cho một ứng dụng 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 } };
};

Cuộc gọi tương tự ghi các tệp siêu dữ liệu fastlane cho Google Play. Việc viết hoa chỉ mang tính chất tham khảo: hãy đặt giới hạn trong ngữ cảnh và kiểm tra độ dài trước khi đẩy.

Tự mình thử nghiệm

Hộp Cát Tương Tác

Xem cách i18n-keyless hoạt động theo thời gian thực

Mở một dự án StackBlitz trực tiếp và có thể chỉnh sửa để xem các bản dịch được giải quyết khi bạn gõ.

Tại sao tôi xây dựng cái này

Tôi luôn trì hoãn việc quốc tế hóa cho đến khi khách hàng của tôi muốn nó đến mức tôi không còn sự lựa chọn nào khác. Tôi ghét đọc mã có chứa các khóa quốc tế hóa bên trong, và tôi cũng ghét phải duy trì các tệp JSON cũng như nhìn thấy mức giá đắt đỏ của các nhà cung cấp dịch thuật quốc tế hóa. Vì vậy, tôi đã phải tự xây dựng, và tôi YÊU THÍCH NÓ. Tất cả ứng dụng của tôi giờ đều được quốc tế hóa theo mặc định.

AA

Arnaud Ambroselli

Người sáng lập i18n-keyless

Bạn có muốn thêm của bạn không?

Một lời chứng chống lại một đăng ký miễn phí. Yêu cầu của bạn!

Gửi lời chứng của tôi
Định giá

Đơn giản, định giá có thể dự đoán

Một mức giá cố định cho quy mô của bạn.
Mọi tính năng trong mọi kế hoạch.
Không có phí theo từ, không có tính toán token.

Món khai vị
4/ tháng

Lên đến 1.000 người dùng hoạt động mỗi tháng

Dành cho ứng dụng indie và sản phẩm mới

Indie
9/ tháng

Lên đến 5.000 người dùng hoạt động mỗi tháng

Dành cho các ứng dụng tìm thấy khán giả của mình

Tăng trưởng
29/ tháng

Lên đến 50.000 người dùng hoạt động mỗi tháng

Dành cho các ứng dụng có sức hút thực sự

Thang
99/ tháng

Lên đến 500.000 người dùng hoạt động hàng tháng

Dành cho các sản phẩm quy mô lớn

Tự lưu trữ

Hoặc sở hữu nó: miễn phí cài đặt, 30 € một lần cho các dự án không giới hạn.

Cùng một API, bảng điều khiển và máy chủ MCP, trong một container Docker duy nhất với SQLite, trên máy chủ của bạn, với khóa Mistral của riêng bạn. Một dự án miễn phí vĩnh viễn; giấy phép trọn đời €30 mở khóa các dự án không giới hạn. Không có đăng ký, không giới hạn sử dụng, cập nhật trọn đời.

Mua giấy phép trọn đời

Mỗi kế hoạch bao gồm:

Tất cả 48 ngôn ngữ. Toàn thế giới, từ ngày đầu tiên

Bản dịch không giới hạn, bao gồm AI. Các chuỗi mới tự động dịch trong sản xuất

Dịch trực tiếp nội dung do người dùng tạo (UGC)

Nâng cấp, hạ cấp hoặc hủy bất cứ lúc nào

Hơn 500.000 người dùng hoạt động hàng tháng? Liên hệ với chúng tôi

Ứng dụng tương tự có giá bao nhiêu ở nơi khác

Di chuyển hai thanh trượt. Hóa đơn dành cho ứng dụng của bạn bằng tất cả 48 ngôn ngữ.

1,000
2,500
Giải phápHóa đơn hàng tháng của bạnBạn trả cho mỗiBản dịchNgôn ngữ
i18n-keylesschúng tôi€4/ thángNgười dùng hoạt động hàng tháng
Thắng thắng.
AI, không giới hạn, đã bao gồmTất cả 48, từ ngày đầu tiên
Crowdin€88/ tháng1Từ được lưu trữ: từ của bạn × 48
Crowdin AI, bên trong hạn mứcBạn thêm từng cái
Intlayer€27/ tháng2Chỗ ngồi và dự án
Tạo sinh AI, trong phạm vi hạn ngạchBạn thêm từng cái
Lingo.dev€91/ tháng3Phí cơ bản, sau đó là token AI
Hóa đơn AI sẽ được gửi thẳng đến bạnBạn thêm từng cái
Locize€77/ tháng4Từ × 48, và tải xuống CDN
Bạn mang theo khóa AI của riêng mình10 trong kế hoạch lớn nhất đã công bố
Lokalise€132/ tháng5Ghế ngồi, sau đó chìa khóa
Dịch giả được lập hóa đơn riêngBạn thêm từng cái
Phrase€483/ tháng6Ghế ngồi, sau đó là những từ được quản lý
Từ $0.06 mỗi từ, lập hóa đơn riêngBạn thêm từng cái
Smartling€552/ tháng7Mỗi từ, mỗi ngôn ngữ
Dịch AI từ $0,06 mỗi từBạn thêm từng cái
Tolgee€49/ tháng8Chìa khóa và ghế ngồi
Công nhận dịch máyBạn điền vào từng người
Weglot€1,678/ tháng9Từ × ngôn ngữ, trên một trang web
Máy móc, bên trong hạn ngạch20 trong kế hoạch đã công bố lớn nhất

Giá niêm yết công khai, đọc vào tháng 8 năm 2026. Nhà cung cấp thay đổi chúng, vì vậy vui lòng kiểm tra. Mỗi hóa đơn là cách chúng tôi đọc thang đã công bố, và chúng tôi luôn chọn gói thanh toán rẻ nhất giữ ứng dụng của bạn. Khi nhà cung cấp lập hóa đơn cho bản dịch đầu tiên một lần, chúng tôi sẽ phân bổ nó trong mười hai tháng.

1 Crowdin xuất bản 44 € mỗi tháng cho 60.000 từ được lưu trữ trong gói Pro, thanh toán hàng năm. Một từ được lưu trữ là một từ trong một ngôn ngữ mục tiêu. Chúng tôi lặp lại mức giá khối đó khi vượt quá 60.000.

2 Intlayer là mã nguồn mở. Phí 29 đô la mỗi tháng bao gồm CMS và hạn mức sinh AI. Nếu vượt quá hạn mức, bạn có thể sử dụng khóa AI của riêng mình, vì vậy chúng tôi cộng thêm hóa đơn mô hình 10 đô la cho mỗi triệu token, được chia đều trong mười hai tháng.

3 Lingo.dev xuất bản $99 mỗi tháng cộng với $2 cho mỗi triệu token cơ sở hạ tầng, và chuyển hóa đơn mô hình cho bạn. Chúng tôi tính 1,4 token cho mỗi từ và $10 cho mỗi triệu token chi phí mô hình. Phí cơ bản chiếm phần lớn con số này.

4 Locize xuất bản €7, €19 và €49 mỗi tháng cho 15.000, 30.000 và 60.000 từ, kèm theo 1, 3 và 5 triệu lượt tải xuống CDN. Ngoài ra, nó xuất bản $0,50 cho mỗi 1.000 từ bổ sung và $5 cho mỗi triệu lượt tải xuống bổ sung. Chúng tôi đếm ba mươi lượt tải xuống cho mỗi người dùng mỗi tháng. Không có kế hoạch nào đã xuất bản hỗ trợ 48 ngôn ngữ.

5 Lokalise xuất bản $144, $375 và $999 mỗi tháng, không giới hạn khóa. Chúng tôi cho rằng ba gói bao gồm 5.000, 20.000 và 100.000 khóa, cùng mười hai từ cho mỗi khóa. Dịch thuật bởi con người được thanh toán riêng.

6 Cụm từ công bố 525 đô la mỗi tháng cho 1 triệu từ được quản lý trong kế hoạch phần mềm, và 1.245 đô la cho 3 triệu. Chúng tôi đếm một từ được quản lý cho mỗi từ trong mỗi ngôn ngữ, và chúng tôi lặp lại khối 1.245 đô la ở trên cho 3 triệu.

7 Smartling không công bố giá nền tảng. Chúng tôi chỉ tính phí dịch AI, theo mức giá công bố là $0,06 mỗi từ, phân bổ trong mười hai tháng. Hóa đơn thực tế của bạn cao hơn.

8 Tolgee tính phí theo khóa, không phải theo từ, vì vậy chúng tôi đếm mười hai từ cho mỗi khóa. Nó công bố €49 cho 2.000 khóa, €179 cho 5.000 và €499 cho 20.000, thanh toán hàng năm. Vượt quá số lượng này, chúng tôi lặp lại khối €499. Tín dụng dịch máy được tính riêng.

9 Weglot dịch một trang web, không phải một ứng dụng. Kế hoạch lớn nhất đã công bố của nó là 699 € mỗi tháng cho 20 ngôn ngữ, vì vậy chúng tôi mở rộng giá đó lên 48 ngôn ngữ. Những từ của bạn phù hợp với tất cả các kế hoạch này.

Mỗi dòng xen kẽ đều phát triển cùng sản phẩm của bạn. Giá của chúng tôi là giá cố định.

Trước khi bạn hỏi

Câu hỏi thường gặp

Tôi có cần quản lý các tệp tin dịch thuật không?

Không. Không có tệp JSON, không có bước trích xuất khóa, và không có plugin thời gian build. Bạn viết các câu của mình bằng ngôn ngữ nguồn, SDK gửi chúng đến API trong yêu cầu đầu tiên, API dịch chúng bằng AI, và mọi yêu cầu tiếp theo được phục vụ từ bộ nhớ đệm. Mã của bạn là nguồn duy nhất của sự thật.

Điều gì xảy ra khi tôi thay đổi văn bản nguồn?

Văn bản nguồn là khóa. Thay đổi nó và bạn sẽ nhận được một khóa mới với bản dịch AI mới. Khóa cũ đơn giản không còn được yêu cầu nữa, và bảng điều khiển sẽ dọn dẹp nó sau 30 ngày không sử dụng. Sửa lỗi đánh máy cũng tương tự: sửa nó trong mã, triển khai, và văn bản mới sẽ được dịch trong lần yêu cầu đầu tiên.

Nó giá bao nhiêu?

Được lưu trữ: một mức giá cố định cho mỗi dự án mỗi tháng, dựa trên người dùng hoạt động hàng tháng — 4 € cho đến 1.000, 9 € cho đến 5.000, 29 € cho đến 50.000, 99 € cho đến 500.000 — thanh toán hàng tháng, hủy bất cứ lúc nào. Tự lưu trữ: miễn phí cài đặt, một dự án miễn phí mãi mãi, 30 € một lần cho các dự án không giới hạn, không có đăng ký và không giới hạn sử dụng. Không có định giá theo chỗ ngồi, theo từ hoặc theo chuỗi trong bất kỳ tùy chọn nào.

Tôi có thể xuất bản dịch của mình không?

Có. Bảng điều khiển có nút "Xuất JSON" tải xuống mọi bản dịch trong dự án của bạn dưới dạng một tệp JSON duy nhất. Việc xuất bao gồm tất cả các hàng, không chỉ những hàng được sử dụng trong 30 ngày qua, vì vậy đây là bản sao lưu đầy đủ. Không có ràng buộc: dữ liệu của bạn luôn chỉ cách một cú nhấp chuột.

Tự mình thử nghiệm

Xem Demo

Xem video ngắn này để xem i18n-keyless đang hoạt động

Nhận khóa API cho một ứng dụng

Toàn bộ triển khai i18n của bạn trong 5 phút. iykyk.

Bạn đặt mật khẩu của mình sau khi thanh toán, thông qua liên kết mà chúng tôi gửi cho bạn.