Ticket #1 (assigned enhancement)
multi-lingual user interface
| Reported by: | WanWizard | ||
|---|---|---|---|
| Priority: | medium | Milestone: | 7.3 |
| Component: | ExiteCMS Core | Version: | 7.2 |
| Severity: | Feature | Keywords: | language, UI |
Description (last modified by WanWizard) (diff)
Make the user interface of the CMS multi-lingual, in an effort to make the CMS I18N aware.
Language should be detected by the CMS, either from a persistent site cookie, the browsers language settings, or the website default language (in this order).
The user (member only feature?) must be able to override the selection the CMS made. This should be stored in a persistent cookie, to be retrieved at the next visit.
Change History
comment:2 Changed 3 years ago by WanWizard
In changeset [858], locales tables, and language detection (via a cookie set when editing the profile, via the accepted language from the browser, or using the website default) is added to the core code.
comment:5 Changed 3 years ago by WanWizard
As of changeset [1085], the foundation for a multi-lingual interface is ready. The locales table now contains system locale and characterset information, a country selection field is added to the setttings_language admin module, and the locale table is populated with things like country and currency names (English language only).
A new locale include is introduced, responsible for detecting and selecting the correct locale for the user, and to provide the CMS with locale functions. The new locale_load() function can load the correct locale strings from the database, compile them into a php file for faster loading, or use them directly. It is also compatible with the 'old' style locale files, so modules don't have to be converted to load their locale strings into the database.
comment:6 Changed 3 years ago by WanWizard
- Milestone changed from 7.2 to 7.1
Moved forward to version 7.1
comment:7 Changed 3 years ago by WanWizard
Started work on the localisation of the modules. Instead of a fixed method, the webmaster can select what she/he wants for the website:
- not locale aware.
All text is hardcoded, and doesn't change when the locale changes - single tree content.
For every site element, there is only a single instance. For every instance, a translation needs to be given for all locales present. If no translation is available, the content for the site default locale is used. This method is for webmasters that want a symmetrical website, i.e. one that looks the same in all languages. - multiple tree content.
For every locale present and active in the system, seperate content trees need to be created. This means that there could be multiple instances of an item, each with hardcoded text, only valid for the locale selected. This method is for webmasters that want an asymmetrical website. All content within a selected locale is completely independant of the other locales.
Note that modifying this setting on a working site my lead to strange results, as some content may suddenly (dis)appear. Cleaning up might be a bit of work, so it is best to think about a website strategy before configuring the website!
comment:9 Changed 2 years ago by WanWizard
- Milestone changed from 7.1 to 7.2
Full localization of all modules is not going to be finished in time for the 7.1 deadline. We've decided not to delay the release any further, but release without localized modules.
comment:11 Changed 23 months ago by WanWizard
- Version changed from 7.1 to 7.2
- Milestone changed from 7.2 to 7.3
