|
Description: |
Add support for managing and displaying book content in multiple languages. h2. 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
h2. Technical Implementation h3. 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}
h3. 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
{code:java} 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 {code} h3. New Templates * Modified templates for versioned/unversioned pages to support multilingual content * Templates should wrap content in translation macro for default language
h3. Administration * New administration section in Languages space * Interface for enabling/disabling multilingual support * Management of supported languages * Translation status overview
h3. Navigation * Language selector in book navigation menu * Visual indicators for untranslated content
h2. Acceptance Criteria * Administrator can enable/disable multilingual support for a book * Administrator can configure supported languages * Users can add translated titles for pages * Users can add translated content using macros * Translation inheritance works through version chain * Language selection persists during navigation * Content properly falls back to default language when translation missing * Translation status is clearly visible
h2. 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 not use an object) * Content translation is managed through macros |
|