/** * 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 + "]"); } }
/** * 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; }