This set of scripts is provided to help you migrate a WeSQL site in one
language to a multi-language site. You would execute tag.pl, number.pl,
extract.pl and assemble.pl in sequence. But don't just do it - read the
rest of this file first, don't say I didn't warn you!
***** WARNING *****
The scripts are far from perfect, so before anything else,
BACKUP your files!!
***** END WARNING *****
Here's a short description of what each script does:
1. tag.pl
tag.pl will 'tag' text in all .wsql or .cf files in the specified directory
with the language tag you specify. This means that it will recognize clear
text like this:
This is a test
and will change it into:
This is a test
provided you specified 'en' as the language to tag the files with. These
language tag will be recognized by WeSQL, and the text enclosed within will
only be displayed when a page in this language (in this case English) is
requested.
tag.pl is ideal for switching a single-language .wsql site to a
multi-language site.
tag.pl has some limitations:
a) It will only tag text outside blocks, that means it won't touch
any html you generate on the fly within EVAL blocks. You'll have to tag that
manually.
b) It's smart enough not to tag a file that already contains tags for that
language. It will warn you about that. This means that you will have to deal
with those files manually.
c) I'm pretty sure that in certain cases, tag.pl will NOT do the right thing.
If you find such a case, let me know.
So check your files after you run tag.pl on them!
tag.pl comes with WeSQL (http://wesql.org), and is licensed under the GPL
(Gnu Public License) version 2 or higher.
Command line arguments:
-d , --directory= (MANDATORY!)
the directory to scan for .wsql and .cf files
-l , --language= (MANDATORY!)
the language tag to be inserted in the file, for instance 'en'
-h, --help:
display the help you are reading now
-v, --version:
display version output
Report bugs to w@wesql.org
2. number.pl
number.pl will number the language tags in all .wsql/.cf files in the directory
you specify. This means that a line like:
This is a test
will become something like (the actual number may vary):
This is a test
Every tag pair gets a unique number.
Be sure to keep the tag numbers for all your languages in sync: the numbers
of the tag pairs of the different languages will need to match! Running number.pl
once for every language will solve this issue if you have the same number of tags
for every language.
This also means that you should be careful running the script after you have run
extract.pl and before you run assemble.pl: it will change the numbers of your tag
pairs if you have inserted extra tag pairs! To avoid this, first run assemble.pl,
to update the language, and then you can re-run number.pl safely and generate a new
language file for translation with extract.pl
The script is smart enough not to touch
already numbered tags, so it is safe to run on your set of files as many times
as you wish.
number.pl comes with WeSQL (http://wesql.org), and is licensed under the GPL
(Gnu Public License) version 2 or higher.
Command line arguments:
-d , --directory= (MANDATORY!)
the directory to scan for .wsql and .cf files
-l , --language= (MANDATORY!)
the language tag to be numbered in the file, for instance 'en'
-h, --help:
display the help you are reading now
-v, --version:
display version output
Report bugs to w@wesql.org
3. extract.pl
extract.pl will make a 'language file' from all .wsql/.cf files in the
directory you specify, from the language you specify.
You have to give it two languages as parameters, the 'from' and the 'to'
language. The 'from' language is the language you would like the translation
to start from, and the 'to' language is obviously the language you are
getting a translation into.
extract.pl looks for all numbered tag pairs in the 'from' language, and puts
the text that they surround in one big file that can then be passed on to a
translator. If some tag pairs already exist in the 'to' language, the 'to'
language text will be inserted in the language file. So this script is safe
to run on your files as much as you like. It will not change them.
One word of caution, however: be sure that the tag numbers for all the
languages correspond! Run number.pl for each language to make them correspond,
as described higher.
After you have run extract.pl, and before you run assemble.pl, DON'T run the
number.pl script! Once you have 'assembled' your translated language, you can
number.pl again.
extract.pl comes with WeSQL (http://wesql.org), and is licensed under the GPL
(Gnu Public License) version 2 or higher.
Command line arguments:
-d , --directory= (MANDATORY!)
the directory to scan for .wsql and .cf files
-f , --from= (MANDATORY!)
the 'from' language
-t , --to= (MANDATORY!)
the 'to' language to generate the language file for
-h, --help:
display the help you are reading now
-v, --version:
display version output
Report bugs to w@wesql.org
4. assemble.pl
assemble.pl will read a 'language file' as made by extract.pl, and update the
text surrounded by language tags in the .wsql/.cf files in the specified
directory.
After running assemble.pl, you can erase the language file, and if desired,
generate a new one with extract.pl
assemble.pl comes with WeSQL (http://wesql.org), and is licensed under the GPL
(Gnu Public License) version 2 or higher.
Command line arguments:
-d , --directory= (MANDATORY!)
the directory with .wsql and .cf files to be updated
-f , --file= (MANDATORY!)
the language file (e.g. nl_en_language.txt)
-h, --help:
display the help you are reading now
-v, --version:
display version output
Report bugs to w@wesql.org