mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Oct 2023
Posts: 16
Pikka bird
OP Offline
Pikka bird
Joined: Oct 2023
Posts: 16
My idea is a Option to Translate the menues, dialogues and all other with editable Language Files.
I am also happy to take over the German translation ;-)


Best Regards from Germany
-=[atomic10]=-
Joined: Sep 2015
Posts: 7
Nutrimatic drinks dispenser
Offline
Nutrimatic drinks dispenser
Joined: Sep 2015
Posts: 7
...and I would like to translate (localize) mIRC into Italian.

Joined: Feb 2023
Posts: 43
Ameglian cow
Offline
Ameglian cow
Joined: Feb 2023
Posts: 43
I would be very glad to translate it to Brazilian Portuguese 🇧🇷

Joined: Dec 2002
Posts: 5,411
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,411
I have just released a beta with changes related to preparing mIRC for translation. Translating mIRC into different languages has been discussed more recently here and here. See my post in the last thread where it describes the last set of changes and potential issues.

I mention in the latest beta that:

Quote
A translator will need to be aware of a string's context,
format, and word order and the need to keep it as close as possible
to the original.

This actually applies to a very small subset of strings. Most strings can just be translated as required. However, with code spanning several decades, and across several hundred thousand lines, it is possible that some code will be looking for a specific format, word order, and/or spacing. This is something that we can only find out at a later time once a translation is completed.

To handle different languages, I have had to make changes to how certain types of strings are handled in an attempt to maintain script/ini/backward compatibility. For example:

In the Colors dialog, the color names are used by scripts, so they need to remain in English for internal use. But they also have translatable resource versions that are displayed in the GUI.

In the Windows/Order dialog, window descriptions in the listbox are stored as-is in the mirc.ini file, so must remain in English for backward compatibility and consistency across different languages. However, there are translatable resource versions of these strings which are converted to/from the English language versions in the GUI.

For window names, such as "Status Window", "Notify List", "Chat nick (address)", and so on, for internal use, these need to remain in English using that word order/spacing format. The latest beta separates these internal window name strings from window titlebar strings, so that the titlebar names are now translatable.

And so on.

My aim with the recent beta was to make as few changes to code logic as possible - to maintain backward compatibility - to move strings to resources where necessary - and to make the trickier internal/visible GUI/window strings translatable.

At some point, commands/identifiers will likely need to be extended and/or added to enable scripts to display/parse information using the chosen language.

I am currently performing tests on resource files/dlls, so mIRC is now pretty close to being translatable :-)

Joined: Dec 2002
Posts: 5,411
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,411
I have released a new beta that adds support for language DLLs. See beta.txt Item 27 for details.

I had to make a fair number of tricky implementation decisions in this beta; how to parse resources at a low-level, how the languages are presented to the user in the Display/Options dialog listbox, how the language DLL is created and initialized, filename format/language code parsing, resource DLL validity pre-checking, version info resource re-writing, and so on. I experimented with several different approaches - there is a lot going on under the hood.

To make life a little easier for translators, I added support for /langdll -m and /langdll -d. The /langdll -d resource compare method actually takes account of minor changes that Resource Hacker/Risoh Editor make to an updated DLL.

One change I am looking at for the next beta is allowing mIRC to change language DLLs without needing to restart. After looking through the code, I think this might actually be possible.

Outstanding issues: the dialogs will need resizing/controls repositioned/sized to accommodate longer strings. At this point, I am not sure what the best approach to this would be - leave it to individual translators - or perform a full revamp of all dialogs in such a way that the longest possible strings are accommodated.

One other thing to note: I plan on not changing any of the id values for resources from this point onwards. In the past, this was something I did for various reasons. From now on, all resource ids should remain fixed. The most that can happen is that a resource will be updated, added, or removed. v7.76 will be the resource baseline from this point onwards.

As this is the first beta with language DLL support, it will likely have bugs. If you have any questions, or come across an issue, please let me know.

Last edited by Khaled; 22/03/24 09:16 PM.

Link Copied to Clipboard