Brazil's biggest MU Online portal — since 2003
Tutorial Intermediate Client

How to translate the MU Online client into a new language

A step-by-step guide to translating the MU Online client into a new language: string localization, client text files, accented fonts, layout-break testing, and distributing the translation through the launcher.

RO Rodrigo · Updated on Nov 24, 2017 · ⏱ 14 min read
Quick answer

Bringing your MU Online server to a new audience often starts with translating the client: without it, players who don't speak the original language face a huge barrier to entry, even with a technically excellent server. The good news is that most of MU Online's text lives in files external to the e

Bringing your MU Online server to a new audience often starts with translating the client: without it, players who don't speak the original language face a huge barrier to entry, even with a technically excellent server. The good news is that most of MU Online's text lives in files external to the executable, which makes translation a content localization job, not heavy programming. This tutorial covers the full process: locating the right files, translating consistently, handling fonts and accents, testing layout breaks, and distributing the translation through the launcher.

Where the client's text lives

Before translating anything, map out where each text category is stored — file names vary by version/season, but the general structure repeats:

Text categoryTypical locationFormat
Item names and descriptionsData/Local/Item.txt or encoded .bmdTab-delimited text or BMD
Skill names and descriptionsData/Local/Skill.txtTab-delimited text
NPC dialogueData/Local/NpcTalk.txtTab-delimited text
Interface (menus, buttons, tooltips)Data/Local/Interface.txt or internal resourcesText or compiled resource
Map and zone namesData/Local/MapName.txtTab-delimited text
System/error messagesData/Local/MsgBox.txtTab-delimited text

Some older clients embed part of the interface in compiled resources (encrypted .bmd files). In those cases, you'll need a BMD editor to unpack, edit, and re-encrypt the content.

Tools you'll need

  • BMD/text editor compatible with your client version (for encrypted files).
  • Text editor with encoding support (to avoid corrupting accents).
  • A spreadsheet or simple database to track translation progress (what's already translated, reviewed, and tested).
  • A test client environment already set up, pointing to a test server.

Step 1 — Extract and inventory the text files

Unpack (if needed) the files in Data/Local/ and list all of them that contain player-visible text. A simple inventory prevents forgetting entire categories, like error messages or quest text, which often hide in less obvious files.

Data/Local/Item.txt        -> 100% mapped
Data/Local/Skill.txt       -> 100% mapped
Data/Local/NpcTalk.txt     -> 100% mapped
Data/Local/Interface.txt   -> 100% mapped
Data/Local/MsgBox.txt      -> 100% mapped
Data/Local/QuestText.txt   -> check if it exists in this version

Step 2 — Define the correct character encoding

Old MU clients typically use regional encodings (Windows-1252 for Western Latin languages, EUC-KR for Korean, etc.), not UTF-8. Before translating any file, confirm the expected encoding by opening an original file in an editor that shows the current encoding, and always save in the same encoding. Accidentally saving in UTF-8 for a client that expects ANSI is the most common cause of broken characters (shown as odd symbols) after translation.

Step 3 — Translate by category, keeping terminology consistent

Translate in blocks by category (all items, then all skills, etc.), without mixing them, to keep terminology consistent. Keep a fixed glossary from the start:

Original termChosen translationNote
ExcellentExcellentDecide whether to keep or translate, and apply it everywhere
AncientAncientSame consistency decision
WingWing
Guardian AngelGuardian AngelAvoid variations like "Guardian Angel of Mercy"

Terminology inconsistency between items and NPC dialogue is one of the errors players notice most, and it gives an impression of amateur translation even when the rest of the text is correct.

Step 4 — Handle character limits per field

Many MU client text files have a hard character limit per field (item names, for example, usually have a strict cap). Translations tend to run longer than the original in Portuguese — plan consistent abbreviations ahead of time instead of cutting randomly during translation.

FieldTypical limitStrategy if exceeded
Item name30-32 charactersAbbreviate common words (e.g., "Armor" → "Arm.")
Skill name20-24 charactersUse a shorter synonym
Interface tooltipVaries per UI elementTest visually and adjust

Step 5 — Adjust fonts for accents and special characters

If the client's default font doesn't correctly render accents (ç, ã, é) or characters from another alphabet, you'll need to swap the font file used by the interface (usually referenced in a client font config file) for a version that covers the needed character set. Test thoroughly: numbers, symbols, and punctuation, in addition to accented letters, to make sure nothing breaks.

Step 6 — Test at multiple resolutions

After translating, text can break the layout — overflow a window's border, overlap an icon, cut off a button. Test the full interface (inventory, shop, chat, character creation screen, settings menus) at least at two or three resolutions most used by your player base, since longer text tends to overflow boxes sized for the original language.

Step 7 — Review by a native speaker in game context

Literal translation of game terms often sounds wrong even when grammatically correct. A review by a native speaker who also plays MU Online (or similar games) catches these cases — terms like "Critical Damage Rate" translated too literally sound odd compared to terms already established in the MU community in that language.

Step 8 — Package and distribute through the launcher

Once validated, package the translated files and distribute them via a launcher update, the same way as any other content patch. If you plan to maintain multiple languages simultaneously, structure separate folders per language and add a selector in the launcher that chooses which file set to load before starting the client.

[Launcher]
DefaultLanguage = pt-BR
AvailableLanguages = pt-BR,en-US,es-ES
LanguageFolder = Data/Local/%LANG%/

Common errors and fixes

SymptomLikely causeFix
Accented characters show as symbolsWrong encoding when saving the fileSave in the original encoding expected by the client
Item name cut off or truncatedField character limit exceededAbbreviate consistently or revise the translation
Button or tooltip with overlapping textLayout not tested at the resolution usedTest at multiple resolutions and adjust text
Inconsistent terms between items and NPCsNo fixed glossary from the startCreate and follow a glossary of terms throughout the process
Players complain the translation feels "off"Literal translation without context reviewReview by a native speaker with game experience

Client translation checklist

  • Complete inventory of the client's text files.
  • Character encoding confirmed and kept consistent across all files.
  • Glossary of terms defined and consistently applied.
  • Character limits per field respected or handled with abbreviation.
  • Font adjusted to support accents/special characters.
  • Interface tested at multiple resolutions.
  • Review by a native speaker with game context completed.
  • Translation packaged and distributed through the launcher.

A well-made translation directly widens your server's reach and lowers the barrier to entry for new players, but it only delivers full value when the infrastructure behind the client and launcher is already solid — check the MU Online server creation guide if you're still building that foundation.

Frequently asked questions

Do I need to recompile the client to translate the text?

In most cases, no. Interface, item, skill, and NPC text lives in external text/data files (not embedded in the executable), so you just need to edit those files and repackage/distribute them. Recompiling is only necessary if you want to change fonts embedded in the code or text rendering behavior.

How do I handle accents and special characters the old client doesn't support?

Clients based on old encodings (ANSI/Windows-1252) may not correctly display certain accents or characters from languages with different alphabets. You need to confirm the encoding required by each text file and, for non-Latin languages, swap the font used by the interface for one that supports the needed character set.

Can I have two languages at once in the same client?

Yes, with a language selector in the launcher that swaps the loaded text file set before starting the client, or with a more robust i18n system that loads the correct file based on config. The simplest approach is to keep separate folders per language and have the launcher choose which one to use.

How long does it take to translate a full client?

It depends on the volume: a full translation of items, skills, NPCs, quests, and interface for a Season 6 client usually takes 40 to 80 hours of manual work, or much less with assisted translation tools and human review focused on game context.

Do I need to test the translation at every resolution?

It's highly recommended to test at least the resolutions most used by your player base, because translated text tends to be longer or shorter than the original and can break the layout of windows, buttons, and tooltips depending on the resolution.

RO
Founder & editor-in-chief

Rodrigo has run ViciadosMU since the portal's early days. A specialist in MU Online server creation and administration, game history and the evolution of the seasons — he wrote much of the archive before 2024.

Keep reading

Related articles