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 » » Note aux traducteurs  
AuteurNote aux traducteurs
jpb
2738       
 

jpb
  Posté : 08-02-2005 19:22

Petit rappel : NPDS utilise plusieurs moyens de traduction. Le plus important est l'utilisation de la fonction translate (qui puise ces ressources dans les fichiers lang), mais il utilise aussi les balises langues dans certain cas. Ces balises réservées d'ordinaire aux auteurs, rédacteurs et administrateurs pour la traduction du contenu seront aussi utilisées pour la traduction de certaine partie de la structure pour les thèmes, les blocs, et l'affichage des titres des fenêtre du navigateur. Aussi l'ensemble de l'implémentation d'une nouvelle langue va se faire au moyen de ces deux techniques plus une petite retouche graphique.

L'implémentation d'une nouvelle lang pour NPDS se résume donc à :

1) créations de 5 nouveaux fichiers lang (ou malang* est le nom de votre nouvelle langue)
dans le dossier : npds/language/
editor-english.php dupliquer/renommer editor-malang.php
lang-adm-english.php dupliquer/renommer lang-adm-malang.php
lang-french.php dupliquer/renommer lang-malang.php
pp-lang-french.php dupliquer/renommer pp-lang-malang.php
push-lang-french.php dupliquer/renommer push-lang-malang.php

2) traduction des ressources de ces 5 fichiers lang

3) un cas particulier le fichier npds/language/lang-multi.php
Comme son nom l'indique ce fichier contient certaines ressources traduites dans toutes les langues disponible dans NPDS. Ici il faut donc rajouter un case dans le switch de la fonction translate_ml($u_langue, $message)
par exemple :
case "malang":
switch($message) {
case "Abonnement": $tmp="Subscribe"; break;
case "Le titre de la derniËre publication est": $tmp="xxx..."; break;
case "L'URL pour cet article est : ": $tmp="xxx..."; break;
case "Vous recevez ce Mail car vous vous Ítes abonnÈ ‡ : ": $tmp="xxx..."; break;..............etc
}
break;

4) contrôle de disponibilité de votre langue pour l'éditeur tiny-mce ou traduction (plusieurs fichiers...) si non disponible...
En cours de test de fonctionnement du multilangue de tiny-mce dans le contexte de NPDS...

5) adaptation du thème
traduction des éléments du thème
theme statique utilisation de la fonction translate()
theme dynamique utilisation des balises langues

6) traduction des ressources (utilisation des balises langue[french][/french][navajo][/navajo] etc...) de : themes/pages.php
=> ceci permet une traduction du titre de la fenêtre du navigateur en fonction de la page appelée (si elle est bien entendue implémentée dans pages.php).Voir l'exemple de pages.php implémentés en 3 langues dans la future sable)
NB: les ressources doivent être en html NCRs (hexa ou decimal &#x...; ou &#[0-9];)

7) reste un petit exercice graphique pour fabriquer les boutons du menu et du forum

création d'un dossier malang dans images/menu et à vos editeurs graphiques pour créer les fichiers suivants (à part l'index bien sûr)...
malang:
comment.gif
conf_comments.gif
index.html
moderate.gif
result.gif
vote.gif


création d'un dossier malang dans images/forum/icons à vos editeurs graphiques pour créer les fichiers suivants (à part l'index bien sûr)...
malang:
delete.gif
index.html
msg_read.gif
new_topic.gif
reply.gif
reply_locked.gif
send.gif


8) Pour tous les modules (de base de NPDS) c'est pour l'instant une autre histoire...on a encore beaucoup de travail...Car si certain respecte une structure bien établi d'autres ne sont pas multilangues ou n'ont pas besoin de traduction...
Voici un petit résumé encore un peu superficiel

Dans la liste des modules ci-dessous :
- appel à la fonction translate() ou/et la fonction adm-translate() (càd utilisant les ressources des fichier npds/language/lang-xxx.php ou/et npds/language/lang-adm-xxx.php) ces modules ne doivent poser aucun problèmes.(sauf oublie éventuel d'une des deux fonctions pour la traduction d'une occurence)

- appel à la fonction module-xxx-translate()
ne doivent poser aucun problèmes.(sauf oublie éventuel de la fonction pour la traduction d'une occurence).Ici la procédure est la même que pour NPDS : module-xxx-english.php dupliquer/renommer module-xxx-malang.php et ...traduire...

- aucun appel de traduction ??
soit le module n'a pas besoin de traduction soit elle n'est pas implémentée...ces modules nécessitent donc une analyse plus poussée et pour certains des corrections

-les modules ou pseudo modules suivant nécessiteront plus de travail en cours de test...
glossaire, phpBB2, ppm...


les modules:
24-counter: aucun appel de traduction ?? (à implémenter pour le texte de l'email à l'administrateur et pour present.php)
aide-contextuelle: aucun appel de traduction ??
archive-stories: appel à la fonction translate()
bloc-notes: aucun appel de traduction ??
block-scroll-article: aucun appel de traduction ??
block-User_Info: appel à la fonction Block_User_Info_translate()
blog: appel à la fonction translate()
cluster-paradise: aucun appel de traduction ??
contact: aucun appel de traduction ??
encapsuleur: appel à la fonction projet-translate()
freespeaking: appel à la fonction free-translate()
glossaire: appel à la fonction translate() qui marche et à la fonction glo-translate() qui ne marche pas...
!include!: aucun appel de traduction directe à définir dans les fichiers inclus...
ipban: appel à la fonction ipban-translate()
links: appel à la fonction translate()
marquetapage: appel à la fonction translate()
meta-lang: appel à la fonction translate()
phpBB2: utilise une fonction de traduction propre à phpBB2 ?? (pas fait de test avec le chinois les ressources existent dans de nombreuses langues...)
ppm: utilise une fonction de traduction dérivé de PostNuke?? il faut de toute manière retoucher le code pour implémenter une nouvelle langue de plus les ressources langues ne fonctionnent pas en utf8...pour l'instant conversion du fichier lang/fra.php en html (NCRs) au lieu d'une combinaison d'entités html et de texte
psul: aucun appel de traduction??
sform: appel aux fonctions adm-translate() et translate()
track-visitor:aucun appel de traduction ??
upload: appel à la fonction upload_translate()


Notes et remarques :
attention :
- une faute de syntaxe dans un fichier langue et c'est la page blanche (avec ou sans message d'erreur)...
- une faute dans l'équilibrage (balance) des balises langues et c'est le navigateur qui déraille et une page impossible à charger...
- pour l'instant les fichiers langues doivent impérativement être écrit en html avec utilisation de NCRs et non pas d'entités.
- une utilisation de langue non latine signifie de fait une conversion des bases de données NPDS en utf8 (en cours de développement)

* malang est de préférence : le nom de la langue en anglais ou le code lang conformément à ISO 639-1 (http://www.loc.gov/standards/iso639-2/englangn.html#top)...

Voili j'ai probablement oublié des choses mais c'est déjà une bonne base pour commencer merci de vos commentaires...

jp

  Profil  www  Citation   
jdeep6
576      
 

jdeep6
  Posté : 08-02-2005 20:17

je dis bravo!
pour le 7) reste un petit exercice graphique pour fabriquer les boutons du menu et du forum

l'utilisation dune lib graphique sur le serveur pourrai créer des images gif selon les themes dispo par la meme occasion mais c'est pousser le vice un peu loin... quoique ca aurai de la gueule. JE peux voir ce que j'ai de mon coté sur ce type d'appli / code

  Profil  E-mail  www  Citation   
zoheir
1637       
 

zoheir
  Posté : 08-02-2005 21:00

L'Edit tant attendu. Merci jpb ! Sans cette directive, je me serais arrêté au troisième point.

  Profil  E-mail  www  Citation   
guiguithos
131     

guiguithos
  Posté : 22-02-2005 18:13

Merci ca aide enormement, faudrait peut etre mettre ce sujet en post it histoire d aider les traducteurs

  Profil  Citation   
  
Sauter à :

Temps : 0.0147 seconde(s)