The English language pack is the referential source of strings to translate. Only those strings present in the lang/en_utf8 may be localized. There are separate locations for English language pack (which is part of standard Moodle source code repository) and other languages (own repository called "lang"). This may lead to problems.
Imagine there are two lang pack maintainers A and B working on translation of HEAD, e.g. 1.8-dev. By an accident (or for some reason), translator B updates some strings in his 1.7 installation. Those strings which are present in 1.8-dev version and are not present in the English 1.7 version are silently removed by the script lang.php.
Yes, translators should use HEAD (and brain . But, for example, they may want to focus on the current stable branch and give priority to the strings that are currently needed. Anyway, lang.php should never silently discard localized strings itself. So I will patch it to include these "orphaned" strings in the saved file with some notice. The file may be cleaned if it is sure the string should go away definitively.
- has been marked as being related by
MDL-6645 Having only a HEAD version for language packs causes major problems and inconsistencies