Belum ada versi bahasa Indonesia, jadi tampil dalam bahasa Inggris.

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.

Translate my game

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.

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 gameTranslated?
Text in the page: headings, paragraphs, button labels, the page titleYes
Tooltips, image descriptions, and input placeholdersYes
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 fillTextYes
alert(), confirm(), and prompt() messagesYes
Strings that are code: element ids, CSS, colours, URLs, storage keysNo, they're left alone
Text inside imagesNo

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:

  1. A ?lang= at the end of the link: ?lang=es for Spanish, ?lang=ko for Korean, ?lang=zh-Hant for Traditional Chinese.
  2. The language the player chose before with the button, on that device.
  3. The player's browser languages.
  4. 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

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

More ways to send your page

Share this article

Let players read your game in their own language

Drop in the HTML file, pick the languages, and play the result before you keep it. Your code stays as you wrote it.

Translate my game

Free, no sign-up: up to 3 languages a run.