This would be good.. Perhaps externalizing all language text (instead of hiding them in classes) so we can simply "load up" a new language mod into the database. Would be a lot easier for translaters to work with a list of strings than having to hunt through the entire codebase.
Configurable:
table ot_strings:
id ( Auto INT )
lang (ENUM: en,de,fr,cn...)
string( LONGTEXT: text )
Static, /lang/en/ot-user-strings.php
$s = "Your email address is invalid, please re-enter";
/lang/en/ot-staff-menu-strings.php
$s = "Help Topics";
Or something. That way when a user specified a language preference we could simply "change" the include. Or, simply load up a "Client" language version, without having to modify the whole thing for staff too.. or the other way around.. Would mean we could have en/support/ and fr/support and simply use mod_rewrite to manage the actual language in the background.
This would be a LOT of work though. Would be good if the strings could be persistent through sessions, meaning we only needed to load one version.. perhaps using "Memcached" we could achieve this.