Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-6645

Having only a HEAD version for language packs causes major problems and inconsistencies

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.6.5, 1.7.2, 1.8.2, 1.9
    • Fix Version/s: 2.0
    • Component/s: General, Language
    • Labels:
      None
    • Affected Branches:
      MOODLE_16_STABLE, MOODLE_17_STABLE, MOODLE_18_STABLE, MOODLE_19_STABLE
    • Fixed Branches:
      MOODLE_20_STABLE

      Description

      The language packs other than the en_utf8 one have only a HEAD version (i.e. no STABLE branch) since 1.6. This causes major problems.

      1) Some modules breaks in 1.6.x with the introduction of new strings. See bug MDL-6644.

      2) Deleting legacy strings like $string['studentviewoff'] creates regressions in the interface, when using up-to-date language pack. "Some strings that were translated are now in english. What's happened?"

      3) Not adding new strings and not removing legacy ones (for conserving backward compatibility issue of point 2 above) doesn't allow smooth development, nor correct testing on development version using other language packs.

      I suggest that we think about a mecanism allowing to have a stable version of language packs along with a dev one, so that could be resolved elegantly.

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            dougiamas Martin Dougiamas added a comment -

            I did delete some strings recently, oops, I'll put them back.

            Will think about the wider problem, too

            Show
            dougiamas Martin Dougiamas added a comment - I did delete some strings recently, oops, I'll put them back. Will think about the wider problem, too
            Hide
            mina Nicolas Martignoni added a comment -

            This recent commit breaks consistency in Moodle 1.6.x (where no role exists). Eg, the string

            $string['statsreport2'] = 'Views (teacher and student)';

            becomes

            $string['statsreport2'] = 'Views (all roles)';

            Index: moodle.php
            ===================================================================
            RCS file: /cvsroot/moodle/moodle/lang/en_utf8/moodle.php,v
            retrieving revision 1.58
            retrieving revision 1.59
            diff -u -d -r1.58 -r1.59

            How do we handle the modification of strings? Do I need to open a bug for these cases?

            Show
            mina Nicolas Martignoni added a comment - This recent commit breaks consistency in Moodle 1.6.x (where no role exists). Eg, the string $string ['statsreport2'] = 'Views (teacher and student)'; becomes $string ['statsreport2'] = 'Views (all roles)'; Index: moodle.php =================================================================== RCS file: /cvsroot/moodle/moodle/lang/en_utf8/moodle.php,v retrieving revision 1.58 retrieving revision 1.59 diff -u -d -r1.58 -r1.59 How do we handle the modification of strings? Do I need to open a bug for these cases?
            Hide
            mina Nicolas Martignoni added a comment -

            This recent commit (new assignment type) causes also problems.

            Modified Files:
            assignment.php
            Log Message:
            new advanced upload assignmet type - replaces old upload type, existing data and settings not fully compatible

            Index: assignment.php
            ===================================================================
            RCS file: /cvsroot/moodle/moodle/lang/en_utf8/assignment.php,v
            retrieving revision 1.4
            retrieving revision 1.5

            Strings affected (modified):
            $string['helpupload']
            $string['submitformarking']

            And a lot of strings deleted.

            Show
            mina Nicolas Martignoni added a comment - This recent commit (new assignment type) causes also problems. Modified Files: assignment.php Log Message: new advanced upload assignmet type - replaces old upload type, existing data and settings not fully compatible Index: assignment.php =================================================================== RCS file: /cvsroot/moodle/moodle/lang/en_utf8/assignment.php,v retrieving revision 1.4 retrieving revision 1.5 Strings affected (modified): $string ['helpupload'] $string ['submitformarking'] And a lot of strings deleted.
            Hide
            mina Nicolas Martignoni added a comment -

            Another commit that could cause problems:

            Index: hotpot.php
            ===================================================================
            RCS file: /cvsroot/moodle/moodle/lang/en_utf8/hotpot.php,v
            retrieving revision 1.6
            retrieving revision 1.7
            diff -u -d -r1.6 -r1.7
            — hotpot.php 6 Oct 2006 03:46:46 -0000 1.6
            +++ hotpot.php 7 Oct 2006 02:00:53 -0000 1.7

            Show
            mina Nicolas Martignoni added a comment - Another commit that could cause problems: Index: hotpot.php =================================================================== RCS file: /cvsroot/moodle/moodle/lang/en_utf8/hotpot.php,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 — hotpot.php 6 Oct 2006 03:46:46 -0000 1.6 +++ hotpot.php 7 Oct 2006 02:00:53 -0000 1.7
            Hide
            koen Koen Roggemans added a comment -

            I don't understand why it suddenly becomes such a problem.
            If all developers stick to the rules concerning languages, it can never be a problem.
            1) never delete strings or helpfiles
            2) never modifie their content - make another one if the content is different in a higher version

            Show
            koen Koen Roggemans added a comment - I don't understand why it suddenly becomes such a problem. If all developers stick to the rules concerning languages, it can never be a problem. 1) never delete strings or helpfiles 2) never modifie their content - make another one if the content is different in a higher version
            Hide
            mina Nicolas Martignoni added a comment -

            Yes Koen, in a perfect world, this would be OK. But in fact sometimes developers DO actually delete strings and files and this is a PITA to manage for translators.

            Eg, every time I see a deleted string, I've now to add a comment in my fr_utf8 files to remember to delete them when 1.7 goes gold. And this is susceptible to lots of errors when I'll do it. Because I'll do it then, since the original (en_utf8) pack don't have these strings any more. So there's really a need here.

            IMHO, it's not natural not to have branches on lang packs. As a side note, this is also matter of discussion for the contrib repository.

            Show
            mina Nicolas Martignoni added a comment - Yes Koen, in a perfect world, this would be OK. But in fact sometimes developers DO actually delete strings and files and this is a PITA to manage for translators. Eg, every time I see a deleted string, I've now to add a comment in my fr_utf8 files to remember to delete them when 1.7 goes gold. And this is susceptible to lots of errors when I'll do it. Because I'll do it then, since the original (en_utf8) pack don't have these strings any more. So there's really a need here. IMHO, it's not natural not to have branches on lang packs. As a side note, this is also matter of discussion for the contrib repository.
            Hide
            koen Koen Roggemans added a comment -

            Not much interest in this subject, according to the replies on my post on http://moodle.org/mod/forum/discuss.php?d=56073

            Anyway, another problematic update:
            RCS file: /cvsroot/moodle/moodle/lang/en_utf8/help/quiz/requiresubnet.html,v
            retrieving revision 1.1
            retrieving revision 1.1.8.1
            diff -u -d -r1.1 -r1.1.8.1

            Show
            koen Koen Roggemans added a comment - Not much interest in this subject, according to the replies on my post on http://moodle.org/mod/forum/discuss.php?d=56073 Anyway, another problematic update: RCS file: /cvsroot/moodle/moodle/lang/en_utf8/help/quiz/requiresubnet.html,v retrieving revision 1.1 retrieving revision 1.1.8.1 diff -u -d -r1.1 -r1.1.8.1
            Hide
            koen Koen Roggemans added a comment -

            Reverted problems until 7/10
            Eloy wrot notification script to send allert when this happens again - I'll revert changes then asap

            Show
            koen Koen Roggemans added a comment - Reverted problems until 7/10 Eloy wrot notification script to send allert when this happens again - I'll revert changes then asap
            Hide
            martinlanghoff Martín Langhoff added a comment -

            Blocks

            Show
            martinlanghoff Martín Langhoff added a comment - Blocks
            Hide
            martinlanghoff Martín Langhoff added a comment -

            This issue blocks MDL-5486 - split up $lang/auth.php

            Show
            martinlanghoff Martín Langhoff added a comment - This issue blocks MDL-5486 - split up $lang/auth.php
            Hide
            mina Nicolas Martignoni added a comment -

            This string $string['configshowsiteparticipantslist'] of admin.php (legacy in 1.7) was also deleted.

            Show
            mina Nicolas Martignoni added a comment - This string $string ['configshowsiteparticipantslist'] of admin.php (legacy in 1.7) was also deleted.
            Hide
            dougiamas Martin Dougiamas added a comment -

            I've done a lot of cleanups on the lang packs in 1.7 and HEAD (resorted them and added missing strings).

            More to go ... I'll clean up 1.6 too so we can do a better compare ... unfortunately I just now accidentally deleted the lang cleanup script which I just wrote. (

            Show
            dougiamas Martin Dougiamas added a comment - I've done a lot of cleanups on the lang packs in 1.7 and HEAD (resorted them and added missing strings). More to go ... I'll clean up 1.6 too so we can do a better compare ... unfortunately I just now accidentally deleted the lang cleanup script which I just wrote. (
            Hide
            dougiamas Martin Dougiamas added a comment -

            Ah, just read about Eloy's script, yay!

            Show
            dougiamas Martin Dougiamas added a comment - Ah, just read about Eloy's script, yay!
            Hide
            mina Nicolas Martignoni added a comment -

            Another one ?

            Index: lesson.php
            ===================================================================
            RCS file: /cvsroot/moodle/moodle/lang/en_utf8/lesson.php,v
            retrieving revision 1.19
            retrieving revision 1.20
            diff -u -d -r1.19 -r1.20

            Show
            mina Nicolas Martignoni added a comment - Another one ? Index: lesson.php =================================================================== RCS file: /cvsroot/moodle/moodle/lang/en_utf8/lesson.php,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20
            Hide
            mina Nicolas Martignoni added a comment -

            Another candidate:

            Index: lesson.php
            ===================================================================
            RCS file: /cvsroot/moodle/moodle/lang/en_utf8/lesson.php,v
            retrieving revision 1.22
            retrieving revision 1.23
            diff -u -d -r1.22 -r1.23

            Show
            mina Nicolas Martignoni added a comment - Another candidate: Index: lesson.php =================================================================== RCS file: /cvsroot/moodle/moodle/lang/en_utf8/lesson.php,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23
            Hide
            mudrd8mz David Mudrak added a comment -

            Since MDL-8409 has been fixed, the lang.php now does not delete string from language packs, but remarks them as ORPHANED (i.e. without the English source).

            I would like to have language branches as well (i.e. to use the same branching/tagging schema as in the moodle CVS module), but I would prefer lang maintainers to vote about this change.

            Show
            mudrd8mz David Mudrak added a comment - Since MDL-8409 has been fixed, the lang.php now does not delete string from language packs, but remarks them as ORPHANED (i.e. without the English source). I would like to have language branches as well (i.e. to use the same branching/tagging schema as in the moodle CVS module), but I would prefer lang maintainers to vote about this change.
            Hide
            mudrd8mz David Mudrak added a comment -

            It does not fix the issue, but it prevents strings lost.

            Show
            mudrd8mz David Mudrak added a comment - It does not fix the issue, but it prevents strings lost.
            Hide
            mina Nicolas Martignoni added a comment -

            Another potential problem related:

            Update of /cvsroot/moodle/moodle/lang/en_utf8/help
            In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv17916/lang/en_utf8/help

            Removed Files:
            courseenrollable.html
            Log Message:
            old help file removed

            Show
            mina Nicolas Martignoni added a comment - Another potential problem related: Update of /cvsroot/moodle/moodle/lang/en_utf8/help In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv17916/lang/en_utf8/help Removed Files: courseenrollable.html Log Message: old help file removed
            Hide
            mina Nicolas Martignoni added a comment -

            Yet another issue related.

            The following group.php strings were deleted from the HEAD lang pack, but are still needed in 18_STABLE.

            This is very annoying. I have to add comments in lang files to remind me which strings are obsolete and in which version. And I don't know WHEN to delete these obsolete strings.

            This is difficult to maintain for translators on the bleeding edge the development of Moodle

            $string['cancel']
            $string['editgroupingpermissions']
            $string['errorinvalidgrouping']
            $string['errornotingrouping']
            $string['errornotingroupingedit']
            $string['groupfor']
            $string['return']
            $string['save']
            $string['showusersalreadyingroup']
            $string['teachersgroupmark']
            $string['teachersgroupview']
            $string['teachersoverride']
            $string['upgradeconfirm']
            $string['viewallgroupsactivities']
            $string['viewallgroupsmembers']
            $string['viewowngroup']

            Show
            mina Nicolas Martignoni added a comment - Yet another issue related. The following group.php strings were deleted from the HEAD lang pack, but are still needed in 18_STABLE. This is very annoying. I have to add comments in lang files to remind me which strings are obsolete and in which version. And I don't know WHEN to delete these obsolete strings. This is difficult to maintain for translators on the bleeding edge the development of Moodle $string ['cancel'] $string ['editgroupingpermissions'] $string ['errorinvalidgrouping'] $string ['errornotingrouping'] $string ['errornotingroupingedit'] $string ['groupfor'] $string ['return'] $string ['save'] $string ['showusersalreadyingroup'] $string ['teachersgroupmark'] $string ['teachersgroupview'] $string ['teachersoverride'] $string ['upgradeconfirm'] $string ['viewallgroupsactivities'] $string ['viewallgroupsmembers'] $string ['viewowngroup']
            Hide
            skodak Petr Skoda added a comment -

            I think I deleted them myself because I though that those were in fact never used. Am I right?

            Show
            skodak Petr Skoda added a comment - I think I deleted them myself because I though that those were in fact never used. Am I right?
            Hide
            mina Nicolas Martignoni added a comment -

            After a quick search, I found that:

            • editgroupingpermissions is used once in group/index.php
            • errorinvalidgrouping once in group/printgrouping.php
            • errornotingroupingedit once in group/grouping.php
            • save once in group/edit_form.php and once in group/grouping_edit_form.php

            The others should IMHO be deleted from the 18_STABLE branch too.

            Show
            mina Nicolas Martignoni added a comment - After a quick search, I found that: editgroupingpermissions is used once in group/index.php errorinvalidgrouping once in group/printgrouping.php errornotingroupingedit once in group/grouping.php save once in group/edit_form.php and once in group/grouping_edit_form.php The others should IMHO be deleted from the 18_STABLE branch too.
            Hide
            skodak Petr Skoda added a comment -

            Groupings are not working in 1.8.0 and not available in 1.8.1 - that leaves only group/edit_form.php

            Show
            skodak Petr Skoda added a comment - Groupings are not working in 1.8.0 and not available in 1.8.1 - that leaves only group/edit_form.php
            Hide
            mina Nicolas Martignoni added a comment -

            So I suggest to delete them all in MOODLE_18_STABLE. Is it possible to get the 'save' string in moodle.php lang file? It seems that the same 'save' string is at least present in 4 other lang files : data.php, quiz.php, wiki.php and xmldb.php. If yes, we could use this string for edit_form.php.

            Show
            mina Nicolas Martignoni added a comment - So I suggest to delete them all in MOODLE_18_STABLE. Is it possible to get the 'save' string in moodle.php lang file? It seems that the same 'save' string is at least present in 4 other lang files : data.php, quiz.php, wiki.php and xmldb.php. If yes, we could use this string for edit_form.php.
            Hide
            mina Nicolas Martignoni added a comment -

            These files and their references in other help files were deleted from MOODLE_18_STABLE and HEAD. See MDL-11514 and MDL-11515.

            formatblackboard.html
            formatmissingword.html

            Show
            mina Nicolas Martignoni added a comment - These files and their references in other help files were deleted from MOODLE_18_STABLE and HEAD. See MDL-11514 and MDL-11515 . formatblackboard.html formatmissingword.html
            Hide
            mudrd8mz David Mudrak added a comment -

            The backward compatibility issue came on table together with another issue - see http://moodle.org/mod/forum/discuss.php?d=85897

            Is language branching really necessary? Or even wanted? I mean, it adds a lot of work and duties for translators. One has to regularly merge stable branches into HEAD, backport from HEAD into stable, keep in mind moving _MERGED flag, resolve conflicts and so on...

            Show
            mudrd8mz David Mudrak added a comment - The backward compatibility issue came on table together with another issue - see http://moodle.org/mod/forum/discuss.php?d=85897 Is language branching really necessary? Or even wanted? I mean, it adds a lot of work and duties for translators. One has to regularly merge stable branches into HEAD, backport from HEAD into stable, keep in mind moving _MERGED flag, resolve conflicts and so on...
            Hide
            koen Koen Roggemans added a comment -

            Nicolas is good at tracking down the issues caused by developers who forget about the rule not to delete or modify strings
            So he found quite a lot. But I believe that working branched with translators with not so much experience using CVS (and that is AFAIK the majority) will cause a lot more trouble.

            Show
            koen Koen Roggemans added a comment - Nicolas is good at tracking down the issues caused by developers who forget about the rule not to delete or modify strings So he found quite a lot. But I believe that working branched with translators with not so much experience using CVS (and that is AFAIK the majority) will cause a lot more trouble.
            Hide
            mina Nicolas Martignoni added a comment -

            Yes Koen, I totally agree with you that branching would add complexity for many translators.

            We should though find a solution. Any clues?

            Show
            mina Nicolas Martignoni added a comment - Yes Koen, I totally agree with you that branching would add complexity for many translators. We should though find a solution. Any clues?
            Hide
            mina Nicolas Martignoni added a comment -
            Show
            mina Nicolas Martignoni added a comment - This commit deletes 2 strings from lesson.php: http://cvs.moodle.org/moodle/lang/en_utf8/lesson.php.diff?r1=1.22.2.2&r2=1.22.2.3
            Hide
            mina Nicolas Martignoni added a comment -

            File search.php was deleted from HEAD yerterday. Is this OK for backward compat?

            It seems that nobody (including me) doens't want language branching anymore. I suggest we rename this bug to something like "Language strings and files should not be deleted from language packs for backward compatibility".

            Show
            mina Nicolas Martignoni added a comment - File search.php was deleted from HEAD yerterday. Is this OK for backward compat? It seems that nobody (including me) doens't want language branching anymore. I suggest we rename this bug to something like "Language strings and files should not be deleted from language packs for backward compatibility".
            Hide
            koen Koen Roggemans added a comment -

            search.php is deleted from moodle/search/lang/... because it shouldn't be there -> it should be in the language pack. It was a leftover from contrib time for search

            Show
            koen Koen Roggemans added a comment - search.php is deleted from moodle/search/lang/... because it shouldn't be there -> it should be in the language pack. It was a leftover from contrib time for search
            Hide
            mina Nicolas Martignoni added a comment -

            Oh my Didn't pay enough attention to the file path. Sorry for the spam.

            Show
            mina Nicolas Martignoni added a comment - Oh my Didn't pay enough attention to the file path. Sorry for the spam.
            Hide
            dougiamas Martin Dougiamas added a comment -

            See MDL-15252 for some activity on this.

            Show
            dougiamas Martin Dougiamas added a comment - See MDL-15252 for some activity on this.
            Hide
            mudrd8mz David Mudrak added a comment -

            This has been solved by AMOS database (MDL-21690)

            Show
            mudrd8mz David Mudrak added a comment - This has been solved by AMOS database ( MDL-21690 )

              People

              • Votes:
                7 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  24/Nov/10