Built for structured localization

Translate the words.
Never break the code.

A focused localization tool for Lua, JSON, and app language files. Translate into multiple languages while preserving every key, variable, and line of structure.

No account · no database · files are not saved

locales.lua
OriginalEN
Locales["en"] = {
  welcome = "Welcome, %{name}!",
  vehicle_stored = "Vehicle stored",
  open_menu = "Press [E] to open",
}
TranslatedFR
Locales["fr"] = {
  welcome = "Bienvenue, %{name} !",
  vehicle_stored = "Véhicule rangé",
  open_menu = "Appuyez sur [E]",
}
4 keys matched Placeholders safe Structure valid
Ready to download

100+

languages ready

4

developer file formats

12

languages per run

How it works

Three steps. Nothing else in the way.

The workflow is the product upload, choose, translate.

01
Add your file
Drop in a Lua, JSON, JavaScript, or TypeScript localization file—or paste your code.
02
Pick languages
Search the complete language list and select every locale you want to generate.
03
Review and export
The translator handles the text while LocaleForge checks keys, variables, and code structure.

Built for code

Translation that understands what not to touch.

General translators see words. LocaleForge sees a file your application must still be able to run.

Try the translator
Placeholder protection
Variables like %{name}, {{count}}, and ${value} remain exactly where your code expects them.
Structure-aware
Only readable strings are translated. Keys, nesting, comments, and formatting remain intact.
Made for one-off jobs
No account, workspace, database, or setup flow. Open the translator and get the files you need.
Private by default
Files are processed for your request and are not saved to a user profile or translation history.
Supported formats

The files behind FiveM, RedM, web apps, and games.

Start with Lua or JSON. JavaScript and TypeScript localization objects work just as well.

Lua.lua
JSON.json
JavaScript.js
TypeScript.ts

FAQ

Good to know before you translate.

Are my files stored?
No user account, project history, or translation database is used. The file is processed for the current request.
What does the translator change?
Only human-readable strings. The translation instructions explicitly protect keys, placeholders, comments, and structure.
Can I edit the result?
Yes. Every generated file opens in a full Monaco code editor before you download it.
Can I translate several languages?
Yes. Select multiple languages, review each result, and download them individually or together as a ZIP.

Ready to localize your file?

Open LocaleForge