Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » English and others languages Support » » Traductions dans une table  
AuteurTraductions dans une table
shemzone
3  

shemzone
  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 ]

  Profil  Citation   
developpeur
24560       
 

developpeur
  Posté : 21-03-2004 18:05

TRES faisable mais aussi assez "glouton" en requêtes Mysql ... ou alors tu lit la table completement et tu la stocke dans un fichier ....

Pour des probs de charges MySql, cette solution est donc difficelement envisagéable.

A suivre

  Profil  E-mail  www  Citation   
shemzone
3  

shemzone
  Posté : 21-03-2004 18:34

Citation : "21-03-2004 18:05, developpeur a écrit :
ou alors tu lit la table completement et tu la stocke dans un fichier ....
"
----------

Ca c'est une bonne idée !
En fait, je vois plutôt l'aspect "maintenance", est-il plus facile de maintenir une table ou un fichier php (tel qu'il existe aujourd'hui) ?
Quoiqu'il en soit, si un nouveau terme apparait, dans un cas, il faut fournir la requete d'insert SQl et dans l'autre le fichier lang modifié... alors...

C'est vrai que ce que j'avais fait marchait du tonnerre mais c'était sur Oracle qui tournait sur un bipro...
Shemzone

  Profil  Citation   
developpeur
24560       
 

developpeur
  Posté : 21-03-2004 23:25

En fait, il faudrait faire un jour, une appli capable de rechercher toutes les trads, de les triers pour pouvoir en éliminer certaines (fausses, inutiles, redondantes ...) et ainsi alléger le code de NPDS (et surtout les fichiers de Trad).

Ensuite on pourrait imaginer une appli de gestion et de fabrication d'un fichier statique (comme supercache par exemple)

Voilu

  Profil  E-mail  www  Citation   
  
Sauter à :

Temps : 0.0105 seconde(s)