Fixed connection bug.
Folder to connect to can now be specified in the ticker_settings.ini file.
It is now possible to allow only authors to post, which appear in a whitelist that can be defined in the ticker_settings.ini file.
Added option to backup old messages to a MySQL database.
First release of the new SMS/E-Mail Ticker classes. You can send an e-mail or a SMS from a cell phone to a specific e-mail address and it gets displayed on your homepage. Since my provider doesn't support the imap functions, i can't provide a sample page.
If the shmop extention is installed, shared memory can be used to store and read the settings from all the ini files. This way they dont have to be read with every pagecall. If you change something in one of those files you can set the $flush_sm variable in the I18N class to TRUE to reset the shared memory variables. The PHP functions for using shared memory are a bit of a pain to work with, but I try to use it more often in future releases. Maybe for caching even the translation strings since they are the same for every user anyway
The shared memory function is not enabled by default. For that you have to set the $use_shared_mem variable in the I18N class to TRUE. ... read more
Added an option to the i18n_settings.ini file which allows to turn of alias language checking. if you dont use it, it speeds thinks up a little.
Also shifted a bit of code to an abstract base class i18n and tweaked the getLastUpdate() Method a little bit.
Renamed the User class so it doesnt interfere with other classes that are commonly named User.
Changed a bit of the logic of the settings files. There is no currency.ini file any more, but therefore there is a l10n.ini file in each language folder which holds all the regional settings.
Also added a changeLocale method to the classes FormatDate, FormatNumber, FormatString and Measure.
Further added an option to the i18n_settings.ini file which allows to turn of locale checking every time a Translator object is created.
Added a lastupdate column to the database layout. If you want to cache your pages you can use this information to check if any translations of a selected file/namespace are newer than your cached page.
optimized the mysql modus. now a new column "namespace" is used to speed up things a little bit. if you use that modus you have to add that column to the translation table. see the documentation how that namespace thing works.
Also the way the INI file is read has been changed. instead of reading it everytime an object is created, it will only be read once per page and stored in a global variable
Added some arabic example strings and added a FormatNumbers class for formating numbers, percent values and currencies...
1)
Added experimental support for UTF encoded translation files, which means that you can use char-sets other than ASCII now. The string functions are not really tested with UTF, but should work too.
As an example language I added Russian. Translated everything with babelfish again, so don't get mad at me if the spelling or grammar is all wrong :-). I also don't know the correct way of writing Russian date and time strings, so if you are from Russia, please e-mail me how to correct it.... read more
1)
It is now possible to include more than one translation file if you use modus "inc" or "gettext". To include more that one file write $object = new Translator('language','file1,file2,...'); when creating a new translation object.
Due the limitations of gettext you have to add the name of the language file where a translation-string can be found as a 2nd value when you use the _() function. But with the exeption, if the string is in the first file of the language file list, you don't have to include the filename. Example:... read more
Corrected small bug when detecting the user language.
Until now the getLang() function returned the raw locale instead of the language. I corrected this. So now there is a getCountry(), getLang() and a getLocale() function.
Also rewrote some parts of the code which resulted in a huge gain of speed. The example script now only takes about half of the time to generate, then it did with Version 1.043!
Rearranged some functions which results in a small gain in speed. Also renamed the project to flp-i18n, deleted most of the functions in the FormatString class and completely deleted the FormatLongString class which didn't have anything to do with i18n.
A demo site can be found now at http://www.flaimo.com/i18n_example_script.php
Corrected a bug concerning language preferences saved in cookies or session. Sadly the performance dropped a little bit because of that.
Some small new features:
There is a countLanguages and countStrings function in the ChooseLanguage class now.
And i've implemented the possibility to use alias languages. Let's say you have a language directory "en" with translation files in it and now you want another language directory "en_uk". Instead of translating everything again or copying the translation files from one directory to the other all the time you just place a file called "redirect" into the "en_uk" dir which contains the name of the original language folder (in this case "en").
i'm looking for volunteers to translate the basic FLP language files (date strings and measure strings) to their mother tongue. german and english should be correct, but for the others in the package, i'm not sure since I translated them with babelfish :-)
so, feel free to contact me at flaimo@gmx.net if you're interested.
No new features, but the code has been reorganized. All features that are used in more than one module are now located in a base class and all module classes are childs of that base class now.
Added support for storing the translations in a MySQL Database. I didn't do a performance test with the mysql modus, but it seems way slower than the other two options (gettext, inc files), even though translation requests are partly cached.
Also took care of a few minor bugs in the FormatDate class.
Minor Update: Added support for own UID for Event, ToDo, Journal and FreeBusy.
A minor update: Added option in the flp_settings.ini file to turn on/off error reporting if a string couldn't be translated