diff --git a/include/functions.php b/include/functions.php index 5582c2b0..32fc5ae2 100644 --- a/include/functions.php +++ b/include/functions.php @@ -4090,4 +4090,42 @@ return $max_ts; } + function T_js_decl($s1, $s2) { + if ($s1 && $s2) { + $s1 = preg_replace("/\n/", "", $s1); + $s2 = preg_replace("/\n/", "", $s2); + + $s1 = preg_replace("/\"/", "\\\"", $s1); + $s2 = preg_replace("/\"/", "\\\"", $s2); + + return "T_messages[\"$s1\"] = \"$s2\";\n"; + } + } + + function init_js_translations() { + + print 'var T_messages = new Object(); + + function __(msg) { + if (T_messages[msg]) { + return T_messages[msg]; + } else { + return msg; + } + } + + function ngettext(msg1, msg2, n) { + return (parseInt(n) > 1) ? msg2 : msg1; + }'; + + $l10n = _get_reader(); + + for ($i = 0; $i < $l10n->total; $i++) { + $orig = $l10n->get_original_string($i); + $translation = __($orig); + + print T_js_decl($orig, $translation); + } + } + ?> diff --git a/index.php b/index.php index f94d361d..f2b035d4 100644 --- a/index.php +++ b/index.php @@ -77,7 +77,6 @@ "lib/dojo/dojo.js", "lib/dijit/dijit.js", "lib/dojo/tt-rss-layer.js", - "localized_js.php", "errors.php?mode=js") as $jsfile) { echo javascript_tag($jsfile); @@ -99,6 +98,7 @@ print get_minified_js(array("tt-rss", "functions", "feedlist", "viewfeed", "FeedTree")); + init_js_translations(); ?> diff --git a/localized_js.php b/localized_js.php deleted file mode 100644 index dcb2159c..00000000 --- a/localized_js.php +++ /dev/null @@ -1,45 +0,0 @@ - - -var T_messages = new Object(); - -function __(msg) { - if (T_messages[msg]) { - return T_messages[msg]; - } else { - return msg; - } -} - -function ngettext(msg1, msg2, n) { - return (parseInt(n) > 1) ? msg2 : msg1; -} - -total; $i++) { - $orig = $l10n->get_original_string($i); - $translation = __($orig); - - print T_js_decl($orig, $translation); - } -?> diff --git a/prefs.php b/prefs.php index 0715f26e..32496875 100644 --- a/prefs.php +++ b/prefs.php @@ -39,7 +39,6 @@ "lib/dojo/dojo.js", "lib/dijit/dijit.js", "lib/dojo/tt-rss-layer.js", - "localized_js.php", "errors.php?mode=js") as $jsfile) { echo javascript_tag($jsfile); @@ -60,6 +59,7 @@ print get_minified_js(array("functions", "deprecated", "prefs")); + init_js_translations(); ?>