Feature Wiki

Information about planned and released features

Tabs

Revision of Language Maintenance

1 Description

The current language maintenance tool within ILIAS needs some improvements to support and ease the maintenance of languages for different ILIAS versions and different ways of updating the several translations.

1.1 Desired Translation Workflow

The following workflow should be possible with a revised language maintenance in ILIAS:

  1. A translator is editing a language in ILIAS to improve it.
    1. (Option 1) The translator is working on the language file itself (using an UTF8 compliant editor).
    2. Or (Option 2) The translator is using the "Extended Language Maintenance" in ILIAS to translate ILIAS online and export the translation afterwards as language file.
  2. The language file from option 1 or 2 is send to the General Language Manager to incluce it in the next ILIAS release.
  3. The General Language Manager imports this file into the Language Management Tool (LMT).
  4. The LMT analyses the imported lang file by comparing the new file with the current English version (SVN) and
    1. Removes language strings (rows) that are no longer used in this release.
    2. Adds language strings (in English) that have been introduced "in the meantime".
    3. Identifies language entries in the imported file for which translations are already available (in former versions) and list them.
  5. The LMT offers a short report about the three mentioned steps (remove, add, indetify). Already available translations in former versions can easily be selected manually and merged in the new language version.
  6. The LMT offers an option to commit the revised language file into the SVN.

This workflow distinguishes two important activities: the translation itself and the revision before committing it into Subversion (SVN). While the first activity is done by our language maintainers worldwide, the second activity has to be done by the core development team as part of the development process. For this second activity we need a software solution as well - the so called Language Manager Tool.

1.2 Issues of the current version (ILIAS 4.2)

This is a list of problems in the current implementation and possible solutions. Facing the new concept of a language management tool some of these ideas will no longer be implemented in the ILIAS language maintenance itself but in the new Lang Man Tool.

A. Forward Changes to All Relevant Branches
 
The current approach does not automatically update language entries in other maintained ILIAS branches. This is done manually either by the language maintainer or the product manager. Example Scenario:

  • 4.1, 4.2 are maintained version, 4.3 is developed in the "trunk"
  • Now the french maintainer changes an entry from the default entry (english) to the french version in the 4.1 branch
  • A "global language maintenance" application (or plugin) should now automatically check, whether the 4.2 and trunk versions still contain the english default entry and update it
B. Keep Lang Installations Up-To-Date
 
Currently the language installation needs to be updated per SVN manually. This should be done every night, e.g. per cron job, automatically.
 
C. Find Unused Language Entries
 
A script should search for unused language entries (see e.g. Mantis report #6333). It should be possible to mark these entries as "old/deleted", so that these will not be part of future language files.
 
D. Rename Language Entries
 
It should be possitble, that developers rename language entries (their module#:variable key, not their content) witthout losing all translations.
 
E. Mark Changes of Entries
 
The current approach marks (adds comments to) entries that are new (in the english lang file). Content change in the English master should be marked in the other languages. It would be good, if the language maintainer could display the old and new version of the English entry.
 
F. New Language File Creation
 
If new language files are created, they are currently simply copied from the English lang file. But the entries are not marked as new entries. This should be done automatically.
 
G. Display all Language Variables of a Screen
 
The current tool seems sometimes "to miss" some of the entries displayed on a screen, e.g. of tabs. Matthias will provide some examples.

1.3 Processes to be supported

Process

Tool

Status

Comment

Translating entries of one language online

ILIAS Language Maintenance

available

Translating all entries of one page

ILIAS Language Maintenance

available

Bug: not all entries displayed (e.g. tabs are ignored)

Translation of all entries of one module / component

ILIAS Language Maintenance

available

Protocoll of changes

ILIAS Language Maintenance

not available yet

Necessary to see if and what has been changed, esp. when several persons translating one language

Customizing lang entries (local language file)

ILIAS Language Maintenance

available

Creating an export file

ILIAS Language Maintenance

available but necessary to be improved

Usability problems

Importing an updated version

ILIAS Language Maintenance

not available yet

When importing a file it is necessary to have an option that strings that does not appear in the imported file are removed from ILIAS as well. Otherwise outdated strings will stay in the installation (and might be exported as well).

Identifying new and changed entries

Lang Man Tool

not available yet

Removing outdated enries

Lang Man Tool

not available yet

Logging changes of a language file

Lang Man Tool

not available yet

Commiting changed lang file to SVN

Lang Man Tool

not available yet

Merging entries from another ILIAS version

Lang Man Tool

not available yet

2 Status

  • Scheduled for: not scheduled yet (has been scheduled for v. 4.3 but postponed due to missing funding, re-scheduled for v. 4.4 but postponed due to missing development resources)
  • Funding: Required
  • Development: Feature is to be developed by Fred Neumann

3 Additional Information

  • If you want to know more about this feature, its implementation or funding, please contact: info (at) ilias.de

4 Discussion

MK & AK, 6 Dec 2011: We highly appreciate the idea to improve this tool.

AK 31 Jan 2013: I would like to set this actively on the 4.4 agenda again.

JF 5 Feb 2013: We still support these improvements and re-schedule them for 4.4.

Matthias Kunkel, 20 Apr 2013: I have added some new ideas how to support the language translation process.

5 Follow-Up

Last edited: 19. Mar 2014, 15:41, Kunkel, Matthias [mkunkel]