glcompile - you need to run it after you make changes to glstrings.txt. Remember to copy glstrings.bin to the location specified on glftpd command line with the -s switch (or to default location /glftpd/bin if you're not using the switch).

gldump - used to dump a binary strings file. It will print every string to standard output, so to create a file, use gldump > myglstrings.txt



glstrings.txt format:
%number (where the word number is an actual number like 123) - the glftpd number of this message.
line1
line2
...
%another_number
line1
%another_number2
%file:/ftp-data/mydir/custom_reponse_123.txt

Multiple lines are possible under each string number. At least one line is requied. If the line begins with "%file:", the rest of the string is assumed to be a full path to the file that will be displayed instead of printing that string. Cookies should work.

Blank lines and lines starting with # are ignored. # can be used for comments.

All placeholders (entries that contain printf formatting codes, like %s, %d, %f, %23.23s, %02d, etc) have to be on the LAST line, otherwise they won't be filled in by glftpd. For example, if a string is "user %s deleted successfully", and you want to make it 2 lines, "user %s deleted" and "use site purge to get rid of the userfile for good", it won't work, the first line will print %s instead of username. If you switch these lines, printing "use site purge..." first, and then "user %s deleted", it will work fine.

To create an empty line (so multiple-line output looks more readable), use a single space (you can use more spaces if you want, but one is enough)


Multi-lines without the ftp-response-numbers on consecutive lines are possible.
To create one, put the \ character as the last thing on a line (it should only be fllowed by \n, which is the end of line). Here is an example:
%123
This response\
     looks kind of neat\
     doesn't it?
End of this response.

And it will look something like this through ftp:
200- This response
     looks kind of neat
     doesn't it?
200 End of this response.

NOTE: you MUST have a "normal" line under this special multi-line line, unless it isn't the last line of the response. For example, if a glstring is only used right before another glstring, or before a built-in response, you can use this multi-line trick for all lines of it. But if a glstring is the only thing that glftpd responds with (which is true in 99% of the cases), you need a normal line so that glftpd responds with #- for your multi-line line and just # at the end (# is a response number, like 200).
If this is confusing to you, perhaps you shouldn't attempt doing this lest you break it.

String %14 can't use color codes, so don't add any.
