mIRC Home    About    Download    Register    News    Help

Print Thread
#272687 11/06/24 06:23 PM
Joined: Dec 2002
Posts: 5,454
Khaled Offline OP
Hoopy frood
OP Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,454
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.

  • Issues to look out for:

    String specifiers, such as %s %S %d %ld %d and so on, must be present and in the same order in the translation.

    Strings that refer to commands or identifiers should not be translated, eg. "* /command:" or "* $identifier:".

    Colons ":" should not be separated by spaces, eg. "User:" should not be changed to "User :" The same applies to other types of punctuation.

    Many dialog titles begin with "mIRC". This should remain at the beginning of the title in the translation, since its purpose is to make it clear that the dialog is an "mIRC" dialog.

    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.

Last edited by Khaled; Yesterday at 10:51 AM.
Joined: Jul 2024
Posts: 3
W
Self-satisfied door
Offline
Self-satisfied door
W
Joined: Jul 2024
Posts: 3
I've created a translation to german.

The content can possibly incorrect partly tanslated, and it's a early translation.
I wish that other people helps to optimize this translation.

Sorry for my bad english, i understand it, but i can't write correctly.

#272766 04/07/24 11:34 AM
Joined: Jul 2024
Posts: 3
W
Self-satisfied door
Offline
Self-satisfied door
W
Joined: Jul 2024
Posts: 3
I've detected a small bug by modify the language in german, this failure is in the about window.
The following picture displays the issue:
[Linked Image from static.midiandmore.net]

Regards WarPigs

Joined: Jul 2024
Posts: 3
W
Self-satisfied door
Offline
Self-satisfied door
W
Joined: Jul 2024
Posts: 3
The translation in german is now completed.
Now it's time, to find grammar, and spelling problems.
Under the following link can you downlowad the dll, or you write a entry in the bugzilla.

Regards WarPigs

Joined: Jun 2024
Posts: 1
P
Mostly harmless
Offline
Mostly harmless
P
Joined: Jun 2024
Posts: 1
[fr-FR]

Hi everyone !

Here's my DLL for the french translation. There's few words/wordings that i kept like "flood" or "MOTD" and some other ( but translated when in a sentence because it made more sense to me anyway )
I had to resize some of the windows/buttons/text parts ( i forgot to write down which one, sorry. I'll try to find where exactly later )

Wetransfer link : https://we.tl/t-IbQXXiALAJ

Pndlv'


Pndlv'
Joined: Dec 2002
Posts: 5,454
Khaled Offline OP
Hoopy frood
OP Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,454
Quote
I've detected a small bug by modify the language in german, this failure is in the about window.
Thanks, this should be fixed in the next version.

Joined: Dec 2002
Posts: 5,454
Khaled Offline OP
Hoopy frood
OP Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,454
Quote
The translation in german is now completed.
Brilliant, thanks!

Joined: Dec 2002
Posts: 5,454
Khaled Offline OP
Hoopy frood
OP Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,454
Quote
Here's my DLL for the french translation.
Thank you!

Quote
There's few words/wordings that i kept like "flood" or "MOTD" and some other ( but translated when in a sentence because it made more sense to me anyway )
There are some difficult decisions to be made with some strings because they can refer to the English-based scripting language, or use standard IRC terminology or references to IRC commands, events, etc. which are generally in English. For acronyms, it's best to leave them as they are, eg. MOTD, CTCP, DCC, etc. and for scripting-related texts, eg. DLL, COM, and so on.

Of course, everything related to scripts, eg. commands and identifiers, has to remain in English, otherwise the scripting language would stop working. Perhaps the next big project might be to make the scripting language multi-lingual :-)

Joined: Dec 2002
Posts: 5,454
Khaled Offline OP
Hoopy frood
OP Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,454
I just thought I would add that Spanish and Italian translations are also currently in progress.

As mentioned in my previous reply, deciding which words to translate/leave in English can be tricky. It would be nice if we could compare different translations to try to maintain consistency between them. I am experimenting with Crowdin and may upload the resources for different translations there to see how that works and if it might make it easier for translators/users to provide feedback/updates/corrections.

Last edited by Khaled; 09/07/24 07:04 AM.

Link Copied to Clipboard