foreach($installedlangs as $l=>$unused) {
$SESSION->lang = $l;
$parent = get_string('parentlanguage', 'langconfig');
- if ($parent == 'en') {
+ if ($parent === 'en') {
continue;
}
- if (strpos($parent, '[[') !== false) {
- continue; // no parent
- }
if (!isset($installedlangs[$parent])) {
$missingparents[$l] = $parent;
}
}
$parentlang = get_string('parentlanguage', 'langconfig');
- if ($parentlang === 'en' or $parentlang === '[[parentlanguage]]' or strpos($parentlang, '<') !== false) {
+ if ($parentlang === 'en') {
$parentlang = '';
}
// not all of them are supposed to be defined
return '';
}
- if ($identifier !== 'parentlanguage') {
- debugging("Invalid get_string() identifier: '$identifier' or component '$component'", DEBUG_DEVELOPER);
+ if ($identifier === 'parentlanguage' and ($component === 'langconfig' or $component === 'core_langconfig')) {
+ // parentlanguage is a special string, undefined means use english if not defined
+ return 'en';
}
+ debugging("Invalid get_string() identifier: '$identifier' or component '$component'", DEBUG_DEVELOPER);
return "[[$identifier]]";
}