I have worked with many projects, and using a different file for each language is very common and easier (and faster) than using a database driven translation system. When we started Zpanel, it was file based. But as things progressed we tried, and switched to db based as our lead developer at the time figured it would be easier to maintain. Which has since proven different
We even had a translation site which is now offline that allowed members to edit and add translations that, using a module, could update and import new languages into the database with ease. One of the main drawbacks of using the db for translations is that custom modules, like sentastico, error pages editor, etc. Would also need to be incorporated making the language database huge depending on how many languages you wanted to support. And, if you didn't use sentastico, the translations would still be there. Using language files for the core and separate language files for modules proves to be much easier to maintain and create. And if the selected module language doesn't exist it can fallback to English (Sentora default). The hard part is sorting out how to 'easily' convert the current db style to read from files instead of the db without rewriting all of the coding...
We even had a translation site which is now offline that allowed members to edit and add translations that, using a module, could update and import new languages into the database with ease. One of the main drawbacks of using the db for translations is that custom modules, like sentastico, error pages editor, etc. Would also need to be incorporated making the language database huge depending on how many languages you wanted to support. And, if you didn't use sentastico, the translations would still be there. Using language files for the core and separate language files for modules proves to be much easier to maintain and create. And if the selected module language doesn't exist it can fallback to English (Sentora default). The hard part is sorting out how to 'easily' convert the current db style to read from files instead of the db without rewriting all of the coding...