Details
-
New Feature
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
-
None
-
Unknown
-
Description
Add support for managing and displaying book content in multiple languages.
Functionality
- Enable/disable multilingual support for a book
- Configure supported languages per book
- Store translated page titles
- Display content in different languages using translation macros
- Support for both versioned and unversioned pages
- Maintain translation inheritance through version chain
Technical Implementation
New Classes
BookVersions.Code.PageTitleTransaltionClass
- language (String, required) - Language code
- title (String) - Translated page title
- status (StaticList) - Translation status ("not_translated", "in_progress", "translated") {code}
BookVersions.Code.MultilingualClass
- enabled (Boolean, required) - Enable/disable feature
- supportedLanguages (StaticList, multiple) - List of supported languages {code}
Document Structure
- New Languages space under each book containing configuration
- Translation objects stored on: WebHome for unversioned pages / Version-specific content pages for versioned pages
- Translation macro for managing content translations
MyBook ├── Page1 (versioned page) │ ├── WebHome (redirect) │ ├── v1.0/ (hidden) │ │ ├── PageTitleTransaltionClass objects │ │ └── Content with translation macros │ └── v2.0/ (hidden) │ ├── PageTitleTransaltionClass objects │ └── Content with translation macros ├── UnversionedPage (unversioned page) │ └── WebHome │ ├── PageTitleTransaltionClass objects │ └── Content with translation macros ├── Versions ├── Variants ├── Libraries └── Languages └── WebHome └── MultilingualClass object
New Templates
- Modified templates for versioned/unversioned pages to support multilingual content
- Templates should wrap content in translation macro for default language
Administration
- New administration section in Languages space
- Interface for enabling/disabling multilingual support
- Management of supported languages
Navigation
- Language selector in book navigation menu
- Visual indicators for untranslated content
Acceptance Criteria
- Can enable/disable multilingual support for a book
- Can configure supported languages
- Language selection persists during navigation
- Can add translated content using macros
- If translation is missing show warning message or an empty page
- Can add translated titles for pages
- Translation inheritance works through version chain
Additional Notes
- Translation objects should be migrated when switching between versioned/unversioned pages
- Titles will use translation objects when multilingual is enabled (default language may or may not use an object)
- Content translation is managed through macros
Attachments
1.
|
Add Multilingual Administration page |
|
Closed | Paul Pantiru |
2.
|
Add Language Selector |
|
Closed | Paul Pantiru |
3.
|
Add ContentTranslation Macro |
|
Closed | Raluca Stavro |
4.
|
Add classes and sheets |
|
Closed | Paul Pantiru |
5.
|
Display translated titles dinamicaly for pages |
|
Closed | Raluca Stavro |
6.
|
Ensure translation inheritance works through version chain |
|
Closed | Raluca Stavro |
7.
|
Handle default language |
|
Closed | Raluca Stavro |
8.
|
Add translation statuse feature |
|
Closed | Raluca Stavro |