คำถามที่พบบ่อย
Everything you need to know about i18n-keyless before you start.
ฉันจำเป็นต้องจัดการไฟล์แปลหรือไม่?
ไม่ใช่ มีแค่ไฟล์ JSON ไม่มีขั้นตอนการแยกคีย์ และไม่มีปลั๊กอินเวลาสร้าง ไม่ว่าคุณจะเขียนประโยคของคุณด้วยภาษาใด SDK จะส่งไปยัง API ในคำขอแรก API จะแปลด้วย AI และคำขอถัดไปทั้งหมดจะถูกบริการจากแคช โค้ดของคุณคือแหล่งเดียวของความจริง
เกิดอะไรขึ้นเมื่อฉันเปลี่ยนข้อความต้นฉบับ?
ข้อความต้นฉบับคือคีย์ เมื่อคุณเปลี่ยนมัน คุณจะได้รับคีย์ใหม่พร้อมการแปลด้วย AI ใหม่ คีย์เก่าจะถูกยกเลิกการร้องขอ และแดชบอร์ดจะลบมันออกหลังจากไม่ได้ใช้งาน 30 วัน การแก้ไขคำผิดก็เช่นกัน: แก้ไขในโค้ด จากนั้น deploy และข้อความใหม่จะถูกแปลเมื่อมีการร้องขอครั้งแรก
ราคาเท่าไหร่?
แผนโฮสต์มีค่าใช้จ่าย 8 ยูโรต่อโครงการต่อเดือน คิดเงินรายเดือน ยกเลิกได้ตลอดเวลา เวอร์ชันโฮสต์ด้วยตัวเองฟรีสำหรับหนึ่งโครงการ; 30 ยูโรครั้งเดียวสำหรับโครงการไม่จำกัด — ไม่มีการสมัครสมาชิก ไม่มีขีดจำกัดการใช้งาน คุณนำคีย์ AI ของคุณมาเองในทั้งสองกรณี ไม่มีการกำหนดราคาต่อที่นั่ง ต่อคำ หรือต่อคำขอ
Can I export my translations?
Yes. The dashboard has an "Export JSON" button that downloads every translation in your project as a single JSON file. The export includes all rows, not just the ones used in the last 30 days, so it is a full backup. There is no lock-in: your data is always one click away.
What frameworks does it support?
React, React Native, Vue, Svelte, Vanilla JS, Node.js, Ruby on Rails, Python, Go, Swift and Kotlin. Every SDK works the same way: wrap your text in a translation call, and the API returns the translation for the current language. The server SDKs are thread-safe and cache translations in memory.
How many languages are supported?
48 languages, including regional variants like zh-Hans / zh-Hant, en / en-GB, fr / fr-CA, pt / pt-BR, and es / es-MX. Arabic, Hebrew and Urdu are in the list, so right-to-left languages work too. Adding a new language to your project is one click in the dashboard.
Does it work with server-side rendering?
Yes. The Node.js SDK uses AsyncLocalStorage so your loaders, head functions and server components can translate without a React provider. On the client side, the React provider hydrates from the server-rendered HTML. There are step-by-step guides for Next.js, Nuxt, and TanStack Start in the documentation.
Does it slow down my app?
The first time a new string is requested, the API calls the AI model — that takes one to two seconds. Every request after that is served from the database, which is a regular cache hit. The SDK also caches translations locally, so returning users see zero network delay. If ten users request the same string at the same time, only one AI call is made.
What happens if the service goes down?
Every SDK caches translations locally — in localStorage on the web, AsyncStorage on mobile, and in memory on the server. If the API is unreachable, the SDK serves the cached translations. Your users see the last known translation, never a blank string. When the API comes back, the SDK refreshes silently.
Which AI provider does it use?
Five providers are supported: Mistral, OpenAI, Anthropic, Google, and any OpenAI-compatible endpoint such as Ollama, Groq, or Together. The operator picks the provider and the model from the dashboard or from the environment. The default on i18n-keyless.com is Mistral. Self-hosted users can run Ollama locally and send nothing to a third party.
Can I override an AI translation?
Yes. Click any cell in the dashboard, type the correct text, and save. The fix is permanent: the API never overwrites a value that was set by hand. You can also override translations through the API or through the MCP server, so an AI coding agent can fix a translation for you.
Can I migrate from i18next or another library?
Yes. There is a step-by-step migration guide for i18next, react-intl, and Lokalise in the documentation. The API has a migrate endpoint that imports your existing translations one by one, with no AI call and nothing billed. The MCP server has the same tool, so an AI agent can do the migration for you.
Is there a free plan?
There is no time-limited free trial. The self-hosted edition gives you one project free forever — install the Docker image, use your own AI key, and keep your data on your own server. The hosted plan is €8 per month per project, with no minimum commitment.
Is the source code available?
The server, the dashboard and the Docker image are published on GitHub under the Elastic License 2.0. You can read every line, run the code, and change it. The SDKs — React, Vue, Node, Rails and the others — are MIT-licensed. The only restriction: you may not offer the software as a hosted service to third parties.
เซิร์ฟเวอร์ด้วยตัวเองหรือการสมัครสมาชิก: อันไหน?
การสมัครสมาชิก: เราดูแลมัน, การอัปเดตเป็นแบบอัตโนมัติ, ราคาเดียวต่อโปรเจกต์ การโฮสต์ด้วยตัวเอง: อิมเมจ Docker เดียวกันบนเซิร์ฟเวอร์ของคุณเอง ติดตั้งฟรี โปรเจกต์เดียวฟรีตลอดกาล 30 ยูโรครั้งเดียวสำหรับโปรเจกต์ไม่จำกัด พร้อมคีย์ AI ของคุณและข้อมูลของคุณที่บ้าน เลือกการสมัครสมาชิกเว้นแต่คุณต้องการเรียกใช้เซิร์ฟเวอร์
อ่านคำตอบทั้งหมด พร้อมด้วยรหัสHow do I handle dynamic values like names or counts?
Use the replace option. Write the sentence with a placeholder — "Hello {name}, you have {count} items" — and pass the values at render time with replace: { "{name}": userName, "{count}": String(n) }. The AI sees the placeholder and keeps it in every translation. The SDK substitutes the value at runtime.
ฉันจัดการคำพหูพจน์อย่างไร?
ไม่มี API สำหรับพหูพจน์โดยเจตนา เขียนแต่ละรูปแบบเป็นประโยคเต็มของตัวเอง — "1 รายการ" และ "{count} รายการ" — และแทรกตัวเลขด้วยการแทนที่ โมเดลจะแปลแต่ละประโยคเป็นภาษาของตัวเอง ดังนั้นภาษาที่มีรูปแบบมากขึ้นจึงยังคงอ่านได้ตามธรรมชาติในกรณีทั่วไป
อ่านคำตอบทั้งหมด พร้อมด้วยรหัสฉันจะจัดการกับเพศอย่างไร?
ในทำนองเดียวกัน: หนึ่งประโยคเต็มต่อแบบฟอร์ม พร้อมด้วยบริบทที่บอกโมเดลว่าใครกำลังพูดและใครถูกกล่าวถึง สองบริบทให้การแปลที่แยกจากกันสำหรับคำเดียวกัน ดังนั้น "Welcome back" สำหรับผู้หญิงและผู้ชายจึงไม่เคยชนกัน
อ่านคำตอบทั้งหมด พร้อมด้วยรหัสฉันจะจัดรูปแบบวันที่ เลข และสกุลเงินอย่างไร?
SDK ไม่ได้จัดรูปแบบพวกมัน แต่รันไทม์ของคุณทำ หากใช้ Intl.DateTimeFormat และ Intl.NumberFormat พร้อมกับภาษาปัจจุบันจาก SDK จากนั้นนำผลลัพธ์มาใส่ในประโยคด้วย replace หนึ่งประโยค หนึ่งการแปล รูปแบบที่ถูกต้องในทุกภาษา
อ่านคำตอบทั้งหมด พร้อมด้วยรหัสฉันสามารถปรับแต่งข้อความแจ้งการแปลได้หรือไม่?
ไม่ คุณไม่จำเป็นต้องทำเช่นนั้นด้วยซ้ำ พร้อมต์จะอ่านบริบทของคุณสำหรับแต่ละคีย์: นั่นคือที่ที่โทน เสียง และความหมายถูกกำหนดขึ้น และนี่คือเหตุผลที่คำเดียวกันแปลต่างกันในสองสถานที่ และการแปลใดๆ สามารถเขียนทับด้วยตนเองในแดชบอร์ดได้ API จะไม่เขียนทับสิ่งที่คุณเขียน
อ่านคำตอบทั้งหมด พร้อมด้วยรหัสDoes it have an MCP server for AI coding agents?
Yes. The API is also an MCP server with OAuth 2.1 authentication. An AI agent can list translations, translate strings, override values, import existing translations, and manage project members — the same operations a human does in the dashboard. Connect it from Claude Code, Cursor, Windsurf, or any MCP-compatible client.
Can I use it for backend strings and emails?
Yes. The Node.js, Ruby on Rails, Python and Go SDKs run on the server. Translate an email subject, an error message, or a push notification the same way you translate a UI string. The server SDKs cache translations in memory and refresh in the background, so they do not add latency to your request.
Can my whole team work on translations?
Yes. Add team members to a project from the dashboard or through the API. Every member can see all translations, override any value, and add languages. Admins create projects and manage members. There is no per-seat pricing: add as many people as you need.
ฉันจะแก้ไขคำพิมพ์ผิดได้อย่างไร?
ข้อความต้นฉบับคือกุญแจสำคัญ การแก้ไขคำผิดในข้อความต้นฉบับจะทำให้คุณได้รับกุญแจใหม่พร้อมคำแปลใหม่ สายอักขระเก่าจะถูกขอเพียงแค่นั้นและแดชบอร์ดจะทำความสะอาดมันโดยอัตโนมัติหลังจาก 30 วันโดยไม่ได้ใช้งาน คำผิดในคำแปล: แก้ไขเซลล์ในแดชบอร์ดและการแก้ไขจะถาวร
อ่านคำตอบทั้งหมด พร้อมด้วยรหัส