mIRC Home    About    Download    Register    News    Help

Topic Options
#264219 - 10/11/18 08:17 PM New stable release before adding the languages?
eahm Online
Ameglian cow

Registered: 25/05/18
Posts: 36
Hi Khaled, I just read the changelog of the latest beta and I am worried too many things will be added just for the languages feature and other things will eventually break when people start translating.

Shouldn't we get a stable release with all the 100% IRCv3 compatibility additions and maybe start a new let's say 8.x alpha/beta version that will add translations?

Thank you.

Top
#264220 - 10/11/18 09:49 PM Re: New stable release before adding the languages? [Re: eahm]
Wims Offline
Planetary brain

Registered: 31/07/06
Posts: 3438
Loc: France
I agree.
_________________________
Looking for a good help channel about mIRC? Check #mircscripting @ irc.swiftirc.net

Top
#264221 - 11/11/18 05:37 AM Re: New stable release before adding the languages? [Re: eahm]
Raccoon Offline
Hoopy frood

Registered: 18/02/03
Posts: 2504
I'm not sure how you can comment on how translation support is going to be implemented let alone how it would break things. I mean, what is the speculation founded on?
_________________________
doin� things a particle can

Top
#264222 - 11/11/18 08:48 AM Re: New stable release before adding the languages? [Re: Raccoon]
eahm Online
Ameglian cow

Registered: 25/05/18
Posts: 36
From the official beta changelog. He's concerned too this feature may break things if I read correctly.


Edited by eahm (11/11/18 08:48 AM)

Top
#264223 - 11/11/18 01:37 PM Re: New stable release before adding the languages? [Re: eahm]
Raccoon Offline
Hoopy frood

Registered: 18/02/03
Posts: 2504
I think what you are asking for is "a new mIRC 6.35". I don't think that's a route or crutch that any of us really desire. We don't like people who use 6.35 :P (roll with the punches).

My main concern and ask is that language support not be dependent on a compiled DLL which is accessible to a very limited FEW individuals who will bother to download Visual Studio or whatever excessively complicated and outdated development environment. But that the common man be able to make and edit translations from the comfort and familiarity of a PLAIN TEXT (.txt) file in Notepad. DLL is out of reach.

If a DLL is technically necessary, then let a helper DLL read from .txt files.


Edited by Raccoon (11/11/18 01:40 PM)
Edit Reason: let a helper DLL
_________________________
doin� things a particle can

Top
#264224 - 11/11/18 01:39 PM Re: New stable release before adding the languages? [Re: eahm]
Khaled Offline


Planetary brain

Registered: 04/12/02
Posts: 4297
Loc: London, UK
I agree, adding language support has turned out to be far more complicated than I expected. That said, the plan was to make gradual changes to the code in preparation for language support, so not all of the changes described in the changelog were intended to be made in this beta cycle. The "pending changes/issues" section lists some of my observations in case someone wants to make comments or suggestions.

The current beta includes code changes such as adjusting string resources, some re-wording, removing some start/end characters and placing them in code, etc. For the most part, I am fairly comfortable with these changes. The beta does not include any of the code relating to loading a language DLL or low-level parsing of resources to perform checks, etc.

The next stage will involve adding positional parameters to resource strings and converting all associated sprintf()s to sprintf_p()s. This will be a slow, time-consuming process as hundreds of string/code changes will be needed that require careful checks. I am going to leave this for the next version.

For now, I am going to go back to focusing on other changes for this beta cycle and hopefully release a new version later this month or next.

Top
#264225 - 11/11/18 01:49 PM Re: New stable release before adding the languages? [Re: Raccoon]
Khaled Offline


Planetary brain

Registered: 04/12/02
Posts: 4297
Loc: London, UK
Quote:
My main concern and ask is that language support not be dependent on a compiled DLL which is accessible to a very limited FEW individuals who will bother to download Visual Studio or whatever excessively complicated and outdated development environment. But that the common man be able to make and edit translations from the comfort and familiarity of a PLAIN TEXT (.txt) file in Notepad. DLL is out of reach.

It most definitely will be a DLL and it will require a resource editor to edit. It should only be accessible to those who have some technical knowledge, understand resources and resource editors, undertand the importance of maintaining sprintf() parameters such as %s %d etc. in strings, and so on.

The format of the resources in mIRC can affect how it works. No one should simply change the resources on a whim. I haven't looked into it yet but it may even be possible that this could open up security issues once it becomes a feature. Someone could potentially create a custom resource file that they have changed in order to create an exploit. This is one of the reasons why I searched for code that parses resources at a low level (which is something I would have rather avoided because it is beyond the standard Windows API and involves custom code that might break in future) in order to compare and validate external resources against internal resources, eg. check that strings contain the correct _sprintf() % parameters to mitigate crashes. This does make me wonder whether all language DLLs should be approved, digitally signed, and distributed only through the mIRC website.

Apart from that, what you are suggesting would require implementing custom low-level routines to recreate resources from text, something which is complex and so rarely done that it would be a project in itself. It was hard enough finding code that low-level reads resources correctly in order to perform validation checks. Your suggestion would add a whole other layer of complexity - loading the text file, parsing it for resources, recreating resources from it on demand, and so on. Thanks but I am going to stick to using the standard Windows APIs :-)

Top
#264226 - 11/11/18 01:56 PM Re: New stable release before adding the languages? [Re: Khaled]
Raccoon Offline
Hoopy frood

Registered: 18/02/03
Posts: 2504
Originally Posted By: Khaled
It most definitely will be a DLL and it will require a resource editor to edit. It should only be accessible to those who have some technical knowledge, understand resources and resource editors, undertand the importance of maintaining sprintf() parameters such as %s %d etc. in strings, and so on.

I don't know if I agree that tool access necessarily denotes technical knowledge. I trust that most mIRC users, scripters and tinkerers who would edit a string containing %s and %d can understand their meaning from context alone, and make those changes without further aid or fitness testing. And if they do make a mistake and cause mIRC to crash, that's how they learn, improve and grow.

Don't name the files .txt but leave them with a blank or .lang extension if you wish to discourage accidental whoopsy-doodles.
_________________________
doin� things a particle can

Top
#264227 - 11/11/18 02:21 PM Re: New stable release before adding the languages? [Re: Raccoon]
Khaled Offline


Planetary brain

Registered: 04/12/02
Posts: 4297
Loc: London, UK
I am afraid it has to be a DLL. The idea of writing custom code that low-level creates accelerator, dialog, menu, and string resource templates from text files, in other words - my own resource compiler, is just too mind-numbing to even contemplate :-] This is not open to discussion.

Top
#264231 - 11/11/18 05:21 PM Re: New stable release before adding the languages? [Re: Khaled]
eahm Online
Ameglian cow

Registered: 25/05/18
Posts: 36
Originally Posted By: Khaled
For now, I am going to go back to focusing on other changes for this beta cycle and hopefully release a new version later this month or next.

Awesome! Thank you.


Edited by eahm (11/11/18 05:22 PM)

Top