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)