Hi all,
after investigating character sets & languages for quite a while now, and writing a correct implentation of a language system for my phpDNS project, i wanted to propose adding the same system to phpMyAdmin.
Features: - Can detect user language and character set from browser, incl regional variants - supports HTTP/1.1 language/charset q-values. - automatically sets correct fonts. - can figure out the most likely language to use if the exact language support is not available. EG if 'fr-ca' is supported (not plain 'fr'), but the user requests 'fr-ch', they will get 'fr-ca' since it's the closest to 'fr-ch' that is available. - all language data stored in a database, for easy updating - able to include mroe than one language, eg load 'fr' and then 'fr-ca' on top of that to redefine only some tags. - supports multiple character sets per language - call to get a string is i18n("String_Name")
Implementation: - database uses a single table, and stores data in a tree structure inside the table. - OpTree is the wrapper class for handling the table. - (I also use it to store most of the configuration options for the program) - On login, all the language data for your selected language is stored in a session file, to avoid repeated database access.
Known caveats: - don't know if sessions are supported on non-UNIX platforms I think sessions are supported on NT, but not sure beyond that - database overhead on first loadup actualy gets called twice, once for the login page, and once for the rest of the system - size of session files possibly I should reduce the session file lifetime? (can anybody suggest any more?)
see the main phpDNS active working tree at http://phpdns-local.orbis-terrarum.net/phpDNS/userspace/ - login: test - password: test
see the OpTree testing/modication backend http://phpdns-local.orbis-terrarum.net/phpDNS/learning/options/optree.php - click on 'view tree' to a get a quick dump of the page