xili-language plugin data model and architecture : FAQ [updated]

After been used by webmasters for cms multilingual websites, more and more, xili-language trilogy is used by newbies. This article summarizes some questions about how the data model and architecture were choosen at begining and year after year confirmed. In these lines we detail some features and comparisons made in WordPress Codex.

A recent joined pdf (see at end) summarizes elements about data-model.

Some basic features of WP :

The core of WP is posts table with main columns like « title« , « content« , « author« , « date« ,…
The classification of posts is based on categories and post tags.
Category is like a shelf in a bookcase. And post tag is like color stamp or label on a book.
The insertion of taxinomy library since WP 2.3 offers a powerful tool to create other taxinomies.

xili-language based on the solid architecture of WP :

xili-language since WP 2.3 (24 September 2007) introduces a new taxonomy named « language » with query var named « lang ».
xili-language DON’T modify the content of each post. No inconsistency introduced in data model.


one example : what happen in the free plugin named qtranslate ?
after activation of this plugin, all content items of posts are modified – new tags etc… – because inside the field, the content is the sum of the texts in each language 2, 3 and more … as you can see in this snapshot of phpMyAdmin.

DB modified by qTranslate

DB modified by qTranslate


or after desactivating qtranslate plugin, all contents become unreadable and unexportable in post dashboard UI.
posts list

posts list

xili-language don’t add any table. (like more then 13 in WPML plugin – compared to the original 11 tables of WordPress) – to recover or transfer posts in one language, it become very complexe…

wpml tables

wpml tables


To organize posts and pages (and custom posts) in xili-language :
Only custom fields are added to link one post in a language and these translations in other languages. The taxonomy remains usable even if xili-language is desactivated by using custom taxonomy introduced recently.
With small functions, it is easy to export posts attached to a specific language.

Some questions :

Why xili-language don’t provide flags for language ?
xili-language works on the contents and not appearance. What happens in a country with one flag and three current languages ?
On this site, an example of child theme based on twentyten is provided.

Why xili-language don’t add a specific UI to have together a post and his translation ?
Because current well designed browsers has tabs and because when you translate, it is recommanded to have two screens and two windows !

Why xili-language don’t include xili-tidy-tags to organize tags according language ?
Because xili-tidy-tags can be used in mono language current websites to organize semantically large quantity of tags.

Why download quantities in WP plugin repository with others are so different ?

The best way to compare is not the total quantity but the peak during updating. And a young history like WP roadmap since version 1.

Why xili-language don’t translate ?

In dev.xiligroup team speaks only less than two languages ;-) but we provide tools to organize and create CMS multilingual and semantic sites…

The original article in WordPress Codex is not very explicit on the subject – one language, one WordPress instantiation ?
WordPress is basically localizable but not multilingual. Current multilingual plugin works inside one instantiation of WP and all posts are in the same website. To adapt the behavior, the process to switch between languages can be very complex with a lot of hooks and API to translate the terms of theme and widget… With avaibilility of WP network since version 3.0, a new elegant solution is possible… it is why xili-language premium is born : see this post which presents the main features.

How to choose multilingual plugins ?
Like a house or a car… according the features you want, the reversibility, the sustainability… and with understanding how it is developed and how the data model is conserved or modified…

Any other questions ? Use form below or forum !

Michel of dev.xiligroup

This entry was posted in Experts corner, Studies, xili-language, xili-tidy-tags and tagged , , , . Bookmark the permalink.

Laisser un commentaire