Feature Wiki
Tabs
Language Handling
Page Overview
[Hide]1 General
Maintainer and Tester
Language
Belongs to: Language
- Authority to Sign off on Conceptual Changes: mkunkel
- Authority to Sign off on Code Changes: mkunkel, katrin.grosskopf, ChrisPotter, keven.clausen, cknof, dkippKPG
- Authority to Curate Test Cases: ChrisPotter
- Authority to (De-)Assign Authorities: mkunkel
- Assignee for Issues: mkunkel
- Assignee for Security Reports: mkunkel
Additional
The language service is used in all core components to display the labels of each page in the selected user language.
Roadmap of Language Service
Already Implemented
- Accelerated language update (no more need to introduce background tasks)
- Removed language installation in config (only English is installed by Setup)
- Substituted LegacyUI Button by KS Button in the folder GUI's toolbar (
ilObjLanguageFolderGUI); the form action buttons inilObjLanguageExtGUI(addCommandButton()) are still legacyilPropertyFormGUIbuttons - Migrated the component to the Component Revision's dependency graph
(
$define/$implement/$use/$contribute/$seek/$provide/$pull/$internalinLanguage.php) and introduced the Activities pattern: sevenILIAS\Language\Activities\*classes now hold this component's install/update/uninstall/detection/translation-toggle/entry-editing logic, used by the GUI classes viamaybePerformAs()- see the README's "Activities" section - Extracted language-installation state access into
InstalledLanguageRepositoryandLanguageInstallationManager(repository pattern), and language-file-directory resolution intoILIAS\Language\ComponentTranslation\*- see the README - Plural forms for modules maintained in PO files:
txt($a_topic, $n),Plural-Formsevaluated byILIAS\Language\ComponentTranslation\PluralForms(pilot modulestosandpoll, see Translations Maintained in PO Files)
Short Term
- Fixing PHP 8.2 issues
- Analysing use of language variables on test9
- GitHook for preventing duplicate use of same variable_ID in language files
- Migrate the remaining
addCommandButton()form buttons inilObjLanguageExtGUIto KS Button - Take the system settings of
SetLanguageDetectionEnabled/SetLanguageTranslationEnabledfrom the dependency graph as soon as Administration offers them there; until thenLanguageSettingsLegacyProxyreads them from the legacy container - Let the GUI classes get the Activities by dependency injection once ilCtrl allows it, and drop the
Activities and the
LanguageFileDirectoryManagerfrom the legacy$DIC(AllModernComponents) - Build
lngin the dependency graph instead ofilInitialisation::initLanguage() - Replace hand-made singular/plural key pairs by plural messages and
txt($a_topic, $n)together with the owning components (first proposal:Poll)
Mid Term
- Move LegacyUI Table2GUI to KS Data Table -
ilLanguageFolderTableandilLanguageStatisticsTablealready implement the KSDataRetrievaltable; onlyilLanguageExtTableGUI(stillextends ilTable2GUI, used byilObjLanguageExtGUI::getViewTable()) remains to be migrated - Remove unused language variables from language files
- Improving export and import of customised language files
- Improving online translation tool
Long Term
- Introducing RFC 5646 language coding scheme for language and region to allow multiple versions per language, see https://datatracker.ietf.org/doc/html/rfc5646
- Separating language service from language files
2 Projects
The following projects are planned or have been realised for this component:
NEW Projects
Ongoing Projects
Projects On-Hold
- …
Completed Projects
- …
3 Suggested Features
In the following list you can add a request for a new feature or pick-up an already suggested feature about that should be decided again. The lists below show existing suggestions and scheduled features of this component.
Ready for jour Fixe
Already suggested
- If string not exists in a lang file use english version of the string
- Keep language selection of user agreement for account setting
- Language Settings in User Content
- Language Update as Background Task
- Language-sensitive order of first and last name
- Localization for Date Format
- Multi-Lingual Taxonomies
- Multilingual Container Objects
- Multilingual Input Element
- Multilingual SCORM-Modules as one Object
- Multilingual Titles and Descriptions for All Object Types + Plugins
- Multilinguality Enhancements (Overview)
- Named Placeholder in Translations
- Offer Multilingualism for Course, Group and Category Links
- Offer Multilingualism for study programme link
- Revision of Language Handling in Page Editor
- Revision of Language Maintenance
- Split Language Variables for Certificate Wildcard Descriptions
4 Accepted Features
The following features have been accepted for trunk but are not yet scheduled for a specific ILIAS version.
- …
5 Scheduled Features
The following features have been scheduled / published in ILIAS 12:
The following features have been scheduled / published in ILIAS 11:
The following features have been scheduled / published in ILIAS 10:
The following features have been scheduled / published in ILIAS 9:
The following features have been scheduled / published in ILIAS 8:
The following features have been scheduled / published in ILIAS 7:
The following features have been scheduled / published in ILIAS 6:
The following features have been scheduled / published in ILIAS 5.4:
The following features have been scheduled / published in ILIAS 5.3:
The following features have been scheduled / published in ILIAS 5.2:
The following features have been scheduled / published in ILIAS 5.1:
The following features have already been developed and published in ILIAS 5.0:
- …
The following features have already been developed and published in ILIAS 4.4:
The following features have already been developed and published in ILIAS 4.3:
The following features have already been developed and published in ILIAS 4.2:
- none
The following features have already been developed and published in ILIAS 4.1:
- Improvements of the extended Language Maintenance
The following features have already been developed and published in ILIAS 4.0:
- none
6 Redundant and Rejected Feature Requests
Requests that are redundant (already implemented in other requests)
Rejected Feature Requests
- …
Last edited: 23. Sep 2026, 14:07, Hackfort, Marvin [m.hackfort]