Feature Wiki

Information about planned and released features

Tabs

Language Handling

1 General

Maintainer and Tester

Language

Belongs to: Language

 

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 in ilObjLanguageExtGUI (addCommandButton()) are still legacy ilPropertyFormGUI buttons
  • Migrated the component to the Component Revision's dependency graph ($define/$implement/$use/$contribute/$seek/$provide/$pull/$internal in Language.php) and introduced the Activities pattern: seven ILIAS\Language\Activities\* classes now hold this component's install/update/uninstall/detection/translation-toggle/entry-editing logic, used by the GUI classes via maybePerformAs() - see the README's "Activities" section
  • Extracted language-installation state access into InstalledLanguageRepository and LanguageInstallationManager (repository pattern), and language-file-directory resolution into ILIAS\Language\ComponentTranslation\* - see the README
  • Plural forms for modules maintained in PO files: txt($a_topic, $n), Plural-Forms evaluated by ILIAS\Language\ComponentTranslation\PluralForms (pilot modules tos and poll, 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 in ilObjLanguageExtGUI to KS Button
  • Take the system settings of SetLanguageDetectionEnabled/SetLanguageTranslationEnabled from the dependency graph as soon as Administration offers them there; until then LanguageSettingsLegacyProxy reads 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 LanguageFileDirectoryManager from the legacy $DIC (AllModernComponents)
  • Build lng in the dependency graph instead of ilInitialisation::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 - ilLanguageFolderTable and ilLanguageStatisticsTable already implement the KS DataRetrieval table; only ilLanguageExtTableGUI (still extends ilTable2GUI, used by ilObjLanguageExtGUI::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

 

2 Projects

The following projects are planned or have been realised for this component:

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

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:

 
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]