With the release of v7.77, mIRC now supports loading translated resources from external language packs/DLLs as described here.

If you are interested in translating mIRC, you can create a language DLL by following these steps:

  • Extract the translatable resources from the mIRC executable using mIRC's built-in command "/langdll -m". This will create a language DLL, "mirc-en-US.dll", in the languages folder.

  • Change the language code at the end of the filename to the target language code, eg. fr-FR, es-ES, and so on. The filename must use this format: it should begin with "mirc" and end with the language code "-en-US" and ".dll".

    Alternatively, you can use "/langdll -m [code]" to specify the language code, eg. for English US you can specify: 0x0409, 1033, or en-US. This then sets the language DLL name and the language for each resource section. Note that the DLL must be a single-language DLL. mIRC loads the resources as a neutral language.

  • Set mIRC to use your language DLL in the mIRC Options/Display/Options dialog.

  • Open the language DLL with a resource editor, such as Resource Hacker.

  • Edit and translate the strings in the menus, dialogs, strings, and accelerators sections.

  • Make sure that string specifiers, such as %s %S %d %ld %d and so on are the same in the translation. mIRC performs several checks when loading resources from a language DLL, including checking for matching sprintf() specifiers, id numbers, number of controls, and so on. If an external resource does not match the internal resource, the internal resource is used instead.

  • You can use the command "/langdll -d oldmirc.exe newmirc.exe" to list the differences between two versions of mIRC (or even languages DLLs) so that you can see which resources have changed and need to be updated. This list will also include "warning" messages if there are any errors.

  • If you find that mIRC is not using a translated dialog, string, etc. it may be that there is an issue with your translation. You can use the command "//langdll -d $mircexe mirc-en-US.dll" to compare the mIRC executable to the language DLL you are translating to check for errors.

  • You may need to resize dialogs and/or resize/reposition controls in dialogs if a translation does not fit. If you find that you need to do this, please let us know. We may apply this change to mIRC's standard dialogs fo support longer translated text.

  • If you have translated a language DLL into a particular language, please let us know by posting to this thread. We will review your language DLL and may add it to the language page on the website with credit to you as the author.

If you have any comments or suggestions regarding mIRC's language support, please let us know by posting to this thread.