} else {
$downloaderror = get_string($cd->get_error(), 'error');
}
+ } else {
+ // install parent lang if defined
+ if ($parentlang = get_parent_language()) {
+ if ($cd = new component_installer('http://download.moodle.org', 'lang16', $parentlang.'.zip', 'languages.md5', 'lang')) {
+ $cd->install();
+ }
+ }
}
}
return $return;
}
+/**
+ * Returns parent language of current active language if defined
+ * @return string
+ */
+function get_parent_language() {
+ $parentlang = get_string('parentlanguage');
+ if ($parentlang === '[[parentlanguage]]' or strpos($parentlang, '<') !== false) {
+ return '';
+ }
+ return $parentlang;
+}
+
/**
* Prints out a translated string.
*
if (eval($result) === FALSE) {
trigger_error('Lang error: '.$identifier.':'.$langfile, E_USER_NOTICE);
}
- if (!empty($parentlang)) { // found it!
+ if (!empty($parentlang) and strpos($parentlang, '<') === false) { // found it!
//first, see if there's a local file for parent
$locallangfile = $location.$parentlang.'_local'.'/'.$module.'.php';
if (!file_exists($CFG->dirroot .'/lang/'. $lang .'/countries.php') &&
!file_exists($CFG->dataroot.'/lang/'. $lang .'/countries.php')) {
- if ($parentlang = get_string('parentlanguage')) {
+ if ($parentlang = get_parent_language()) {
if (file_exists($CFG->dirroot .'/lang/'. $parentlang .'/countries.php') ||
file_exists($CFG->dataroot.'/lang/'. $parentlang .'/countries.php')) {
$lang = $parentlang;
} else if (file_exists($CFG->dataroot .'/lang/'. $lang .'/pix.php')) {
$path = $CFG->dataroot .'/lang/'. $lang .'/pix.php';
- } else if ($parentlang = get_string('parentlanguage') and $parentlang != '[[parentlanguage]]') {
+ } else if ($parentlang = get_parent_language()) {
return get_list_of_pixnames($parentlang); //return pixnames from parent language instead
}
$lang = current_language();
if (!file_exists($CFG->dataroot .'/lang/'. $lang .'/currencies.php')) {
- if ($parentlang = get_string('parentlanguage')) {
+ if ($parentlang = get_parent_language()) {
if (file_exists($CFG->dataroot .'/lang/'. $parentlang .'/currencies.php')) {
$lang = $parentlang;
} else {