Ejemplo n.º 1
0
/**
 * donas tradukon de datumbazero laŭ lingvo.
 *
 * @param string $tabelo (abstrakta) tabelnomo
 * @param string $kampo kamponomo
 * @param string $id identigilo de la datumbaza objekto
 * @param string $lingvo la ISO-kodo de la lingvo.
 * @return string la tradukon de tiu valoro.
 */
function traduku_datumbazeron($tabelo, $kampo, $id, $lingvo) {

    $dosiero = $GLOBALS['agordoj']["db-trad-prefikso"] . ':/' . $tabelo."/".$kampo;
    
//     $query =
//         "SELECT traduko FROM `". $GLOBALS['agordoj']['db_tabelo'] . "` " .
//         " WHERE (dosiero = '$dosiero') " .
//         "   AND (iso2 = '$lingvo') " .
//         // ĉeno + 0: estas stranga maniero konverti cheno al numero, uzante
//         //         nur la komencon (kie estas ciferoj), forĵetante la reston.
//         "   AND (cheno+0 = '$id')";

//     debug_echo("<!--" . $query . "-->");

    $sql = datumbazdemando('traduko',
                           'tradukoj',
                           array('dosiero' => $dosiero,
                                 'iso2' => $lingvo,
                                 '(cheno+0)' => $id));
    $rez = sql_faru($sql);
    switch(mysql_num_rows($rez)) {
    case 0:
        // traduko mankas
        return null;
    case 1:
        $linio = mysql_fetch_assoc($rez);
        return
            $lingvo == 'eo' ?
            transformu_x_al_eo($linio['traduko']):
            $linio['traduko'];
    default:
        // pluraj tradukoj por sama dosiero + lingvo + ĉeno - ne okazu.
        darf_nicht_sein("pluraj tradukoj por " . $dosiero . " # " .$id .
            " [" + $lingvo + "]");
    }

}
Ejemplo n.º 2
0
/**
 * elektas la landonomon inter interna kaj tradukita nomo,
 * ankaux depende de elekto de lingvo.
 *
 * @param eostring   $interna_nomo  la interna nomo de la lando.
 * @param tradstring $tradukita  la traduknomo en $lingvo el la traduktabelo,
 *                               aux NULL.
 * @param lingvokodo $lingvo  kodo de lingvo.
 */
function kalkulu_landonomon($interna_nomo, $tradukita, $lingvo)
{
    if ($tradukita and $lingvo == 'eo') {
        return transformu_x_al_eo($tradukita);
    } else {
        if ($tradukita) {
            return $tradukita;
        } else {
            if ($lingvo) {
                $landonomo = $interna_nomo;
                $GLOBALS['bezonis-eo-tekston'] = true;
                if (marku_traduko_eo_anstatauxojn) {
                    $landonomo .= "¹";
                }
                return $landonomo;
            } else {
                return $interna_nomo;
            }
        }
    }
}
function kreu_informmesagxan_tekston_en($lingvo, $partoprenanto, $partopreno, $renkontigxo, $kodigo)
{
    eniru_lingvon($lingvo);
    $tabelo = kreu_konfirmilan_kontroltabelon($partoprenanto, $partopreno, $kodigo);
    $sxablono = CH_lau("~#informmesagxo-marto-sxablono", $lingvo);
    if (!$sxablono) {
        return null;
    }
    //	$sxablono = preg_replace('/\r/m', '', $sxablono);
    $sxablono = transformu_x_al_eo(utf8_al_iksoj($sxablono));
    $kotizo = new Kotizokalkulilo($partoprenanto, $partopreno, $renkontigxo, new Kotizosistemo($renkontigxo->datoj['kotizosistemo']));
    debug_echo("<!-- kotizokalkulilo: \n" . var_export($kotizo, true) . "-->");
    $kotForm = new TekstaKotizoFormatilo($lingvo, $kodigo);
    $kotizo->tabelu_kotizon($kotForm);
    //    debug_echo( "<!-- kotizotabelo X : \n" .
    //                $kotForm->preta_tabelo . "\n -->");
    $invitpeto = $partopreno->sercxu_invitpeton();
    if (!$invitpeto) {
        $vizoteksto = CH("~#vizo-ne-mendis");
    } else {
        if ($kotizo->detalolisto['pagoj']['sumo'] <= 0) {
            $vizoteksto = CH("~#vizo-ne-antauxpagis");
        } else {
            if ($invitpeto->datoj['invitletero_sendenda'] == 'n') {
                $vizoteksto = CH("~#vizo-ne-sendos");
            } else {
                $vizoteksto = CH("~#vizo-ja-sendos");
            }
        }
    }
    switch ($partopreno->datoj['studento']) {
        case 'j':
            $studentoteksto = CH("~#vi-estos-studento");
            break;
        case 'n':
            $studentoteksto = CH("~#vi-ne-estos-studento");
            break;
        default:
            $studentoteksto = CH("~#se-studento-bonvolu-informi");
            break;
    }
    $speciala = array("detaltabelo" => $tabelo, "vizoteksto" => $vizoteksto, "studentoteksto" => $studentoteksto, "kotizotabelo" => $kotForm->preta_tabelo);
    debug_echo("<!-- speciala: " . var_export($speciala, true) . "-->");
    $datumoj = array('anto' => $partoprenanto, 'eno' => $partopreno, 'igxo' => $renkontigxo, 'speciala' => $speciala);
    $teksto = transformu_tekston($sxablono, $datumoj);
    $teksto = eotransformado($teksto, $kodigo);
    eliru_lingvon();
    return $teksto;
}