Mercurial > hg > mgallery
changeset 92:17d1da44b140
Implement simple translation system for the "hardcoded" messages.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 16 Sep 2016 04:00:55 +0300 |
parents | f6e77f23c30b |
children | 82754fdd64ca |
files | mgallery.php |
diffstat | 1 files changed, 40 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mgallery.php Thu Sep 15 17:34:24 2016 +0300 +++ b/mgallery.php Fri Sep 16 04:00:55 2016 +0300 @@ -10,8 +10,27 @@ $pageLang = "fi"; $pageLanguages = [ - "fi" => "Finnish", - "en" => "English", + "fi" => "FIN", + "en" => "ENG", +]; + + +$pageTranslations = +[ + "gallery_error" => [ + "fi" => "Tapahtui virhe", + "en" => "An error occured", + ], + + "invalid_gallery_path" => [ + "fi" => "Gallerian tiedostopolkua <b>%1</b> ei ole olemassa.", + "en" => "Gallery path <b>%1</b> does not exist or is invalid.", + ], + + "view_original_size" => [ + "fi" => "Näytä alkuperäiskoossa", + "en" => "View in original size", + ], ]; @@ -24,6 +43,22 @@ setcookie($name, $value, time() + 365*24*60*60, $galBaseURL); // expire in a year } + +function mgQM($msg) +{ + global $pageTranslations, $pageLang; + + if (isset($pageTranslations[$msg]) && isset($pageTranslations[$msg][$pageLang])) + $str = $pageTranslations[$msg][$pageLang]; + else + $str = $msg; + + foreach (func_get_args() as $argn => $argv) + $str = preg_replace("/\%".$argn."/", $argv, $str); + return $str; +} + + function mgTrimIfString($val) { if (is_string($val)) @@ -546,8 +581,8 @@ mgPrintPageHeader(mgGetVal(["title_prefix", "title_sep"], "%1%2")."ERROR!"); echo - "<h1>Gallery error</h1>\n". - "<p>Gallery path <b>".chentities($galPath)."</b> does not exist or is invalid.</p>\n"; + "<h1>".mgQM("gallery_error")."</h1>\n". + "<p>".mgQM("invalid_gallery_path", chentities($galPath))."</p>"; //echo "<p>filename=: '".$filename."', X: galData=".intval(isset($galData)).", galEntries=".intval(isset($galEntries))."\n"; @@ -596,19 +631,16 @@ mgGetNaviControlImageBoxJS($galImagesIndex, $index, "prevBtm", -1)."\n". mgGetNaviControlImageBox($galImagesIndex, $index, "prev", -1)."\n". "<div class=\"imageBox\">\n". -// "<a id=\"imageLink\" target=\"_blank\" href=\"".$galImageURL.$galPath."/".$galImage."\">". "<img id=\"imageImage\" src=\"".mgGetImageURL($galTNPath, $data["base"].$galMedSuffix.$data["ext"])."\" alt=\"".chentities($data["base"].$galMedSuffix.$data["ext"])."\">". -// "</a>\n". "</div>\n". mgGetNaviControlImageBoxJS($galImagesIndex, $index, "nextBtm", 1)."\n". mgGetNaviControlImageBox($galImagesIndex, $index, "next", 1)."\n". "<div class=\"imageCaption\">".mgGetArr($data, "caption", "%1", "")."</div>\n". - "<a id=\"imageLink\" target=\"_blank\" href=\"".$galImageURL.$galPath."/".$galImage."\">". "<div class=\"infoBox\">\n". mgGetArr($data, "datetime", "<span class=\"infoDateTime\">%1</span>", "", "mgTimeStr"). implode(", ", array_filter($list, function($a) { return $a !== NULL; })). + "<a id=\"imageLink\" target=\"_blank\" href=\"".$galImageURL.$galPath."/".$galImage."\">".mgQM("view_original_size")."</a>\n". "</div>". - "</a>\n". "</div>\n"; if ($naviFlags & GNAV_BOTTOM)