]> git.p6c8.net - jirafeau.git/commitdiff
add translation in javascript, closes #23
authorJerome Jutteau <mojo@couak.net>
Thu, 16 Jul 2015 21:23:21 +0000 (23:23 +0200)
committerJerome Jutteau <mojo@couak.net>
Thu, 16 Jul 2015 21:25:26 +0000 (23:25 +0200)
Signed-off-by: Jerome Jutteau <mojo@couak.net>
lib/functions.js.php [moved from lib/functions_v7.js with 95% similarity]
lib/lang.php
lib/locales/template.json
lib/template/header.php

similarity index 95%
rename from lib/functions_v7.js
rename to lib/functions.js.php
index 0e17b50593fbff3722ee104638552240b0c8863d..24be13fe429bfd06e74cf29d2bcbb4a508b41642 100644 (file)
@@ -1,3 +1,4 @@
+<?php
 /*
  *  Jirafeau, your web file repository
  *  Copyright (C) 2015  Jerome Jutteau <j.jutteau@gmail.com>
  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
+define ('JIRAFEAU_ROOT', dirname (__FILE__) . '/../');
+require (JIRAFEAU_ROOT . 'lib/config.original.php');
+require (JIRAFEAU_ROOT . 'lib/settings.php');
+require (JIRAFEAU_ROOT . 'lib/functions.php');
+require (JIRAFEAU_ROOT . 'lib/lang.php');
+?>
+
+function translate (expr)
+{
+    var lang_array = <?php echo json_lang_generator () ?>;
+    if (lang_array.hasOwnProperty(expr))
+        return lang_array[expr];
+    return expr;
+}
+
 function show_link (url, reference, delete_code, crypt_key, date)
 {
     // Upload finished
@@ -521,25 +537,25 @@ function milliseconds_to_time_string (milliseconds)
     var temp = Math.floor(milliseconds / 1000);
     var years = Math.floor(temp / 31536000);
     if (years) {
-        return years + ' year' + numberEnding(years);
+        return years + ' ' + translate ('year') + numberEnding(years);
     }
     var days = Math.floor((temp %= 31536000) / 86400);
     if (days) {
-        return days + ' day' + numberEnding(days);
+        return days + ' ' + translate ('day') + numberEnding(days);
     }
     var hours = Math.floor((temp %= 86400) / 3600);
     if (hours) {
-        return hours + ' hour' + numberEnding(hours);
+        return hours + ' ' + translate ('hour') + numberEnding(hours);
     }
     var minutes = Math.floor((temp %= 3600) / 60);
     if (minutes) {
-        return minutes + ' minute' + numberEnding(minutes);
+        return minutes + ' ' + translate ('minute') + numberEnding(minutes);
     }
     var seconds = temp % 60;
     if (seconds) {
-        return seconds + ' second' + numberEnding(seconds);
+        return seconds + ' ' + translate ('second') + numberEnding(seconds);
     }
-    return 'less than a second';
+    return translate ('less than a second');
 }
 
 function upload_time_estimation_time()
index 0e8203bf8dc8ae5ad2ec877a8605bb6c17cca7fd..225323f3ba67179e4cb3f3a3518196f19280c9d0 100644 (file)
@@ -67,4 +67,30 @@ function t ($text)
     return $trans[$text];\r
 }\r
 \r
+function json_lang_generator ()\r
+{\r
+    $cfg = $GLOBALS['cfg'];\r
+    $languages_list = $GLOBALS['languages_list'];\r
+\r
+    /* Detect user's langage if we are in automatic mode. */\r
+    if (strcmp ($cfg['lang'], 'auto') == 0)\r
+        $l = substr ($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);\r
+    else\r
+        $l = $cfg['lang'];\r
+\r
+    /* Is the langage in the list ? */\r
+    $found = false;\r
+    foreach ($languages_list as $key => $v)\r
+        if (strcmp ($l, $key) == 0)\r
+            $found = true;\r
+\r
+    /* Don't translate english. */\r
+    if (!($found && strcmp ($l, "en")))\r
+        return "{}";\r
+\r
+    /* Open translation file. */\r
+    $trans_j = file_get_contents (JIRAFEAU_ROOT . "lib/locales/$l.json");\r
+    return $trans_j; \r
+}\r
+\r
 ?>\r
index 4c06bebd3f3e18bdf30f09e91e4c3bb1656cda50..cf7aa814b0f4e67639bf25f3585108d250598fc5 100644 (file)
     "Action": "",
     "Del link": "",
     "Del file and links": "",
-    "Deleted links": ""
+    "Deleted links": "",
+    "year": "",
+    "day": "",
+    "minute": "",
+    "hour": "",
+    "second": "",
+    "less than a second": ""
 }
index d6dc4b3ea85b4dc9cc4820e90f532bfd6f42e77e..275e3f0ea5e5e4bf2b1f0637fb5fae865e5cd0ca 100644 (file)
@@ -46,6 +46,6 @@ else
   <link href="<?php echo $web_root . 'media/' . $style . '/style.css.php'; ?>" rel="stylesheet" type="text/css" />
 </head>
 <body>
-<script type="text/javascript" language="Javascript" src="lib/functions_v7.js"></script>
+<script type="text/javascript" language="Javascript" src="lib/functions.js.php"></script>
 <div id="content">
 <h1><a href="<?php echo $web_root; ?>"><?php echo t('Jirafeau, your web file repository'); ?></a></h1>

patrick-canterino.de