Feature Wiki
Tabs
Revision of Language Maintenance
Page Overview
[Hide]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:
- A translator is editing a language in ILIAS to improve it.
- (Option 1) The translator is working on the language file itself (using an UTF8 compliant editor).
- 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.
- The language file from option 1 or 2 is send to the General Language Manager to incluce it in the next ILIAS release.
- The General Language Manager imports this file into the Language Management Tool (LMT).
- The LMT analyses the imported lang file by comparing the new file with the current English version (SVN) and
- Removes language strings (rows) that are no longer used in this release.
- Adds language strings (in English) that have been introduced "in the meantime".
- Identifies language entries in the imported file for which translations are already available (in former versions) and list them.
- 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.
- 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
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]