Index du Forum » » English and others languages Support

Auteur

Traductions dans une table
shemzone
3  

  Posté : 20-03-2004 14:49

Bonjour à tous !
Je me posais la question sur la gestion des traductions dans NPDS. J'ai pu voir que les trads étaient codées en dur dans un fichier lang dans le repertoire "language".
Est-ce qu'il ne serait pas judicieux de balancer tout ça dans une table "langues" avec une clé ID_lng + .ID_label qui en fonction du "$lng=$_GET["LanguageCode"];" ou d'un clic sur un drapeau irai chercher le résultat String_Label dans la table au lieu du fichier "lang-ma_langue.php"?
J'ai, il y a quelques années fait ça en asp et base Oracle, ça doit être facilement jouable avec php/mySql, qu'en pensez-vous ? Est-ce que ça serait facilement réalisable sur NPDS sans tout "casser" ?

J'imagine un truc du genre :
une fonction stringDisplay($lng,$label)
une requête select string_label from tbl_lang_labels where ID_lng=$lng and ID_label=$label
avec le résultat qui va bien : mysql_fetch_array($result)) et <? echo $label["String_Label"]; ?>

Puis à l'affichage :
<?
stringDisplay(lng,"myLabelID")
?>


Un exemple rapide fait à l'instant :
-
<?
$table1="tbl_websites tbl_ws";
$table2="tbl_languages tbl_lang";
$table3="tbl_links tbl_l";

$query = "SELECT tbl_ws.ID_WS, tbl_ws.LABEL, tbl_ws.ID_LANG, tbl_lang.LANG_LABEL, tbl_lang.LANG_FLAG, tbl_l.LINK, tbl_l.LINK_LABEL, tbl_l.LINK_TARGET " ;
$query = $query."FROM $table1, $table2, $table3 ";
$query = $query."WHERE tbl_ws.ID_LANG = tbl_lang.ID_LANG ";
$query = $query."AND tbl_l.ID_LANG = tbl_lang.ID_LANG ";
$result = mysql_query($query);


while ($val = mysql_fetch_array($result)) { ?>
<? echo $val["ID_WS"]; ?> -
<? echo $val["LABEL"]; ?> -
<? echo $val["ID_LANG"]; ?> -
<? echo $val["LANG_LABEL"]; ?>-
<? echo ("[a href='http://").$val["LINK"].("' target='").$val["LINK_TARGET"].("'>").("[img src='").$val["LANG_FLAG"].("']").$val["LINK_LABEL"].("[/a]"); ?>
-
Merci pour vos conseils

Shemzone

[ Message édité par : shemzone : 20-03-2004 14:56 ]

[ Message édité par : shemzone : 20-03-2004 14:57 ]



Cet article provient de NPDS

http://www.npds.org/viewtopic.php?topic=10699&forum=32