An idea to manage multilingual content is to have a table for content strings, something with columns like language and content (probably should be a varchar or something that holds any kind of text content strings in the system).
From there, there are two main directions:
To replace in all tables the content strings fields with content strings IDs to that database. Maybe for database integrity could be good to have as a column of the content database some reference to where that content come from.
To put in that new table alternate multilingual content, and to have columns to identify from where it comes from. I.e. a row could be i.e. language->"sp" content->"prueba" table->"tiki_pages" field->"data" id->"TestPage", or something like that. This way actual sites have the content preserved, and for sites that chooses to have multilingual content, before displaying/sending to smarty the content, a search is done in that alternate table for the intended language, the table, field and id to see if a content with that language is available.
Both alternatives are good and can even coexist, in fact, the move could be gradual, after all, the second alternative works with any language, even the default one.