Multilingual Projects
With spunQ, it is no problem to create multilingual applications or websites. Once the languages have been defined in the system configuration, spunQ will display one tab for every language when editing an object in the backend. spunQ creates a child object for each translation and stores the metadata as a normal data row in the class-table.
The language definition has to be done in common/config.inc.php in the frontend as well as in the backend and both settings has to be equal for the multilingual functionality to work.
In the frontend, the built-in functions respect this fact and are able to perform language switches by writing a cookie on the client side. Thus, the whole application will immediately be translated using the smarty language variables for static content and the translated objects edited in the backend for dynamic content. If an object should not have been translated yet, the language version defined as fallback will automatically be displayed.
Technically, the different object versions are part of the object table in the database. When an english object is translated into german, the new object will get a new object_id, but has the reference to its parent in the column 'object_parent' which then will contain the object_id of the original English version. Additionally, the field 'object_version' is e.g. set to '1' to identify the language according to the ID set in the system configuration.
Tags
Technical, DatabaseRelated Subjects
>> Creating Translations>> Object Statistics
>> Database Structure
