As you might imagine, playing at GC and all, people from many different countries like to play BF2. EA has to, therefore, distribute the game in different languages and dialects so that everyone can play it without getting too confused about what's going on. The BF2 Localization files do exactly that: they tell the game how to label events, buttons and menus so that the player can read it.
For those curious: these files do not interfere with regular gameplay at all, except by putting different text on the screen (harmless). PunkBuster does not scan these files, so don't worry about having your CD key banned.
Getting Started!
I know you're excited to get started, but there's one step every computer person will tell you to do before you ever change anything: BACK UP YOUR FILES!
I've never had a problem with changing the text in this, but that doesn't mean it doesn't happen. If you're changing 20 lines at a time and suddenly something in the game looks really really funky, it's going to be a pain to try and figure out what went wrong and then try to fix it. Honestly.. just open up Windows Explorer, select all the files and copy/paste them into a new directory. DO NOT ADD FILES TO THE DIRECTORY, it'll confuse BF2 and you'll start to get problems! Put your backups in a new place away from the BF2 folder... like in a new folder on your desktop, or in My Documents.
Have you backed up your files correctly? Are you sure?
Okay, good! Let's continue!
The localization files are found in the folder:
\Program Files\Battlefield 2\mods\bf2\Localization
There are a number of different folders here, each representing a different language your game is prepared to play for you. I've always been kind of curious to see what it would be like to play in Chinese, but I'm paranoid that I can't get it back to English after, haha...
Choose the directory that your game is using (English for me) and in there you should see six files: English.utxt, English_autorun.utxt, english_mappack_ht.utxt, english_mappacks.utxt, English_Patch.utxt, and XPEnglish.utxt. As you may have guessed, the .utxt files are the localization files
Open up English.utxt in Notepad (or German.utxt, or Chinese.utxt, or SwedishChef.utxt, or whatever language you're using). I recommend using Notepad because it's a very basic text editor... you don't have to worry about it adding random hidden text/codes into your files like Word loves to do.
What Not To Change!
When BF2 is running, it does not each line into memory in any specific order. Instead, it uses a variable name to call an individual line that it happens to need. If you remove or rename the variables, the game will no longer be able to find the line! If the game can't find the line it's looking for, bad things happen! The variable I'm talking about is the first word of the line... let's look at an example:
See the "HUD_HELP_SQUAD_squadCreated" bit? That's the first word in the line and is the variable I'm talking about. When you go into the game and create a new squad, the game jumps to this file and says "okay, I need the text from HUD_HELP_SQUAD_squadCreated". You don't want the game to start getting confused because it can't find what it's looking forEnglish.utxt, Line 11 wrote:HUD_HELP_SQUAD_squadCreated You have created a squad
However, you can change the rest of the text into basically whatever you want. Get creative! Here's an example of an updated squad creation text:
Now each time I create a squad in game, I get a little motivational boost on the screen. How nice! Thank you, game - I will give them hell!English.utxt, Line 11, edited correctly wrote:HUD_HELP_SQUAD_squadCreated Give 'em HELL, Squad Leader Goggles!
ALSO - leave those arrows/boxes in as well! Just change the text between them, and save yourself some pain
Text References
Please note that these only work on some lines and not others. There's no easy way to predict where it does and doesn't work, so trial and error is your best bet.
While editing, you might want to make references to things you don't know for sure yet. Such as a person's name, a weapon used, etc. You can access this stuff using the below references. The list is probably incomplete, but it's a start
#PLAYERNAME1#
#PLAYERNAME2#
#WEAPON#
#TEAMNAME#
#AWARD#
#MEDAL#
#CPNAME#
Commonly Changed Thingies
· Team Kills!
Var: HUD_HUD_KILLEDBY_TEAMKILLS
When I was TA'ing C8, it was a little frustrating to see the [Teamkills] text in the game text and not know if I should kick them or if it was some silly mine/claymore accident. Now we have the power to add a little tweak so we can see what weapon was used to kill the teammate!
Let's pretend we are on the EU server, pre-live, and I decided to be sneaky and put mines down on a road. Then Chefcook jumps in a jeep, puts the Muppet Themesong on the radio really loud and goes driving for fun. I yell "careful Chef, I put mines down! Look Out!" but he can't hear me because Kermit's singing! BANG! You see the message:English.uxt, Line 174, original wrote:HUD_HUD_KILLEDBY_TEAMKILLS §0#PLAYERNAME1# [§1Teamkills§0] #PLAYERNAME2#
GogglesTheyDoNot [Teamkills] Chefcook
Now our TAs see that I TK'd someone have to wonder.. did Goggles do that on purpose? If they knew Chef died because of mines, then they might not kick me.. but with the current message there's no way of knowing unless they saw it happen!
Let's change that! I like not being kicked, teehee.
Notice that the in-game message uses our names, but the .utxt message is using the variables #PLAYERNAME1# and #PLAYERNAME2#. As you might have guessed, the game can't know who's TKing who until it's actually been done.. so those variables are merely placeholders that the game fills out when the time comes to do that We'll add another one of these placeholders in now: #WEAPON#
You'll notice that the game uses #WEAPON# in the line above the TK line... it tells us who killed who! Our TK line will be pretty much the same, except we want to show that it was a TK, too. So let's insert the #WEAPON# after the Teamkills bit!
I changed the [Teamkills] to [TK with #WEAPON#]. Now when you save this file, jump on a pubbie server, and get TK'd all over the place, you can see what weapon they used to do it! Neato!English.utxt, Line 174, updated wrote:HUD_HUD_KILLEDBY_TEAMKILLS §0#PLAYERNAME1# [§1TK with #WEAPON#§0] #PLAYERNAME2#
· Team Damage!
Var: HUD_HUD_TEAM_DAMAGE_PLAYER
Var: HUD_HUD_TEAM_DAMAGE_VEHICLE
Common changes made here are typically just an addition of the number of points you lose when these happen... but hey, it's a fun little thing to mess around with so see what you can do
· Teamwork Points!
Var: HUD_HUD_REPLENISH_GOT_HEALING_POINT
There are a couple other lines below the healing point one for revives, ammo supply, etc. People like to edit these lines to show what kinds of points they're getting added to their score for being good, helpful, teammates. Remember, healing and reviving is good!
· Weapon Names
Var: KILLMESSAGE_WEAPON_???
Replace the ??? with whatever weapon you want to change the name of.
This is Von Krieg's favorite little section... you can change it so that instead of the game saying: "1337Pubbie [Claymore] VonKrieg" it will say "1337Pubbie [Purse] VonKrieg". Sure, you're still dead.. but you made him look like a girl! Victory!
· Control Points
Var: AUTO_RULES_welostacp (lost CP)
Var: AUTO_RULES_welostacp_alt (alternative lost CP msg)
Var: AUTO_RULES_wecapturedacp (captured CP)
Var: AUTO_RULES_wecapturedacp_alt (alternative cap'd CP)
Not sure there's anything too special you want to change about the text, but it might be interesting to try and make it stand out a little more so you can quickly see what flags are being taken and lost during a big fight.
-- -- -- -- -- -- -- --
That's it for now! I'll edit this post as comments below request more information, or if I made mistakes, etc etc. I hope this is at least somewhat helpful and easy to read!
Cheers!