Feature Wiki

Information about planned and released features

Onglets

Language Maintenance

1 Description


The extended language maintenance is used with a specific ILIAS installation by a couple of language maintainers.
Matthias Kunkel takes care of getting new language variables from SVN into this installation and feeding back their translations to the main language files in SVN. To make this process more effective and reliable, some improvements are needed. The final process should be like follows:
  1. The global lang files from SVN are copied to the lang directory of the maintenance installation and the languages are refreshed. This should keep all local changes, even if they are changed in the global SVN file, too (the comments will indicate them).
  2. The language maintainers filter the variables "with comments from language manager" and translate them. The filter will find new variables from SVN and changed ones. If a variable is changed locally as well, the screen will show the local value compared to the global one and the new comment from SVN.
  3. The language maintainers translate the filtered variables and delete the comments or change them, if they like to note something.
  4. Periodically the language files are exported (including all changed and unchanged variables and all comments) and committed to SVN. Then the process starts again at step 1 (should follow immediately).

Showing the last change within the database

The column "Last Refresh" in the list of languages shows the date of the last refresh or the last maintenance (reading of the local language file). This is not enough to decide when the last translation has been done.
A new column "Last Change" should show the last saving or import of language variables.

Storing of language manager comments

The language entries can be filtered by those having comments in the original language file. Currently this information is read from the global language file at filter time and cannot be changed. Therefore it is not possible to decide what has already been translated and what is still needed to be done.
A refresh of the language should read the comments into the database (new column in lng_data). This allows a language maintainer to change and delete the comments when translating the variables.

Merging changed back to the global language file

An exported language file has an own header and is sorted alphabetically. Currently this file has to be merged manually with the existing SVN file to be ready for committing.
A new export option should create a file that can be directly committed:
  • The header of the global language file should be taken
  • The sorting of the global language file should be kept (new variables should be put at the end, but normally the translation process wouldn't create new variables)
  • The comments stored in the database should be exported, too. This allows to commit a partial translation to SVN, keeping the information of what has still to be translated.

Filtering and deleting of variables that exists only locally
Sometimes language variables are deleted in the gobal files if they are not longer used. In the database, however, these variables are still stored and will be exported. therefore:
  • a new filter option should find variables that exist only in the database,
  • a new export option should export variables that exist only in the database (to archive them),
  • a new maintenance option should delete all variabled that exist only in the database.

2 Status

  • Scheduled for Release: ILIAS 4.1
  • Funding: Required
  • Development: Feature is to be developed by Fred Neumann (FIM)

3 Additional Information

  • If you want to know more about this feature, its implementation or funding, please contact: fred.neumann@fim.uni-erlangen.de

4 Discussion

Question: does Matthias have access to the lang directory of the language installation? Step one of the new process requires this.
  • If he copies the file to the global language folder, the new process is ok (note: this file is not treated as "newer" than the database, because it is a global language file. Dates are only compared with the local language files).
  • If he imports the file, this should have the same effect as a "refresh" using the file as global lang file. therefore the option "kepp all local changes" has to bchosen. Additionally we need a new import option to decide whether the comments should be imported. At export the merging for SVN cannot take the global lang file but needs the original SVN file to be chose.
I would prefer the first option (replacement of the global lang file) which is more straightforward.
Matthias Kunkel, 22 Sep '09:
  • All language installations (lang310, lang40, lang41...) are updated from SVN. So there is no need to copy files from SVN to the lang directory. SVN UP is sufficient.
  • Until now, I download the new language file, check in my personal ILIAS installation and commit to SVN. In the future it could be helpful to commit straight from the language manager to SVN - if it is possible to merge local changes with the existing lang file.
  • And yes, I have access to the lang directory of the language manager. So I can execute commands in the shell a.s.o.

Florian Suittenpointner (Qualitus GmbH), 20-01-2010:
One more suggestion for this enhancement turn:
Up to now, client-specific changes are not supported yet at all.
So, also the extended language maintenance (ELM) saves changes to the local language file of the entire installation (/Customizing/global/lang).
In the course of enhancing the ELM, we should provide client-specific local language files, and make them accssible for the ELM.

5 Follow-up

Dernière édition: 17. avr. 2025, 15:09, Kunkel, Matthias [mkunkel]