|
Joined: Oct 2023
Posts: 16
Pikka bird
|
OP
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
|
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
|
Ameglian cow
Joined: Feb 2023
Posts: 43 |
I would be very glad to translate it to Brazilian Portuguese 🇧🇷
|
|
|
|
Joined: Dec 2002
Posts: 5,477
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,477 |
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: 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,477
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,477 |
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.
|
|
|
|
Joined: Dec 2002
Posts: 5,477
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,477 |
Following up on the latest beta:
Thanks to Wollino for reporting the issue with the language DLL not being loaded correctly after the DLL had been updated with Resource Hacker. It turns out Resource Hacker was making a changes to some resources that mIRC had to take account of.
Regarding the dialog/control resizing issue:
As I mentioned in the beta.txt, most dialogs/controls are tightly sized/fitted to English words. It will be impossible for longer translated text to fit in many cases. Because of this, I have decided to resize every dialog (about 120 of them) and their controls to cater for generically longer text. This will mean that most dialogs will be larger, more spaced out, and more consistent in design.
In some cases, eg. the Options/IRC dialog, which has no space at all to properly fit larger controls, I may have to enlarge the Options dialog significantly, or move some items into new sections/dialogs. One other option is to change the Options/IRC/Options dialog to host a listbox of settings with checkboxes, to enable/disable different settings. On the plus side, this would allow me to add new settings in future without worrying about redesigning dialogs or squeezing controls into limited space.
In any case, this next stage of adding multi-language support is going to take some time :-]
|
|
|
|
Joined: Dec 2002
Posts: 5,477
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,477 |
The latest beta now has a set of redesigned dialogs that should hopefully make translation a lot easier.
All controls have been sized/positioned to allow much longer text without the need for the translator to resize/reposition dialogs/controls.
The only exceptions are button sizes, which are all now a standard 50x14. However, many of the buttons have been positioned in a way that allows them to be widened with no changes to layout. On my to-do list: implement a method that, for each dialog, will determine the needed button size based on the button text and will resize/shift buttons/button groups and resize dialogs as necessary.
Regarding translations:
I mentioned in the previous beta release that I had joined Crowdin to experiment with translations/resources. Looking at the amount of text that needs to be translated, this is going to take a lot of time and work for each language. I am wondering whether the best approach might be to get the resources professionally translated as a first step, eg. by Alconost, for a base set of EFIGS language support, and users can then provide feedback and updates to the translations over time. My main concern is that much of the text is mIRC/IRC/Scripting-specific and a translator would need to be aware of context and terminology, especially since there are so many context-less short strings. These translations can then be included in the release and would need to be updated before each release. In any case, something to think about.
|
|
|
|
Joined: Jan 2012
Posts: 321
Pan-dimensional mouse
|
Pan-dimensional mouse
Joined: Jan 2012
Posts: 321 |
I'm glad this is finally possible and will now be officially supported.
It will be interesting for me to take part and I am ready to translate mIRC into Russian language for all Russian-speaking users and fans of this IRC client.
This will take a lot of time, so I will make a dll-file with translation gradually, as free time appears.
|
|
|
|
Joined: Dec 2002
Posts: 5,477
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,477 |
With the release of the latest beta, it looks like the dialog/control layouts/designs have settled and are now capable of displaying longer translated text reasonably well. It is likely that changes will still need to be made once translations are available and we can see more clearly how the new dialogs handle them. At this point, it looks like a new version release would be a good idea, since it will be quite some time before translations are ready, so I plan to release a new version soon and will then focus on getting EFIGS translations prepared for the release after that. Thanks for your feedback everyone.
|
|
|
|
Joined: Jan 2012
Posts: 321
Pan-dimensional mouse
|
Pan-dimensional mouse
Joined: Jan 2012
Posts: 321 |
Khaled, you have done a great and difficult job. I like the way you did everything. After translation, everything often looks different, so sometimes you have to tweak, move or resize something to make the visual separation between different groups of parameters more aesthetically pleasing, but in general everything is well and conveniently placed by default. It has also become much more convenient to edit when, with any change in elements, the borders and indents in the dialog window automatically expand or decrease.
It would also be nice if you gave us access to the ability to add additional controls “GROUPBOX” and “TEXT” indicating display parameters, as well as place them in the right place. This will be useful for design, visual separation and creating a short description if necessary so that the user has a better understanding of the settings. Thank.
|
|
|
|
Joined: Jul 2024
Posts: 5
Nutrimatic drinks dispenser
|
Nutrimatic drinks dispenser
Joined: Jul 2024
Posts: 5 |
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.
|
|
|
|
Joined: Jul 2024
Posts: 5
Nutrimatic drinks dispenser
|
Nutrimatic drinks dispenser
Joined: Jul 2024
Posts: 5 |
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
Mostly harmless
|
Mostly harmless
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-IbQXXiALAJPndlv'
Pndlv'
|
|
|
|
Joined: Dec 2002
Posts: 5,477
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,477 |
The translation in german is now completed. Brilliant, thanks!
|
|
|
|
Joined: Dec 2002
Posts: 5,477
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,477 |
Here's my DLL for the french translation. Thank you! 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,477
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,477 |
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.
|
|
|
|
Joined: Dec 2002
Posts: 5,477
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,477 |
I have just released a beta that includes some changes to /langdll and the types of issues it detects in translated resources.
Looking through the current set of translations, it is interesting to see how different translators have translated certain words, especially acronyms and capitalized words. For example, where mIRC was using "Url", some translations show it as "URL" (which is what it should be). Plurals have also been translated in different ways. Some translators have separated colons ":" from text, when they really should appear exactly as they do in the original English text, eg. "* /command:" has been translated as "* /command :" with a space before the colon. This can actually affect how a string is processed in some cases, so /langdll -d now reports this as an issue.
I have tried to keep the number of changes to the resources in the beta as minimal as possible. You can see the differences between mIRC v7.77 and the current beta by running the beta and then typing:
//langdll -d mirc777.exe $mircexe
Where mirc777.exe is the release version of v7.77.
A translator can also check their DLL for errors by typing:
//langdll -d mirc777.exe mirc-your-dll.dll //langdll -d mirc-your-dll.dll $mircexe (when running the beta)
(The /langdll command parameters are /langdll -d oldversion newversion)
Any issues will be highlighted in red and prefixed with the word ""Error:".
Hopefully, we will iron out teething issues like the above over the next few releases, update/simplify resource strings to make their context clearer, and improve /langdll -d to cover more issues that translators need to look out for to make the translation process smoother.
|
|
|
|
Joined: Jul 2024
Posts: 5
Nutrimatic drinks dispenser
|
Nutrimatic drinks dispenser
Joined: Jul 2024
Posts: 5 |
I has included some modifications in the german dll, URL is now known as Link, this is the slang word in german. I would include some more fixes soon. I've seen some colons errors in the beta, but they are correct implemented and translated.
Regards,
WarPigs
|
|
|
|
Joined: Dec 2002
Posts: 5,477
Hoopy frood
|
Hoopy frood
Joined: Dec 2002
Posts: 5,477 |
Thanks, a few more checks have been added, and the issue with colons has been fixed. These changes will be in the next beta.
|
|
|
|
|