Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Cannot Reproduce
-
Affects Version/s: 1.9.3
-
Fix Version/s: None
-
Component/s: Block: Mrbs
-
Labels:None
-
Environment:Moodle4Mac
-
Database:MySQL
-
Affected Branches:MOODLE_19_STABLE
Description
First bug I found is the incorrect handling of the german language setting de_du_utf8. When an user has selected de_du_utf8 as his personal language setting in Moodle then he gets the english strings from en_utf8 in MRBS. This should be wrong!
The language pack de_du_utf8 is an official language pack that is based on de_utf8. There are also the correct settings for the parentlang inside the file moodledata/lang/de_du_utf8. I found no other block that shows the wrong german strings in Moodle.
My first bug fix was to duplicate the language pack so I get to german packages de_utf8 and de_du_utf8 .... but this should not be the best thing. If you change some strings then you have to change them in two file.
Second bug with the language handling is the fact that MRBS does not show the german help file site_faq.html that is currently placed inside the folder lang/de_utf8/help
Attachments
Issue Links
| This issue will be resolved by: | ||||
| MDL-17763 | get_string: parent language not getting checked for blocks and similar additional locations in particular cases |
|
|
|
| This issue is duplicated by: | ||||
| CONTRIB-1127 | Incorrect language handling in some modules with the dependent language packs |
|
|
|
Ralf - As I understand language packs, if there is no specified language it defaults to the English. Since the mrbs block does not have a de_du_utf8 language pack it may be defaulting to English. Although I would expect it to default to the regular german pack. I suspec this is not unique to the MRBS block but to all blocks. We avoid duplication in specialized language packs by just having the strings that are different. So if a particular phrase is expressed differently in a sub-language pack only that string is there. The order of preference would then be:
Is the string defined in de_du_utf8? If not, use the string in de_utf8.
Is the string defined in de_utf8? If not, use the string in en_utf8.
Is the string defined in en_utf8? If not, return [[stringname]].
Does that make sense or explain the behavior you are seeing? Could you provide me a specific example or string that I can look at and/or screen shot?
Thanks for giving the MRBS block a close look and helping out with testing. I have neglected it as I have become involved with other projects.
Peace - Anthony
p.s. I'm getting ready to head to Lousiana - currently in Texas - so I will be traveling most of the day but please post what you find and I'll look at hopefully later tonight.