Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - LeoNeeson

Pages: [1] 2 3 ... 39
HFS ~ HTTP File Server / Re: Donate your Time for translate
« on: May 20, 2019, 03:12:53 AM »
@wenxin667: Hi! welcome to the forum... :)

Like SilentPliz said, translation to your language is easy (if you know English or French language). You only need to have some spare time and patience. Just read his instructions found here, or follow these steps:

1) Download Poedit from and install it.
2) Open the file located on "locale\zh\LC_MESSAGES\default.po"
3) Start translating all the strings from French to Chinese.
4) Attach the translated file on the forum, and voilá!  8)

If you don't understand (or have minimal) French knowledge, you could translate directly from English to Chinese, by copying the "default.po" located on "locale\en\LC_MESSAGES\" to "locale\zh\LC_MESSAGES\" and then editing the Poedit headers, changing "Language: en_GB\n" to "Language: zh\n". You have to do this 'header' edition using a text editor (and not using Poedit). Once you have edited the 'header', you can use Poedit normally.

If you find this process very complex, you can use the file attached on this post, HERE, and extract the file "default.po" to: "locale\zh\LC_MESSAGES\" (but only use it as a reference, since SilentPliz is continuously updating his files). This is how I translate from English to Spanish (I don't use the pre-translated Spanish file at all, since it has many errors, and I prefer to translate every string directly from English).

I also want to translate into Chinese. :)
The latest version (2.3m) allows to translate in part HFS with a file named hfs.lng
LeoNeeson may be able to tell you more about the creation / use of this file.

If you don't need the TLS/SSL support, you can (since version 2.3m) translate the original HFS into any language, by simply editing a text file named hfs.lng. You could start translating HFS into Chinese language, by downloading first THIS English file, and translating every word after the "=" symbol. To do it, you need to use a Unicode text editor, like Notepad++.

For example:

English (Original):
; Kryvich's Delphi Localizer Language File.
; Generated by K.D.L. Scanner, 02/11/2017 23:53:13


Caption=Customized options

pages.permTab.actionTabs.newaccBtn.Caption=New account
pages.permTab.actionTabs.anyAccChk.Caption=Any account

Chinese (Translated):
; Kryvich's Delphi Localizer Language File.
; Generated by K.D.L. Scanner, 02/11/2017 23:53:13




You will also need to have a good knowledge of English to do the translation. When you have completed the translation of the hfs.lng file, then upload it in the forum. And feel free to ask any question if you have any doubts on how to translate this.


HFS ~ HTTP File Server / Re: Donate your Time for translate
« on: May 12, 2019, 09:58:05 AM »
Hi everyone, it's weekend!!... :D

@SilentPliz: Spanish translation status: I'm sorry that it has taken me so long to write something. On the last month almost had no time to dedicate on this (even to read emails and forum posts), and all because having too much work on my daily life. I can't promise when I will finish the translation (perhaps at the end of this month or some time on June), but I will continue doing the Spanish translation whenever possible (as much as my free time permits). :)

Updated 07-05-2019

I appreciate your work. I always be using and applying to my translation the latest 'default.pot' that you publish (thanks) :)


HTML & templates / Re: Responsive small screen template
« on: April 10, 2019, 11:40:00 AM »
I tried it with chromium 30 and I found, when you in windows explorer copy hfs.diff.tpl in your root, it don't work (it doesn't load hfs.diff.tpl),
but when you in hfs copy the code from hfs.diff.tpl to properties-diff template it works :)
I don't know why.
Yes, it's true. I'm glad you also found this error. I've already reported that "hfs.diff.tpl" doesn't work on root HERE, but I didn't get any reply about it. The normal behavior is that "hfs.diff.tpl" should work on root too. I hope Rejetto get attention to this.

HFS ~ HTTP File Server / Re: Donate your Time for translate
« on: April 10, 2019, 11:30:23 AM »
Updated 9-04-2019
About Warning message (message box) ... OK  ... Done !
"Très bien!" :D I've tested and everything is looking great.

(By the way, :-[ I feel sorry for having very little time these week to spend on translating, but so far everything is going well (it's going more slow that I would want to). I hope someone else join on the Italian translation too)


HFS ~ HTTP File Server / Re: Donate your Time for translate
« on: April 08, 2019, 06:22:45 AM »
Tested and everything is OK now! :)

» Question: Is normal the the 'stable' version (not the 'trad' version), also makes a 'locale' folder by default? (because if the user wants to edit the language, he can use the yellow button to extract the translation files). I see no point on extracting the files by default on that version, since that's the function of the 'yellow button'. If the 'locale' folder is found, then the program would use it, but if not, then it could use the 'internal' embedded files. What do you opine?...

» Small idea: On the 'stable' version, the 'yellow button' could show a 'yes/no' warning message (similar to the SSL button), and if the user answer 'yes', then all the translation files are extracted. It could be a message like: "Do you want to enable the 'translator mode'?. If you answer yes, then you could translate the locale files using 'Poedit' (which you can download from If you already had a 'locale' folder, clicking on 'yes' will overwrite those files. Do you really want to extract the files?...". It's much nicer that way, and more informative. :)

» Another very, very small detail found > Steps to reproduce it:
Set language to English, then press the yellow button. This extracts the locale files (that's OK), but then all the program sets the text to French (but still showing 'English' on the language selection menu), and that's wrong. But if the user restarts the program, the English selection is remembered (that's OK), and everything is back to normal again. I don't know if there is a solution for this or not. Anyway, is not important.

(Do not feel obligated to release a new build for every detail you fix, you can leave those fixes for another future revision)

With "captions" of this size, you will be able to put all the HFS user manual on one line.  :P
Yes, I know... ;D (but all that free space can now be used, and not to worry about not having space to translate) 8)

HTML & templates / Re: Responsive small screen template
« on: April 08, 2019, 06:20:15 AM »
I forgot to say, you must additional add the hfs.diff_oldbrowser.tpl (or add the script at the end).
At least on Chrome 30, the problem continues (it doesn't work those 3 buttons). It's very strange (I'm doing all correct: I'm using 'hfs.diff.tpl' from "", overwriting the files of '').

You can download HERE a portable version of Chrome 30 to make some tests (here you will find more portable versions to make tests). Using Chrome 30, you will see in the console some errors (for example: "Uncaught ReferenceError: del is not defined").

The polyfill doesn't work with IE11 (because  needs Promise is polyfilled of course!)
I didn't know IE11 not had Promises. Perhaps that's why on Chrome 30 fails those 3 buttons: 'archive', 'delete' and 'upload' (since Chrome 30 doesn't support promises).

I've found HERE a extremely lightweight 'Promise Polyfill' that works with IE8+, Chrome, Firefox, IOS 4+, Safari 5+ and Opera. This polyfill makes promises work on browsers that natively doesn't support it...

I've tried modifiying your 'mobil-light_V4.5.tpl' and adding the folowing (marked in red color):
<script src=""></script>
<script src=""></script>


...and now it works on Chrome 30 :) (untested on IE11), but the 'archive', 'delete' and 'upload' buttons continues failing. There must be something else to modify (to make it work with Chrome 30).

Perhaps if you embed the content of those 2 polyfills in your code (and do some small tweaks), you can make only one version that works on any browser.

HFS ~ HTTP File Server / Re: Donate your Time for translate
« on: April 07, 2019, 10:54:35 AM »
Thanks! Now the SSL tab is OK on low-resolution screens. :)

» Small details/issues:

A) I've noticed (on the 'stable' version, not the 'trad' version), that the languages menu have the 'Anglais/English' option with the 'Spanish' flag icon. And if you start switching/changing the languages (several times), the flags goes crazy (it looks like there is an error there). The 'trad' version doesn't have this issue.

B) The size of captions, in most of the options found in 'Accueil' > 'Propietes' > 'Attributs' are short (this limits the space of the translated text). For example: Caption = 'Parcours permis' (found in the file: filepropDlg.dfm) has a very small Width = 96. Most of those CheckBoxes have a width of 249, but they can have twice that size (a width of 500 would leave more than sufficient space for most languages). This also happens on Rejetto's build (rejetto: take note of this, if you read this).

Anyway, you can leave those fixes for another revision (there is no need to release another build just for that, since this those are very small details, not important). I'll report if I find anything else... ;)


HTML & templates / Re: Responsive small screen template
« on: April 07, 2019, 10:42:45 AM »
Now it works beautifully on old browsers! 8) (with some details)

Design/Layout .... Okay.
Search function .. OK, it works.
Login function ... OK, works fine.
Archive button ... No, it does nothing.
Delete button .... No, it doesn't delete.
Upload button .... No, nothing gets uploaded.

» Summarizing: the 'archive', 'delete' and 'upload' button doesn't work on the 'oldbrowsers.tpl' version (I already know that file selection is done clicking on the time-stamp, but even selecting a file or folder those buttons doesn't work). Otherwise than that, great work!... :)

» Researching: I noticed you used 'XMLHttpRequest GET' instead of 'fetch' to add support to legacy/old browsers. This is great, but doing this you have to release a special version for old browsers every time. My main idea/suggestion was using a 'polyfill', and after doing a search, I've found THIS:

Code: [Select]
<script src=""></script>
I've added that line on your normal 'mobil-light_V4.4.tpl' (you can directly embed THIS file content on your template), and the page loads fine now on old browsers. Using this polyfill the buttons loads okay, but the files and folders are not shown. Perhaps doing some small tweaks, that polyfill can work with your original 'fetch' code (and that way you get the best of both worlds: you can continue using 'fetch', and when 'fetch' is not supported by the browser, that XHR polyfill does the rest).

On my search on internet, I've also found two interesting articles: Why I still use XHR instead of the Fetch API (and how to use a Promise-based XHR). A very nice read, even for 2019 (this blog also has very nice articles!).

HTML & templates / Re: Experiments
« on: April 07, 2019, 10:34:15 AM »
Here are 2 new user-interface experiments. 
I claim that they are non-working.  Tiles and Stripes are developmental status. 
I've tested your experimental templates. Tiles.tpl looks great as an image gallery, but on normal file listing, Stripes.tpl look better.

Hi! :) this question is more for Mars, SilentPliz or Rejetto (than for me), but I could give you a possible "orientation". I'm not expert on macros, but I think this could be done by using HFS's macros. First, you should make (with a text editor) a file named "" (and save it along to "hfs.exe").

The contents of that "" could be something like (this is just a crazy theory, NOT actual working code):

Code: [Select]
{.if|{.header|{.is substring|POST|%item-resource%.}|{:
  {.if not|{.exists|%item-resource%.}|{:
    {.add to log|I've created the folder %item-resource%.}

» The idea is: read from the header of the POST HTTP Request, the destination folder. Then, if the destination folder doesn't exists, we create the folder. Keep in mind the code posted above is NOT working (the working script it's MUCH complex than that!).

» Another approach is 'somehow' (with a different macro script), when a folder doesn't exists, the file is uploaded to a temporary folder. Then, when the upload is completed, we create the desired folder (reading the destination folder from the original POST HTTP Request), and finally we move the uploaded file from the temporary folder to the new created folder.

(I hope someone else, expert on macros, could give you a hand)

HTML & templates / Re: Responsive small screen template - theme
« on: April 05, 2019, 02:58:16 AM »
a new theme  ;)
I know this template '' is intended for ultra-modern browsers, but it doesn't work on some older browsers, like Chromium 31. When browsing it redirects to showing this result:

Code: [Select]
#04/04/2019 22:52:06,0

On Firefox v52 works almost fine (and it's super-fast! :D ), but on older browsers is not usable at all (I guess it needs some compatibility-fix). Just a suggestion... ;)

HFS ~ HTTP File Server / Re: Donate your Time for translate
« on: March 31, 2019, 09:45:06 PM »
My translation into French is often more extended than the original English version (it's my choice to be more explanatory).
I also try to use 'longer translations' (to make it easier to understand), but sometimes I'm limited to the available 'caption' space. That's why I don't translate 'blindly', but one string by one (making sure the translated text is not 'cut' for being too long).

I made some changes to facilitate (a bit) your work.
Now, you can work with Poedit and HFS at the same time, and check your work, without relaunching HFS Everytime.
That's great! I truly appreciate your efforts to make the process of translation easier. I've tested it today, and it's working fine (it saves time). Thanks again. :)

By the way, the translation is going well, but it will still take me some time.

PS: Is OK to give some small (unimportant) suggestions?... ;) If yes, then:
- On the first run (when there are no saved settings), and on screen resolutions lower than 1024x768px, it's better to start the program 'maximized' by default.
- On the 'Configuration SSL (TLS)' tab options, most of the SSL configuration options are cropped and not usable on small screens (like 800x600px). It's not important, but some users may be still using that screen resolution on old-PCs.

« on: March 30, 2019, 10:16:34 PM »
Sorry, then I have no idea on how solve that.

Beta / Re: version 2.4 - several bugs
« on: March 25, 2019, 08:38:23 AM »
"Switch On" and "Switch Off" button is reversed
I can confirm this bug! It was introduced on hfs24b6.exe (hfs24b5.exe had this function working correctly). If you look carefully, the icon shows the correct function, meanwhile the text is wrong. I guess this happened to Rejetto when doing some automatic 'search and replace' on the source code, without looking if every replaced instance was the correct (it's something common, that it could happen to anyone).

could not reproduce the bug with Anonymous, 
This is VERY weird! I'm pulling my hairs trying to reproduce the error, but now the bug is not coming back, neither using {.!Anonymous.} or {.!anonymous.}. There must be something with some specific configuration I had, but now I can't reproduce this error anymore (is crazy!). :o

I've saved a screenshot yesterday (just in case), but anyway the bug was not important, since it only was on the template (on client side), not on the HFS program (not on the server side, because the file gets renamed successfully anyway).

This was the error shown (see screenshot):
Code: [Select]
Error: {.break|result=bad session}

But on the logs everything was normal:
Code: [Select]
19:42:22 Requested GET /
19:42:25 Requested GET /?mode=jquery
19:42:34 anonymous renamed "/folder/SomeFile1.gif" to "SomeFile2.gif"

This error happened with some folder having the 'Hidden' flag, and the 'Upload' setting to 'Anyone'. Anyway, this error can't be reproduced anymore (but yesterday was solved only if {.!anonymous.} in lower case was used).

But I've found another interesting things (two possible small bugs):

CASE 1) If you have an empty 'hfs.ini', that file is IGNORED and the settings are saved directly on the registry (the file 'hfs.ini' is deleted on exit, and the account 'can change password' is created normally). Expected behavior: save all the settings on that empty 'hfs.ini'.

CASE 2) If you have a 'hfs.ini' file with a minimal content (like a simple 'space' character, or containing a word like 'HFS' at start), the file is recognized and used to save the settings there (the registry is not used), and if you already have a 'hfs.tpl' along with the 'hfs.exe' file, HFS is NOT creating the default account 'can change password' (if there is no 'hfs.tpl' file, the account 'can change password' is created normally. Expected behavior: the account 'can change password' should be created and saved on the 'hfs.ini' file on this specific scenario (also the settings should be saved in a file, if an empty 'hfs.ini' file is found).

I hope this could be easily fixed... :-\

Keep in touch if you need more details.

HFS ~ HTTP File Server / Re: Donate your Time for translate
« on: March 25, 2019, 08:22:23 AM »
No worries for the time you spend translating HFS ... No one is in a hurry here. :)
You can also change your mind, and decide not to do it ... no one will blame you.

You may be able to help you with the English default.po file contained in the zip sources.
Yes, I'm using the English default.po (from the zip sources) as my MAIN source of reference, because sadly I don't understand French language (your original French text will be still used as a secondary reference, but with the help of online translators). This is what slows down the entirely process of translation (because I need to double-check every entry is correct in both languages: English and French).

Especially since I do not facilitate the task of translators with my sources strings in "French de-accented" and very little commented.  :-[
I guess other users will have the same problem, since they may think they have to translate directly from French, but they don't have in mind that they could use the English default.po as reference. If someone else reading this wants to translate to Italian, could take note of this tip... ;)

PS: Has the executable I posted run in Spanish on your system by default
(at first run if your Windows OS is setled on Spanish locale) ?
Yes! :) As soon as I start your executable, it runs in Spanish by default (and my Windows OS is configured in Spanish locale).

And about my Spanish translation, don't worry about local idiomatic, since my translation will be as neutral as possible, so it could be used by any Spanish-speaking country. And when I finish my translation to Spanish, I will post a message in the Spanish forum to have feedback from other users. Anyway, I've already done another translation to Spanish (here), and I didn't received any complains about local Spanish idiomatics (so, to keep things simple, I don't think is necessary to add es_ES, es_PY, es_AR, es_MX, es_UY, etc, the same as currently there is no en_US or en_CA). ;)


Pages: [1] 2 3 ... 39