diff --git a/admin/lang.php b/admin/lang.php index 82c2482370b..a39c68e7ab5 100644 --- a/admin/lang.php +++ b/admin/lang.php @@ -24,33 +24,31 @@ switch ($mode) { case "missing": $navigation = "$strchecklanguage -> $strmissingstrings"; + $title = $strmissingstrings; break; case "compare": $navigation = "$strchecklanguage -> $strcomparelanguage"; + $title = $strcomparelanguage; break; default: $navigation = $strchecklanguage; break; } - print_header("$site->fullname", "$site->fullname", + print_header("$site->fullname: $title", "$site->fullname", "$stradministration -> $navigation"); if (!$mode) { - print_heading("$strcurrentlanguage: $CFG->lang"); + print_heading("$strcurrentlanguage: $USER->lang - ".get_string("thislanguage")); print_heading("$strmissingstrings"); print_heading("$strcomparelanguage"); print_footer(); exit; } - if ($CFG->lang == "en") { - notice("Nothing to check - you are using the English language pack!", "lang.php"); - } - // Get a list of all the root files in the English directory - $langdir = "$CFG->dirroot/lang/$CFG->lang"; + $langdir = "$CFG->dirroot/lang/$USER->lang"; $enlangdir = "$CFG->dirroot/lang/en"; if (! $stringfiles = get_directory_list($enlangdir, "", false)) { @@ -93,7 +91,6 @@ } } } - closedir($dir); if (! $files = get_directory_list("$CFG->dirroot/lang/en/help", "CVS")) { error("Could not find English language help files!"); @@ -126,7 +123,19 @@ } else if ($mode == "compare") { + if (isset($HTTP_POST_VARS['file'])){ // Save a file + $newstrings = $HTTP_POST_VARS; + $file = $newstrings['file']; + unset($newstrings['file']); + if (lang_save_file($langdir, $file, $newstrings)) { + notify(get_string("changessaved")." ($langdir/$file)"); + } else { + error("Could not save the file '$file'!", "lang.php?mode=compare"); + } + } + foreach ($stringfiles as $file) { + print_heading("$file", "LEFT", 4); if (!file_exists("$langdir/$file")) { @@ -134,29 +143,71 @@ continue; } + error_reporting(0); + if ($f = fopen("$langdir/$file","r+")) { + $editable = true; + } else { + $editable = false; + echo "
".get_string("makeeditable", "", "$langdir/$file")."
"; + } + error_reporting(7); + + unset($string); include("$enlangdir/$file"); $enstring = $string; + ksort($enstring); unset($string); include("$langdir/$file"); - - echo "