Language DLLs

Editing the language.dll

by Dark Archer

During the drafting stage of my first article about the language.dll I was told that the main content of my article should be how to edit it. That was not the purpose of the article I had previously wrote but the idea was a good one so I have now decided to write a second article about the language.dll. This time it is a detailed article on how to edit the language.dll and other relevant information.



  • Pre-editing
    • Equipment you will need
    • Information you should know before you edit the language.dll
    • Reasons for editing the language.dll
    • Tricks that can be in language.dll
    • Summary


  • Editing
    • Different parts of the language.dll and languagex.dll
    • How to edit
    • Editing limits
    • Summary


  • After Editing
    • Storage ideas
    • Shipping
    • Summary


  • Conclusion


Equipment You Will Need

You don’t need a lot of equipment to edit the language.dll and fortunately they should all be available to you now or soon. First of all the obvious things you will need are a computer (whichever one you use to play Age of Empires on)and the Age of Empires (AoE) language.dll or the Rise of Rome (RoR) languagex.dll but you will also need a Unicode editor to actually edit the language.dll. You can get a free Unicode editor from the granary at Age of Empires Heaven (AoEH) after that you will have all the equipment you will need to start editing the language.dll.

Information You Should Know Before Editing the Language.dll

If you are using a hex editor you must only overwrite information in the language.dll you must not delete or add ANYTHING or your game WILL NOT WORK. This is why I suggest you use a Unicode editor as you can add things without worrying about damaging your game. With a Unicode editor you won’t need to worry about dots or spaces you would if you were editing with a hex editor. 
Also it’s a good idea to make a back up of your language.dll before you edit it in case you accidentally delete something but if you forget to make a backup you can always get the language.dll off your old AoE CD or the languagex.dll off your RoR CD.

Also you must realize that not everyone will install your edited language.dll for one reason or another, so any story you write must have reference to the original language.dll as well.

Reasons for Editing the Language.dll

An Edited language.dll adds a great atmosphere to a scenario or campaign and they can be made to help your creativity and story scores. Take my scenario Death of the Morads for example reviewer Richard Ames talks about a new trick I made using the language.dll. The trick is just on of many tricks that can be done with the language.dll, but more importantly it had been original and creative. I also think that there are a lot more tricks that have not been thought of yet so this is a great source of creativity in a campaign or scenario.

An edited language.dll can also be very helpful if you are making a mod for AoE.

Tricks that can be in an Edited Language.dll

One of the main uses of the language.dll is to change a hero units name (Hero Alexander to General Arkon), this gives a great atmosphere to any scenario or campaign you make and really enhances the story and can make a scenario or campaign more enjoyable to play. Another main use of a edited language.dll is to change in game messages like a computer player asking for tribute could be changed to be a greedy demanding a high tax or a computer enemy starting to build a wonder could become the enemy building a monument to the gods that will bring them strength, in this area you can be very creative and original.

Other less used tricks include having a edited message at the bottom of the menu where you choose if you want to play single player, multiplayer, look at the help, do some designing or quit and the new trick which uses the ? button helps to give a bit more information about the units that have been renamed. Remember for tricks with the language.dll there are a lot of thing that can still be done that people haven’t thought of you so try to think of new and different ideas.


In this section I told you that you would need a Unicode editor, mentioned some important information like not to delete or add anything and to make a backup of your language.dll, gave some reasons for edited language.dlls like to help a story or mod and finally I talked about tricks that can used in the language.dll including renaming units and changing computer messages along with some tricks which are not widely used. In the next section will actually talk about editing the language.dll and limits you will face when editing.


Different Parts of the Language.dll and Languagex.dll

For this sub-section I’m going to change format a bit so it’s easier to read. Also not all the sections are here only the ones that are really used for scenarios and campaigns. Please not that the character limit can change depending on the width of the characters you use (e.g. an I is slimmer than a M)


Computer Player Messages – Strings 2301 to 2313 – These are messages the computer uses some times like when you tribute them some resources. – Character Limit = 82

Units – Strings 5001 to 5343 – These are the unit names. If you want renamed units in your scenario/campaign you will have to look here. – Character Limit = 24

Build/Train Buttons – Strings 6002 to 6342 (with gaps) – These are the buttons you must press if you want to train a unit or build a building. – Character Limit = 197

Research/Upgrade Buttons – Strings 8001 to 8086 – These are the buttons you press if you wanting to research or upgrade something. – Character Limit = 197

? Button Help Messages (with gaps) – Strings 39465 to 39864 – These are the small help messages you get if you click on the ? button then on a unit, building, etc. – Character Limit = 475


Hero Hersifon – String 5314 – This is Hero Hersifon. My theory on why he is here can be found in my first article. – Character Limit = 24

New Units – Strings 5350 to 5371 – These are the new unit names. If you want renamed new units look here. – Character Limit = 24

Updated Train Buttons – Strings 6185 to 6340 (with big gaps) – These are the updated buttons you must press if you want to train old unit that needs a new button. – Character Limit = 197

New Train Buttons – Strings 6350 to 6354 – These are the buttons you must press if you want to train a new unit. – Character Limit = 197

Updated Research Buttons – Strings 8030 to 8072 (with big gaps) – These are the buttons you press if you wanting to research something that has been updated – Character Limit = 197

New Research/Upgrade Buttons – Strings 8090 to 8086 – These are the buttons you press if you wanting to research or upgrade something new. – Character Limit = 197

Updated ? Button Help Messages (with gaps) – Strings 39774 to 39864 – These are the small help messages you get if you click on the ? button then on a updated unit, building, etc. – Character Limit = 475

New ? Button Help Messages (with a gap) – Strings 39814 to 39832 – These are the small help messages you get if you click on the ? button then on a new unit, building, etc. – Character Limit = 475

How to Edit

This is the main reason for this article and with a Unicode editor it is rather simple to do. First of all you will need to find the part of the language.dll you want to edit (Units), this can be easily achieved by using the go to option under edit (this feature is in the Unicode editor in the granary) to go to the string which starts part of the language.dll you want to edit (refer to the sub-section above). After you have found the area you want to edit then simply search though the list of what ever it is that you’re looking at (Units) until you find what it is you want to edit (Hero Alexander) then just click on it and press the edit button, after that you just need to type in your edit and press OK. There are of course limitations but they will be explained in the next sub-section. There is nothing else to say here except that if you are using a hex editor to edit the language.dll it is a lot more complicated and complex to do, so I recommend that you just use a Unicode editor.

Editing Limits

This sub-section is going to be quite small but at the same time very important. The only limit you will face using a Unicode editor is the amount of characters (letters, numbers, etc.) you can use. Different sections show a different number of characters even if you type in say fifty characters of a unit you will only see twenty-four because that is the limit for that section. If using a hex editor don’t write over the dot or spaces or else you will get underscores in between the letters either side of the original space or dot (G_n_r_l_A_k_n) and you can’t add any characters.


This section was about editing the language.dll and I told you where to find different parts of the language.dll then moved on to talking about how to edit the language.dll by going to the part you wanted to edit then clicking on the button and making your edit. Finally I talked about the limits of editing the language.dll which were that you could only see a certain number of characters in each of the different sections. Also if you were editing using a hex editor not to write over the dots are spaces. In the next section I will talk about storage ideas for your edited language.dlls, shipping your edited language.dll and I will finish off with any other relevant information.

After Editing

Storage Ideas

Storing edited language.dlls isn’t hard and it can be quite useful if the language.dll is made for a campaign that you want to play again at a latter date. One way you can store language.dlls is to make a folder for each one then copy them in its own folder (Kings Language.dll Folder). The advantageous of this method is that you don’t have to rename the language.dll file so it’s then easier to install again the disadvantageous of this method is that you AoE folder will be full of folders if you like to edit the language.dll yourself.

Another way to store an edited language.dll is to just rename the language.dll so that a short or abbreviated is in front of the language (Kings language.dll or DotM language.dll). Advantageous of this method are that you don’t have to move your edited language.dll around and there are no folders involved but the main disadvantageous are that you still have clutter and the different language.dlls are completely unorganised.

The final way I’ll be talking about is to combined the previous two methods in which you make a folder (Edited language.dlls) then you rename any language.dlls you edit (Kings language.dll, DotM language.dll) then you just moved the renamed language.dlls into the folder that you made. This is the method I use because it has the advantageous of not being spread out every where and there is only one folder which makes it easier to find different language.dlls, there are the disadvantageous of having to rename then move the different language.dlls but this is a small price to pay to keep my work organized and easy to find.


Shipping is very similar to storage in the fact that there are about three ways to do it and two of them are exactly the same as storage ideas. The first way you can ship your edited language.dll is to just leave your language.dll and zip it up with your campaign or scenario. If you do this you must warn people not to unzip it straight into there main AoE folder and to make a backup of there original language.dll, this method is often used by Andrea Rosa. The next way you can ship your edited language.dll is to put it in its own folder within the zip therefore people can’t accidentally install it into there main AoE folder and overwrite there original language.dll. Again as with all language.dlls you will need a warning so people can make a choice about if they want to install the edited lanuage.dll or not, to my knowledge no one has used this method but it was suggested be Richard Ames during the drafting period of my first article. The last shipping method is to rename the language.dll then to send it along in the zip. If this is the method you chose to use then you will probably need some instruction on how to install it in which case you can use mine which are in all of my submissions to the granary just don’t alter any text of course you will also need a warning about the edited language.dll again, as you may have guessed this is the method I use because it means I don’t have to alter my edited language.dll’s name from storage to shipping.


This was the final section of my article and I talked about storage ideas and shipping. They where very similar topics and used the same ideas some of the time like storing and shipping language.dll’s in a single folder, by renaming them and renaming them then putting them in a single folder. The only part after this is the conclusion of my article.


This is the end of my article on editing the language.dll I hope you now take some time to do some editing especially if you are making a campaign or scenario because an edited language.dll can really improve the depth of your work and make it much more enjoyable to play. Of course don’t concentrate only on a language.dll and leave map design only do a language.dll if you feel the rest of your work is at its best. This is the last article I will do on the language.dll and I hope you can use the information I have supplied.

The Dark Archer

Pages: 1 2