X-Git-Url: https://git.p6c8.net/jirafeau_project.git/blobdiff_plain/625f38a7decfc1ed72e0120c6ff34fcbe2d55100..43468e8bcd094f7d1debe7b6f9b5499e0bb8ffe9:/lib/lang.php

diff --git a/lib/lang.php b/lib/lang.php
index 86ffd4d..263afb0 100644
--- a/lib/lang.php
+++ b/lib/lang.php
@@ -40,18 +40,27 @@ function t ($text)
         if (strcmp ($l, $key) == 0)
             $found = true;
 
-    /* Get translation execpt for english. */
-    if ($found && strcmp ($l, "en"))
-    {
-        /* $tr is defined in this requirement. */
-        require (JIRAFEAU_ROOT . "lib/lang/$l.php");
-
-        foreach ($tr as $o => $t)
-            if (strcmp ($text, $o) == 0)
-                return "$t";
-    }
-    /* Return original text if no translation is found or already in english. */
-    return ($text);
+    /* Don't translate english. */
+    if (!($found && strcmp ($l, "en")))
+        return $text;
+
+    /* Open translation file. */
+    $trans_j = file_get_contents (JIRAFEAU_ROOT . "lib/locales/$l.json");
+    if ($trans_j === FALSE)
+        return $text;
+
+    /* Decode JSON. */
+    $trans = json_decode ($trans_j, true);
+    error_log(print_r($trans, true));
+    if ($trans === NULL)
+        return $text;
+
+    /* Try to find translation. */
+    $translation = $trans[$text];
+    if (empty ($translation))
+        return $text;
+
+    return $translation;
 }
 
 ?>