Make the game you made with AI playable in other languages
Quick answer
Put the game's HTML file into Convika's free game translator and pick up to 3 languages. It translates only the text players see, script and canvas text included, and leaves your code as it is. The game opens in each player's browser language, with a small button to switch. A language that breaks the game is left out.
Free, no sign-up: up to 3 languages a run.
On this page
You made a game with ChatGPT, Claude, or Gemini and sent the link around. Then someone in a Discord server asks for it in Spanish, or a friend wants to share it with cousins in Korea. The game is one HTML file, and every word in it is in your language.
This guide shows how to add other languages to that file without breaking the game, what gets translated, and where the limits are.
Which languages are worth adding
Start with the languages your players already speak. If you don't know them, Poki, a large web game site, gives its developers an order: English, French, Italian, German and Spanish plus Turkish first, then Simplified Chinese, Japanese and Korean, then Brazilian Portuguese and Russian. Poki says translation matters most for "story games, clicker and idle games, quiz games, and anything where mechanics, items, or powerups are explained through text." A game that is all jumping and dodging gains less.
Small web games already do this. Q-Pop, a game on itch.io, went from 2 languages to 14, with Russian translated by a person and "ChatGPT (for all other new languages)". It picks its language "based on your browser settings", and players change it "in the upper right corner." That is the pattern Convika's translator copies.
Ask your AI, or translate the file
You can ask the AI that made the game to add languages. It works for a small game, but the AI has to write the whole file again, and a long game can come back shortened, with code it "tidied" along the way. If you go this way, ask for the whole file and test every screen:
Add Spanish and Korean to this game. Keep English as it is.
Put every sentence players read in one dictionary per language, and show
them through one function. Add a small language button in the top-right
corner, and open the game in the player's browser language when it has it.
Don't change anything else in the game.
Give me the complete game as one HTML file, from <!DOCTYPE html> to </html>,
with nothing shortened or left out.
Convika's free game translator takes the other route. It doesn't rewrite your game. It finds the text players see, has only that text translated, and adds one block to the end of the file: the translations, and a small script that swaps the text as the game shows it. Everything else in the file stays byte for byte as it was.
Translate the game in 4 steps
1. Add the game's file
Open the game translator. Choose Upload a file and drop in the game's .html file, or choose Paste code and paste all of it. The game has to be one file, with its scripts inside, up to 2 MB.
2. Pick the languages
Under Languages to add, pick up to 3 without an account. Convika can translate a game into 14 languages: English, Japanese, Korean, Chinese (Simplified and Traditional), Spanish, Portuguese (Brazil), French, German, Italian, Turkish, Russian, Indonesian, and Vietnamese.
3. Translate and play it
Click Translate my game and keep the tab open. Convika finds the text, translates it, and then plays your game in each language before it shows you anything. The result plays right on the page: tap the language button in the game's corner to switch.
Under the game, a line for each language says it was translated, or why it was left out.
4. Keep it and share one link
Click Keep this game, free and sign up. The translated game moves into your account as a page. On its screen, click Publish page, choose Public under "Who can open this page?", and click Next. The first time, click Publish free: the game goes live at once, with the Convika bar at the foot of the page. Everyone gets the same link, and each player sees the game in their own language.
What gets translated, and what doesn't
Most of the text in an AI-made game lives in its scripts, not in the page, so Convika reads both:
| Text in the game | Translated? |
|---|---|
| Text in the page: headings, paragraphs, button labels, the page title | Yes |
| Tooltips, image descriptions, and input placeholders | Yes |
Strings the scripts put on screen, such as "Game over" or `Score: ${score}` | Yes. The number in a template stays the game's own |
Text drawn on a canvas with fillText | Yes |
alert(), confirm(), and prompt() messages | Yes |
| Strings that are code: element ids, CSS, colours, URLs, storage keys | No, they're left alone |
| Text inside images | No |
If your code checks a label, as in if (button.textContent === "Start"), the check still reads "Start" while the player sees the translation. So the game keeps working.
One thing can stop a language. Some games build a sentence from pieces, like "You got " + n + " points". Convika can't always translate those as one sentence. When too much text stays in the original language, the language is left out, and the tool shows which lines stayed. It then gives you a request to send to your AI: write each sentence players read as one whole string, with a template literal where a number goes in.
What the AI sees
The AI gets the game's text, not the game. The text in the page goes as it is. Each string from the scripts goes with a few dozen characters of the code around it, so the model can tell a "Game over" message from an internal name. The translations come back as plain text for each line. The script writes them as text, never as HTML, so a translation can't add markup or code to your game.
How players get their language
Each time the game opens, the script picks the language in this order:
- A
?lang=at the end of the link:?lang=esfor Spanish,?lang=kofor Korean,?lang=zh-Hantfor Traditional Chinese. - The language the player chose before with the button, on that device.
- The player's browser languages.
- The game's own language.
The button sits in the top-right corner unless the game shows a score, lives, or a button there. Then it moves to a clear corner or the middle of a side, wherever it covers least. Its menu lists the languages and says the text was translated by AI, in the player's language ("Translated by AI", "AI 번역", "Traducido por IA").
So you can send ?lang=ko to a Korean group chat and the plain link everywhere else.
The check before you get it back
Convika plays the original game and each translated version in a phone-sized browser. It loads the game, presses the first button it finds (the start button in most games), and plays for a few seconds.
A language is left out when:
- the game shows an error in that language that the original doesn't
- too much of the text it showed stayed untranslated
- too many lines came back unusable, even after asking again
- the run ran out of time before that language was checked
Nothing broken is kept: you get the languages that passed, and a line for each one left out. AI translation still gets meanings wrong now and then, so have a player who speaks the language try it before you post it widely.
Limits
- Free, before sign-up: up to 3 languages a run, and 3 runs a day from one address. A run that ends with nothing to keep, because every language was left out or the file had no text, doesn't count against those runs, for the day's first few.
- With an account: one run translates into every language you pick. It's a 1-credit AI run, whatever the number of languages. A new account gets 10 AI credits once.
- Very text-heavy games have more text than one run takes and are refused before the run starts. The limit is higher with an account.
- The translated file must stay under the 2 MB page limit. Each language adds a copy of the game's text.
- Right-to-left languages such as Arabic and Hebrew aren't offered yet.
- Games split into several files need to be one HTML file first.
When you update the game later
A new file from your AI doesn't carry the translations. Upload it as the next version of the same page, as in updating your AI game without changing the link, then translate that version from the dashboard: open the page, then Page settings > Advanced settings > Other languages. Pick the languages again and click the Translate into … button. One run takes them all. It makes a new preview, and you publish it at the same link.
If you translate a version that already has languages, to add one more, the languages it has stay.
Frequently asked questions
Can I translate an HTML game without breaking it?
Yes, if the translation leaves the code alone. Convika's free game translator changes only what players read: it adds one block that swaps the text as the game shows it, and it plays the game in each language before you keep it. A language that makes the game show a new error is left out.
How do I add a language switcher to my HTML game?
Translate it with Convika's game translator, and the switcher comes with it: a small language button in a corner of the game. You can also ask your AI to add one, but it rewrites the whole file to do it.
Does the game open in the player's language by itself?
Yes. It opens in the player's browser language when the game has it, and in its own language otherwise. A link ending in ?lang= and a language code, such as ?lang=fr, opens it in that language.
Is the game translator free?
Yes, without an account, for up to 3 languages a run and 3 runs a day. With an account, a run into every language you pick is a 1-credit AI run.
Can I translate my game into Arabic?
Not yet. The translator offers 14 left-to-right languages today. Right-to-left languages need the game's layout mirrored, and they come later.
Sources
- Localization (Poki for Developers), read on October 28, 2026
- Q-Pop update 1.10: languages (itch.io devlog), read on October 28, 2026
Next step
How to password protect an HTML page without code, on your own domain
JavaScript passwords sit in the page code. Put an HTML page from ChatGPT or Claude behind a server-checked password on your own domain.
Related articles
- Made level 2 or fixed a bug? Update your AI game at the same linkUpload the new game file as the next version of the page you shared. Players open it at the same link, and their saves and the shared scoreboard stay.
- How to publish a game you made with ChatGPT so friends can play itPut a one-file HTML game from ChatGPT online for free and send friends a link. itch.io, GitHub Pages, Netlify Drop, CodePen, and Convika compared, with steps.
- Make a game with AI for free, no coding, and send friends a link they can playNo game-maker app needed: ask ChatGPT, Claude, or Gemini for a one-file HTML game, test it on your phone, and publish it free as a link friends can play.
- Earn from a game you made with AI: what works todayPlayers rarely pay for a free web game. What earns: a support button, a link to your own payment page, a sponsor slot, and ads on your own domain.
- Add a leaderboard to your AI-made HTML game without a serverAsk your AI to save scores with window.storage and shared: true. On a Convika page, every player reads and writes the same board, with no backend of your own.
- Fix an AI-made HTML game that works on a computer but not a phoneFix touch controls, offset taps, unwanted scrolling, and silent audio in an AI-made HTML game. Includes repair prompts, code, and a phone test checklist.