Fichiers de langue - format
ChMat
Webmaster
Prolongation plus technique au sujet de la méthode technique à utiliser pour récupérer les chaînes du portail selon la langue utilisée.
Belfo disait :
Citation :Pour ton ficher lang, je ne sait pas, personelment je pensait a une table de traduction.
Je m'explique, une enorme table (array) qui contien des mots cles du programme
$text=array();
$text['welkome']='Bienvenu sur le Portail Web de '.$unite;
La traduction reserait donc simple a faire, n'importe quel volontaire qui a envie de se taper 4000 ligne de traduction, et voile.
Apres on charge ou le ficher en.php, ou fr.php ou ru.php ou je sait pas quoi .php et le jeu est fait.
[faut surment de la fantasie pour tout les champ de la table]
ChMat disait :
Citation :
Pas mal tout ça !
Petit message en coup de vent pour répondre à Belfo :
L'idée du fichier php par langue est intéressante.
Mais pour économiser les ressources, je pense qu'on utilisera plusieurs fichiers php par langue (pourquoi pas un par fichier du portail)
Par souci de standardisation, nous passerons aussi au codage Unicode. Il faudra donc étudier la conversion des fichiers et du contenu de la db dans ce format.
Voir son profil
Belfo disait :
Citation :
Naturelment plusiers ficher ^^
Mais faudra alors travailler sur le division, pour inclur le moin de ficher, mais sans devoir reecrir trop de fois les memes traduction.
Mais un truc sera moin propre, si tu fait des update, tu pourrait oublier quel ficher faut inclure, ansi que si tu a un module externe, qui utilise des textes du portail, il devra savoir quoi inclure.
C'est un travail monstre, mais il y a moyen.
Sinon pour la bdd j'ai pas compris d'ou elle sort ^^
Tu pense pas sauver tout sur la bdd? c'est trop lourd >< [tu immagine pour charger une page, le nombre de requette pour tout les messages ><]
CyberMulot disait :
Citation :et un fichier XML?
Belfo disait :
Citation :non pas beau ^^
Mieux vaut un array, sur le script tu n'a que a metre '.$text['Welcome'].' et voila ton message

Posté le 11/01/2006 à 23:49:47
Re : Fichiers de langue - format
ChMat
Webmaster
Citation :mais sans devoir reecrir trop de fois les memes traduction
Pour ça, j'ai quelques idées derrière la tête (je travaille dans le domaine de la traduction informatique, on utilise certains outils dont on peut s'inspirer). En tout cas, si tu veux dire "sans devoir traduire dix fois la même phrase dans dix fichiers différents".
Citation :Sinon pour la bdd j'ai pas compris d'ou elle sort ^^
Tu pense pas sauver tout sur la bdd? c'est trop lourd >< [tu immagine pour charger une page, le nombre de requette pour tout les messages ><]
Non, je parle du contenu de la base de données (messages du forum, données des membres, texte des pages, ...). Si on passe du codage ISO-8859-1 à l'Unicode, il faudra voir les démarches à faire. (Ca promet d'être drôle

)
Citation :et un fichier XML?
Le fichier XML peut être envisagé oui. Mais ça demanderait de mettre en place un système pour récupérer le texte à l'intérieur des fichiers XML.
Mais en l'état, la solution des tableaux telle que proposée par belfo est plus facile à mettre en place.

Posté le 11/01/2006 à 23:59:27
Re : Fichiers de langue - format
belfo
Membre du projet
Scout Web Portail
mmm je voit.
Surment les caracters russes peuvent pas etre sauve sur le iso ...
mais theoriqument l'unicode est une extensione, donc ca deuvrait rien changer, mais entre le dit et le fait il y a toujours des differences
Sinon bha pour ce que tu propose, voyons ce que ca saurait

Posté le 12/01/2006 à 12:04:20
Re : Fichiers de langue - format
juste une question,
je ne connais pas le php a fond, mais dans le cas d'un tableau dans le fichier fr.php, ce fichier devra donc etre completement téléchargé lors de l'ouverture de chaque page? ou c'est le serveur qui va ouvrir le fichier fr.php et chercher dans le tableau la bonne valeur?

Posté le 14/01/2006 à 18:30:22
Re : Fichiers de langue - format
belfo
Membre du projet
Scout Web Portail
le server ce chargera de tout

Posté le 14/01/2006 à 20:20:13
Re : Fichiers de langue - format
ChMat
Webmaster
Exact, le portail se chargera de comprendre le bazar
Ca donnerait en version light plus ou moins ceci :
Code :
<?php
$langue_portail = 'fr'; // ou toute autre langue
include('lang/'.$langue_portail.'/'.$nomdufichier.'.php');
echo $lang['welcome'];
?>
Et chaque fichier de langue contiendrait un tableau $lang[] avec l'ensemble des chaînes disponibles sur la page.

Posté le 15/01/2006 à 12:57:18
Re : Fichiers de langue - format
Jag!
Conseil & Astucier
Scout Web Portail
D'expérience, avoir plusieurs fichiers semble plus facile au premiers abords, notamment pour la création, mais à l'utilisation comme pour les modifications un fichier général est plus pratique.
Deux formats sont principalement utilisés pour l'internationnalisation des applications :
gettext et
XLIFF.
Le principe est sensiblement différent:
- Le plus vieux (
gettext) consiste à créer un fichier texte par langue qui reprend comme id le texte dans la langue originale du fichier et comme valeur le texte traduit dans la langue pour chaque phrase de l'application. ces fichiers portent l'extension .po puis sont compilés sous l'extension .mo . De cette manière le fichier compilé (pour prendre moins de place) est chargé en mémoire pour une execution beaucoup plus rapide qu'aller chercher des valeurs dans un tableau gigantestque en php

.
Il faut que gettext soit installé sur le serveur
-
XLIFF reprend le même principe de clef - valeur mais cette fois-ci dans un fichier xml (donc plus facile à éditer et à manipuler) et est chargé en mémoire sous forme d'un objet. Le problème dans notre cas c'est qu'il n'existe pas encore de module XLIFF pour php4 (du moins pas à ma connaissance) par contre il existe des traducteurs XLIFF => po. Ce qui permet d'avoir un support stable et facilement verifiable (xml) et d'utiliser une base reconnue et stable
gettext
C'est cette combinaisons qui est la plus utilisée dans les projets open-source en php récent. gettext pur étant largement le plus utilisé sur toutes les applications depuis longtemps.

Posté le 28/11/2006 à 14:05:03
Re : Fichiers de langue - format
ChMat
Webmaster
Ah tiens, du coup j'ai plein de questions
Et la compilation de .po à .mo, elle passe par quel programme ?
Le fichier ressemble à quoi une fois compilé ?
C'est éditable facilement par un webmaster ou il faut empiler plein de connaissances ?
Intéressant tout ça

Posté le 28/11/2006 à 22:21:18
Re : Fichiers de langue - format
Jag!
Conseil & Astucier
Scout Web Portail
pour compiler un po en mo, on utilise msgfmt (c'est le nom de la commande), le problème c'est que ça marche sans problème sous linux, mais que sous windows, il y a pas mal de problèmes notamment au niveau du cache et des repertoires de ressource etc. Par chance moi je n'utilise que Linux et je veux bien m'en charger
Le fichier mo résultant est un fichier purement binaire (donc non éditable). Donc à chaque modification, il faut éditer le po et le recompiler...

Posté le 29/11/2006 à 10:30:55
Re : Fichiers de langue - format
belfo
Membre du projet
Scout Web Portail
Je prefere encore la solution d'un ficher .php facile d'acces et de personalisation.

Posté le 30/11/2006 à 23:47:00
Re : Fichiers de langue - format
Jag!
Conseil & Astucier
Scout Web Portail
Editer les po c'est super facile ya des outils prévu pour ca sur toutes les plateformes, ca reste propre et on risque pas qu'il manque un ; ou un ] c'est juste la compilation qui parfois pose des problèmes sous windows et on ne recompile pas toutes les heure non plus il suffit de fournir le po d'origine au traducteur il nous renvoie un po dans sa langue et nous on a juste a le compiler pour pouvoir l'utiliser dans l'applic maintenant il se peut que les outils sous windows aient évolué ca fait super longtemps que j'ai plus utilisé windows donc je suis plus trop au fait des outils. Maintenant vous faites encore comme vous voulez moi je ne fais que vous suggerer des outils professionels...
edit: quelques liens
poEdit
exemple de po

Posté le 01/12/2006 à 13:58:15
Re : Fichiers de langue - format
belfo
Membre du projet
Scout Web Portail
ce pas plutot pour du C/C++ ce type de methode?
Et l'interet d'un .php est que une personne meme francophone mais d'un pays different pourrait modifier la langue pour son site, pour etre plus proche de leur terminologie plus facilment.
Enfin a nouveau ce un avis, faudra bien choisir.

Posté le 02/12/2006 à 11:25:59
Re : Fichiers de langue - format
belfo
Membre du projet
Scout Web Portail
tjr pas choisi la methode?
car l'agenda 2.0 prendra en consideration un support multilungue (d'un cote il facilitera aussi le travailleur des correcteur ortographique car on touchera plus au code mais a un unique ficher

)

Posté le 17/08/2007 à 20:02:08
Re : Fichiers de langue - format
ChMat
Webmaster
Hum non, pas encore.
On va d'abord sortir la 1.2 avant de développer pour la 2.0... Et là, je me replonge doucement dans le code

Posté le 18/08/2007 à 11:53:57