IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Réecriture fichier de traduction


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut Réecriture fichier de traduction
    Bonjour

    j'ai creer un site traduit en plusieurs langues.j'ai actuellement 3 langues le seul probleme quand j'envoi le fichier a mes traducteurs ils comprennent pas le fonctionnement du fichier qui est comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    define("HOME", "Home" , TRUE);
    define("erreurvalidation", "Vous devez activer votre inscription avant de pouvoir vous connecter." , TRUE);
    define("formvalid", "Renvoyer mon code de validation" , TRUE);
    define("REG", "Inscription" , TRUE);
    define("MERCI", "Remerciement" , TRUE);
    define("CONTACT", "Contact" , TRUE);
    define("SOUVENIR", "Se Rappeler de moi" , TRUE);
    define("PERDU", "Mot de passe perdu" , TRUE);
    je vous passes les détails de tous le fichier ^^

    Je pensais donc mettre en place un petit script qui permet d'écrire dans un fichier php.
    En gros un formulaire avec tous les champs en français et qui modifie vers la langue traduit.

    Dans une premiere colonne le texte en français et dans une deuxieme colonne un input text ou le traducteur puisse modifier et quand il sauvegarde ça enregistre automatiquement comme ça dans un fichier php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define("HOME", "latraduction" , TRUE);
    pour faire plus simple je veux facilité la traduction pour les traducteurs .

    Merci de votre aide

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut
    j'ai un départ mais je voudrais juste modifier la colonne deux ce que j'appelle colonne 2 c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define("colonne1", "colonne2", true);
    dans mon départ dans l'input text j'ai toute la ligne donc define etc... et je voudrais seulement afficher le texte à traduire

    Nom : exemple.png
Affichages : 616
Taille : 130,3 Ko

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut
    j'y suis presque il me manque un pêtit détail je souhaiterais mettre plusieurs valeur dans le meme tableau voila mon code si quelqu'un a une idée pour corriger

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    if(isset($_POST['traduction'])){
    $traduction = explode("|",$_POST['traduction']);
    $hidden = explode("|",$_POST['hidden']);
    $config = file('result.txt');
    $qui = "Select * from traduction";
    		$res = $conn->query($qui);
    $configContent = '<?php';
    
    	$valeur = explode('|',$valeur);
    	
         for ($i =1; $i<count($traduction); $i++)
        {
    		
    		 $current_check = $traduction[$i];
    		 $code = $hidden[$j];
        $configContent .= 'define("", "'.$current_check.'", TRUE); ';
    
    	}
    	for ($j =1; $j<count($hidden); $j++)
    		
        {
    		 $code = $hidden[$j];
        $configContent .= 'define("'.$code.'", "", TRUE); ';
    		}
    $configContent .= '?>';
    $nomfichier = $_POST["nomfichier"];
    $fp = fopen ("$nomfichier.php", "w+");  
    fseek ($fp, 0);  
    fputs ($fp, $configContent);  
    fclose ($fp);

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    je ne pense pas que créer 500 mots clés sous forme de constantes soit la meilleure idée du siècle, vois-tu...
    N'oublie pas qu'il est possible de récupérer un tableau de données à la soumission d'un formulaire et je pense que dans ton cas de figure cela devrait être beaucoup plus approprié.

    Pour les traductions, mis à part la base de données tu peux aussi passer par des fichiers textes normés. Personnellement, j'utilise le standard .tmx v1.4b pour Translation Memory eXchange.
    Un peu de lecture par ici

    Tiens, une idée de code pour ton problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <!DOCTYPE html>
    <html>
    <head></head>
    <body>
        <form action="<?= $_SERVER['PHP_SELF']?>" method="post">
            <p><label>FR = </label><input type="text" name="i18['reg']['fr']" value="Inscription" readonly></p>
            <p><label>EN = </label><input type="text" name="i18['reg']['en']" value=""></p>
            <p><label>IT = </label><input type="text" name="i18['reg']['it']" value=""></p>
            <br>
            <p><label>FR = </label><input type="text" name="i18['souvenir']['fr']" value="Se rappeler de moi" readonly></p>
            <p><label>EN = </label><input type="text" name="i18['souvenir']['en']" value=""></p>
            <p><label>IT = </label><input type="text" name="i18['souvenir']['it']" value=""></p>
            <input type="submit" value="Enregistrer">
        </form>
    </body>
    </html>
    <?php
     
    if ( ! empty($_POST)) {
        print_r($_POST);
    }
     
    ?>
    Voici comment sera le super tableau $_POST une fois le formulaire rempli et soumis (note bien l'alignement de la structure du tableau sur les valeurs name du formulaire) :
    Nom : 2017-08-29_000000.jpg
Affichages : 516
Taille : 28,3 Ko
    Bref, regarde un peu les bonnes pratiques en matière de traduction histoire de ne pas t'embarquer sur un radeau qui finira par couler.

    @++

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut
    En sachant que j'ai déjà une vingtaine de membres une trentaine de pages, et 3 fichiers de traduction, anglais malgache et français je n'ai pas d'autres choix de resté actuellement.

    j'ai pensé a une idée dans la nuit, je vais d'abord enregistrer les de traduction dans la BDD et ensuite créer le fichier .php

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut
    j'ai donc fait comme l'idée que j'ai eu.
    je donne la méthode à ceux pour qui ça intéresse pour l'avenir

    J'ai donc créer une table nommé traduc avec les champs

    id code traduction titre cle

    j'ai creer un premier fichier qui m'enregistre dans la BDD les mots clef pour la traduction
    Ensuite j'ai creer tous les champs correspondants aux mots clefs

    une fois formulaire rempli j'ai tous sauvegarder dans la base ayant déja créer auparavant les codes dans la bdd j'ai juste fait un update par rapport au numero de la cle

    et pour finir un bouton pour creer le fichier qui reprend donc les informations de la bdd pour les enregistrés dans un fichier php.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ResourceBundle & Fichier de traduction dans .jar
    Par Babas007 dans le forum Général Java
    Réponses: 6
    Dernier message: 08/12/2011, 09h35
  2. [Delphi 2006] Probleme fichiers de traduction
    Par lejert dans le forum Langage
    Réponses: 2
    Dernier message: 29/09/2011, 14h15
  3. [SP-2010] Fichier de traduction .resx
    Par Clebit dans le forum SharePoint
    Réponses: 0
    Dernier message: 17/05/2011, 17h25
  4. [Joomla!] Créer son propre fichier de traduction fr-FR.com*.ini
    Par mimi31110 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 05/08/2009, 13h53
  5. [Débutant(e)] Eclipse fichiers de traduction
    Par Raef dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/08/2005, 15h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo