Problem: handling translations, (and maybe also retrieving/storing plugin preferences and file structure), all on the fly, in a PHP 5.3/MySQL site structured like a CMS.
The approach I tought of was to have a big XML file with all the general translations in various languages, and smaller XML files with localizations for the single pages and single plugins.
Is XML parsing fast enough to perform the task or should I rely on other methods (simple text files, database tables…)?
Which is the fastest XML parser?
Fast enough is way too specific to your current project.
I think this is probably premature optimization and my advice would be to do the one which is the most convenient for you and your translators and leave a possibility for it to change to another method if it doesn’t work.
It is not very difficult to change the translation method and move the existing translations from/to XML/DB/PHP files with arrays/etc. You can also use memcache to avoid loading and parsing the translations every time.