Hi folks,
concerning the multiple-language issue, I might have a suggestion to Oliver, our head guru and PHP animal trainer…
As the whole CMS site is based on database records, I might have found a way to have literally unlimited language dependent versions of the same content, by using the
phpwcms["db_prepend"] constant dynamically.
Provided, the core of phpWCMS will be changed to have dynamic assignments to $phpwcms["db_prepend"], such as
“DE” or
“EN” and the like, and provided we have a switching feature, like language flags in one of the side bars of the template, which allows to dynamically change the $phpwcms["db_prepend"] value, the page – when refreshed - will switch according to the content of "db_prepend", i.e. to the right language.
An absolute prerequisite is, that all language versions are identical, in terms of layout, templates and page structure. As you will see later, translation work is not affected and (minor) changes can be made to any of the language versions independently as well.
To accomplish this, Oliver must allow to (pre)define a number of languages and must change certain tasks to apply all (certain) changes to all parallel language versions. Those tasks are mainly inserting new records, moving records (sort up and down) but not changing existing article content.
Supposing such an extension does exist, the creation of a new page layout, a new template, inserting a new structure level, creating a new article in a structure level and adding a new content part to an article will perform this task to all parallel language versions.
It would be helpful to define a ‘
default language’, to allow to copy (new) content by request to all parallel language versions, or to copy the default content part automatically if the content parts of the parallel languages are still empty.
With such an extension, ones could create a basic (default) site version without care about the structure and content of the remaining languages.
After finishing the default or basic language version, each one of the other languages can be modified as necessary. As layout, templates, structure levels, articles and content parts are only 'copied' to the remaining language versions, when they are created, no content will be overwritten.
Even when adding a new page layout, adding a new template, inserting a new structure level, creating a new article in a structure level and / or adding a new content part to an article, this task will be done parallel and will not interfere with existing content.
So aliases are still the same, ID’s are still the same. Picture and Icon sources remain the same. Replacement-Tags, Links and referrers are alive and working. Changing / translating category titles, category infotext, article basic information’s and content will not interfere with other language versions, because by being separated by $phpwcms["db_prepend"] they can live happily together side by side.
The only thing
we cannot do is inserting or creating new structure levels, creating new articles in a structure level and adding a new content part to any article
to a certain language only and independently, because this will destroy the uniformity of the structural parallelism, which is absolute essential and a MUST to allow to run this trick! What sure can be done is to perform such tasks as mentioned for all languages (done at the default language) and then set certain content parts of certain languages invisible. This preserves the structure and consistency of the system and allows to have language independent content by keeping over all structural integrity.
As far as I can judge my own ideas I think this is the far most easiest and most appropriate way to solve the multiple language issue.
I would be happy to hear from you folks and from our gurus if you think this is an idea to follow…