To modify executable files (*.exe) or dynamic link libraries (*.dll) you need an appropriate resource editor.
Principally you can use any resource editor you like. If you are not already used to a particular one, try these:
Since both Resource Hacker™ and XN Resource Editor have their strengths and weaknesses, it is recommended
to get both in order to ease your work. Both applications are freeware and neither of them requires an installation.
Just download the zipped versions and extract them on your harddrive wherever you like.
-
What files do I have to edit?
-
K-Meleon 1.1
You have to edit the K-Meleon localization DLL (kmeleon.dll) which is meant to translate the
K-Meleon executable (k-meleon.exe), and all K-Meleon plugin localization DLLs which are meant to
translate the K-Meleon plugin DLLs (located in \kplugins). At least the following files (as far as
existent):
- locales\xx-YY\kmeleon.dll
- locales\xx-YY\bookmarks.dll
- locales\xx-YY\favorites.dll
- locales\xx-YY\fullscreen.dll
- locales\xx-YY\history.dll
- locales\xx-YY\hotlist.dll
- locales\xx-YY\privacy.dll
- locales\xx-YY\sessions.dll
Where xx-YY is meant to be your localization's language code (e.g. de-DE for German or zh-CN
for simplified Chinese).
-
K-Meleon 1.0
You have to edit the K-Meleon localization DLL (k-meleonloc.dll) which is meant to translate the
K-Meleon executable (k-meleon.exe), and all K-Meleon plugin DLLs that contain resources. At least
the following files (as far as existent):
- k-meleonloc.dll
- kplugins\bookmarks.dll
- kplugins\favorites.dll
- kplugins\fullscreen.dll
- kplugins\history.dll
- kplugins\hotlist.dll
- kplugins\layers.dll
- kplugins\macros.dll
- kplugins\privacy.dll
- kplugins\sessions.dll
-
What resources do I have to edit?
You have to edit all string resources. In particular these are resources of type (as far as existent):
- Dialog
- Menu
- String Table
- Version (Info)
-
Where do I start and how do I go on?
If you don't have any experience in editing resources, it is recommended to read the help file of
Resource Hacker™ before you start. Alain Aupeix' Tips & Tricks for
that application may also be beneficial to read.
Edit one file after the other. It is recommended to start with the K-Meleon localization DLL
(kmeleon.dll or k-meleonloc.dll) since the K-Meleon plugin (localization) DLLs may partly contain the same
resources.
For each file you edit, it is recommended to go on as follows:
- Translate Menus and String Tables. That's easy. You can do that with Resource Hacker™ or
with XN Resource Editor. Simply use the application you like best.
- Translate Dialogs. That's the most difficult part because it may be necessary to resize and move
some dialog controls. When you have some experience, you will notice that this job is done more straight
forward with Resource Hacker™.
- Change the language of the resources you translated to the language you translated to. This job is
done most conveniently with XN Resource Editor. Simply right-click a resource, choose 'Properties' and
select the desired language from the drop-down list.
- Optionally, export all the file's resources that you've edited. It is recommended to do this job
using Resource Hacker™. Select a resource and then choose 'Save Resource as a *.res file ...'
from menu 'Action'. Consider to keep a backup of your *.res files in a safe location. You can then use
Resource Hacker™ to recycle your translation later when a new version of K-Meleon is released.
- Optionally, keep a backup of the original (en-US) file in a safe location. This may ease up your
life when you have to update your translation later (see below).
-
How do I update my translated binaries?
Once you've translated the K-Meleon 1.1 resource DLLs, you will run into the
situation that these DLLs are updated and then you have to update your translation.
The first problem to be addressed then is to find out what has actually changed. This can be done easily
when you've kept backups of the original (en-US) files that you've translated last. For each DLL go on as
follows:
- Open the old en-US DLL in Resource Hacker™, choose 'Save all resources ...' from
menu 'Action', navigate to an appropriate directory, specify e.g. 'old' as the file name and save the
file. This will then create a (text) file named 'old.rc' which contains the DLL's resources in a human
readable format.
- Repeat the previous step with the new en-US DLL specifying e.g. 'new' as the file name (you can save
to the same directory).
- Now compare the two files created in the previous steps using a file comparison tool such as CSDiff.
- Finally, update your old xx-YY DLL according to the differences the file comparison tool is showing
you.
Note: The K-Meleon executable (k-meleon.exe) is checking a version string in kmeleon.dll or
k-meleonloc.dll respectively (String 62000 in String Table 3876). Make sure that this version string
matches the version number of the executable. A 1.1.x executable won't load a 1.0.x DLL.