Beispiel #1
0
require "functions.php";
header("Content-Type: text/plain; charset=UTF-8");
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";
    }
}
?>

var T_messages = new Object();

function __(msg) {
	if (T_messages[msg]) {
		return T_messages[msg];
	} else {
		return msg;
	}
}

<?php 
$l10n = _get_reader();
for ($i = 0; $i < $l10n->total; $i++) {
    $orig = $l10n->get_original_string($i);
    $translation = __($orig);
    print T_js_decl($orig, $translation);
}
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);
        if (strpos($orig, "") !== FALSE) {
            // Plural forms
            $key = explode(chr(0), $orig);
            print T_js_decl($key[0], _ngettext($key[0], $key[1], 1));
            // Singular
            print T_js_decl($key[1], _ngettext($key[0], $key[1], 2));
            // Plural
        } else {
            $translation = __($orig);
            print T_js_decl($orig, $translation);
        }
    }
}