Example #1
0
function get_translation_matrix($domain)
{
    global $default_domain;
    $default_domain = $domain;
    $l10n = _get_reader();
    return $l10n->cache_translations;
}
Example #2
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);
}
/**
 * Overrides the domain and category for a plural context-based lookup.
 */
function _dcnpgettext($domain, $context, $singular, $plural, $category)
{
    $l10n = _get_reader($domain, $category);
    return _encode($l10n->npgettext($context, $singular, $plural));
}
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);
        }
    }
}
/**
 * Plural version of dcgettext.
 */
function _dcngettext($domain, $single, $plural, $number, $category)
{
    $l10n = _get_reader($domain, $category);
    //return $l10n->ngettext($single, $plural, $number);
    return _encode($l10n->ngettext($single, $plural, $number));
}