MyBB.support, le portail francophone de MyBB
Traduire un Plugin ? - Version imprimable

+- MyBB.support, le portail francophone de MyBB (http://mybb.fr)
+-- Forum : Plug-ins et modules pour MyBB (http://mybb.fr/forum-32.html)
+--- Forum : Support (http://mybb.fr/forum-15.html)
+--- Sujet : Traduire un Plugin ? (/thread-5072.html)



Traduire un Plugin ? - xEvengelion - 28-12-2011

Bonsoir,
Je souhaite traduire un plugin, chose que j'ai déjà fais, mais en le re-mettant sur mon FPT (en ayant actualisé le fichier), la traduction ne ce fait pas.

Je vous laisse voir le fichier par vous-même :

Code :
<?php
/*
Plugin Ads after first post
(c) 2005-2008 by MyBBoard.de
Website: http://www.mybboard.de
*/
$plugins->add_hook("postbit", "adsafp");

//Informationen zum Plugin
function adsafp_info()
{
    return array(
        "name"        => "Annonces après premier post",
        "description" => "Affiche annonces après les postes de vos forums.",
        "website"     => "http://www.mybboard.de",
        "author"      => "MyBBoard.de, traduit par Simba (xEvengelion)",
        "authorsite"  => "http://www.mybboard.de",
        "version"     => "2.2",
        "guid"        => "1c7274c3dd8a6ad850eac910dbd58e4c",
        "compatibility" => "16*"
        );
}

// Aktivierung
function adsafp_activate() {

    global $db;

    // Variablen für dieses Plugin einfügen
    require MYBB_ROOT."/inc/adminfunctions_templates.php";
    find_replace_templatesets("postbit", '#</tbody>
</table>#', "</tbody>
</table>{\$post['adsaf']}");
    find_replace_templatesets("postbit_classic", '#</table>
    </td>
</tr>
</table>#', "</table>
    </td>
</tr>
</table>{\$post['adsaf']}");
        
    // Einstellungsgruppe hinzufügen
    $adsafp_group = array(
        "gid" => "NULL",
        "name" => "Ads after first post",
        "title" => "Ads after first post",
        "description" => "Settings for the plugin.",
        "disporder" => "1",
        "isdefault" => "no",
        );
    $db->insert_query("settinggroups", $adsafp_group);
    $gid = $db->insert_id();
    
    // Einstellungen hinzufügen
    $adsafp_1 = array(
        "sid" => "NULL",
        "name" => "adsafp_code_onoff",
        "title" => "Activer / Désactiver",
        "description" => "Voulez-vous afficher des annonces, après les messages ?",
        "optionscode" => "yesno",
        "value" => "0",
        "disporder" => "1",
        "gid" => intval($gid),
        );
    $db->insert_query("settings", $adsafp_1);

    $adsafp_2 = array(
        "sid" => "NULL",
        "name" => "adsafp_groups",
        "title" => "Groupes d'utilisateurs",
        "description" => "S'il vous plaît entrer les ID des groupes d'utilisateurs qui devraient voir des annonces séparées par des virgules (0 = tous les groupes).",
        "optionscode" => "text",
        "value" => "0",
        "disporder" => "2",
        "gid" => intval($gid),
        );
    $db->insert_query("settings", $adsafp_2);
    
    $adsafp_3 = array(
        "sid" => "NULL",
        "name" => "adsafp_align",
        "title" => "Positionnement",
        "description" => "Choisissez l'alignement.",
        "optionscode" => "radio\r\n1=Gauche\r\n2=Centrer\r\n3=Droite",
        "value" => "2",
        "disporder" => "3",
        "gid" => intval($gid),
        );
    $db->insert_query("settings", $adsafp_3);
    
    $adsafp_4 = array(
        "sid" => "NULL",
        "name" => "adsafp_mode",
        "title" => "Mode",
        "description" => "Où voulez-vous afficher les annonces ?",
        "optionscode" => "radio\r\n1=Après premier post sur chaque page (par défaut)\r\n2=Après le premier message et ensuite après chaque postes x\r\n3=Après chaque postes x",
        "value" => "1",
        "disporder" => "4",
        "gid" => intval($gid),
        );
    $db->insert_query("settings", $adsafp_4);
    
    $adsafp_5 = array(
        "sid" => "NULL",
        "name" => "adsafp_afterxposts",
        "title" => "Nombre de messages",
        "description" => "Entrez le nombre de postes, après que vous souhaitez afficher les annonces (uniquement nécessaire pour le deuxième mode)",
        "optionscode" => "text",
        "value" => "5",
        "disporder" => "5",
        "gid" => intval($gid),
        );
    $db->insert_query("settings", $adsafp_5);
    
    $adsafp_6 = array(
        "sid" => "NULL",
        "name" => "adsafp_code",
        "title" => "Code",
        "description" => "Entrez le code HTML pour les annonces.",
        "optionscode" => "textarea",
        "value" => "",
        "disporder" => "6",
        "gid" => intval($gid),
        );
    $db->insert_query("settings", $adsafp_6);
    
    // settings.php erneuern
    rebuild_settings();
}

// Deaktivierung
function adsafp_deactivate() {

    global $db;

    // Variablen von dieses Plugin entfernen
    require MYBB_ROOT."/inc/adminfunctions_templates.php";
    find_replace_templatesets("postbit", "#{\$post['adsaf']}#", "", 0);
    find_replace_templatesets("postbit_classic", "#{\$post['adsaf']}#", "", 0);
    
    // Einstellungsgruppen löschen
    $query = $db->query("SELECT gid FROM ".TABLE_PREFIX."settinggroups WHERE name='Ads after first post'");
    $g = $db->fetch_array($query);
    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE gid='".$g['gid']."'");

    // Einstellungen löschen
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE gid='".$g['gid']."'");

    // Rebuilt settings.php
    rebuild_settings();
}

// Funktionen
function adsafp($post) {

    global $mybb, $postcounter;

    $post['adsaf'] = "";
    $adgroups = explode(",", $mybb->settings['adsafp_groups']);
    if($mybb->settings['adsafp_code_onoff'] != 0 && ($mybb->settings['adsafp_groups'] == 0 || in_array($mybb->user['usergroup'], $adgroups))) {

        // Alignment
        switch ($mybb->settings['adsafp_align']) {
        case 1:
            $ads_align = "left";
            break;
        case 2:
            $ads_align = "center";
            break;
        case 3:
            $ads_align = "right";
            break;
        }

        // Ads after first post
        if ($mybb->settings['adsafp_mode'] == 1) {
            if (($postcounter - 1) % $mybb->settings['postsperpage'] == 0) {
                $post['adsaf'] = "<div class=\"adsafp\" style=\"text-align:".$ads_align.";\">".stripslashes($mybb->settings['adsafp_code'])."</div>";
            }
        }

        // Ads after first post and then every x posts
        if ($mybb->settings['adsafp_mode'] == 2) {
            if ($postcounter == "1" || ($postcounter - 1) % ($mybb->settings['adsafp_afterxposts']) == 0) {
                $post['adsaf'] = "<div class=\"adsafp\" style=\"text-align:".$ads_align.";\">".stripslashes($mybb->settings['adsafp_code'])."</div>";
            }
        }
    
        // Ads after every x posts
        if ($mybb->settings['adsafp_mode'] == 3) {
            if ($postcounter % ($mybb->settings['adsafp_afterxposts']) == 0) {
                $post['adsaf'] = "<div class=\"adsafp\" style=\"text-align:".$ads_align.";\">".stripslashes($mybb->settings['adsafp_code'])."</div>";
            }
        }
    }
}

// Einstellungen erneuern
if(!function_exists("rebuild_settings")) {
    function rebuild_settings() {
        
        global $db;
        
        $query = $db->query("SELECT * FROM ".TABLE_PREFIX."settings ORDER BY title ASC");
        while($setting = $db->fetch_array($query)) {
            $setting['value'] = addslashes($setting['value']);
            $settings .= "\$settings['".$setting['name']."'] = \"".$setting['value']."\";\n";
        }
        $settings = "<?php\n/*********************************\ \n  DO NOT EDIT THIS FILE, PLEASE USE\n  THE SETTINGS EDITOR\n\*********************************/\n\n$settings\n?>";
        $file = fopen(MYBB_ROOT."/inc/settings.php", "w");
        fwrite($file, $settings);
        fclose($file);
        
    }
}
?>



RE: Traduire un Plugin ? - Saphir - 28-12-2011

Peut-être un cache a vider ? (Je ne sais pas, je propose juste !) Smile


RE: Traduire un Plugin ? - xEvengelion - 28-12-2011

Non ça ne fonctionne pas.
Mais ça peut venir de ce que j'ai traduit ? Une mauvaise manipulation ?



RE: Traduire un Plugin ? - Saphir - 28-12-2011

Je ne vois pas d'erreur de syntaxe, tu es sûr que le transfert s'est effectué correctement ? :s


RE: Traduire un Plugin ? - xEvengelion - 28-12-2011

Oui j'ai supprimer le plugin/Enregistrer de nouveau/redémarré le FTP.
Mais j'ai essayer de l'activé/désactivé et... Le pire et venue, une capture d'écrans dans 2 secondes



RE: Traduire un Plugin ? - exdiogene - 28-12-2011

Je suggère se désinstaller l'ancien plugin pour vider le cache et ensuite de le réinstaller...




RE: Traduire un Plugin ? - Saphir - 28-12-2011

L'apostrophe à "d'utilisateurs" devraient être échappée ("d\'utilisateurs") je pense...


RE: Traduire un Plugin ? - exdiogene - 28-12-2011

Le problème décrit provient des apostrophes du texte qui ne sont pas "escapés" avec un "backslash"...

P.S. Saphir m'a devancé sur la réponse... Wink


RE: Traduire un Plugin ? - xEvengelion - 28-12-2011

J'ai mis des "\" mais rien ne change.
Je ne vois pas d'ou peut venir le problème.



RE: Traduire un Plugin ? - exdiogene - 28-12-2011

Si aucune apostrophe ne fût oubliée alors je suggère de relire ce message :
http://mybb.fr/thread-5072-post-28589.html#pid28589


RE: Traduire un Plugin ? - spyto - 28-12-2011

Juste trois questions :
1. As-tu désinstallé le plugin et vérifié que les paramètres du plugin n'apparaissent plus dans "Configuration" ? Il est possible que ça se soit mal désinstallé et que des valeurs soient restées en dur dans la base.

2. Il faudrait sans doute enregistrer le fichier en UTF-8 sans BOM (pour les caractères accentués)

3. Quel éditeur de texte as-tu utilisé ? Pas le Bloc-Note de Windows j'espère !!!


RE: Traduire un Plugin ? - xEvengelion - 28-12-2011

(28-12-2011, 19:34)spyto a écrit :  Juste trois questions :
1. As-tu désinstallé le plugin et vérifié que les paramètres du plugin n'apparaissent plus dans "Configuration" ? Il est possible que ça se soit mal désinstallé et que des valeurs soient restées en dur dans la base.

2. Il faudrait sans doute enregistrer le fichier en UTF-8 sans BOM (pour les caractères accentués)

3. Quel éditeur de texte as-tu utilisé ? Pas le Bloc-Note de Windows j'espère !!!

J'ai utilisé NotePad ++
Et il y a 6 fois le plugins dans Paramètre.


RE: Traduire un Plugin ? - exdiogene - 28-12-2011

Cela signifie que le plugin ne se désinstalle pas correctement. Il faudra donc supprimer les paramètres en trop, manuellement.


RE: Traduire un Plugin ? - xEvengelion - 28-12-2011

C'est faits mais ça ne fonctionne toujours pas.
Devrais-je re-upload le fichier sur le FTP ?


RE: Traduire un Plugin ? - spyto - 28-12-2011

C'est celui-ci ?
http://mods.mybb.com/view/ads-after-first-post-for-mybb-14x

Si c'est le cas je signale qu'il a été mis à jour pour la dernière fois le 12 août 2008, compatible 1.4, mais peut-être pas 1.6 ?... (même en forçant la compatibilité)

En tout cas c'est à prendre en considération.

Pour preuve, il semble y avoir des modifs à apporter. Je ne comprends pas grand-chose à l'allemand, mais ces discussions sont peut-être instructives ?
http://forum.mybboard.de/thread-18103.html
http://forum.mybboard.de/thread-13278.html
http://forum.mybboard.de/thread-18450.html




RE: Traduire un Plugin ? - Wαяηιηg™ - 29-12-2011

Oui parfois si tu met des caractères comme ' ça fait tout buguer & ont te dit error sql in line...


RE: Traduire un Plugin ? - xEvengelion - 29-12-2011

(28-12-2011, 21:00)spyto a écrit :  C'est celui-ci ?
http://mods.mybb.com/view/ads-after-first-post-for-mybb-14x

Si c'est le cas je signale qu'il a été mis à jour pour la dernière fois le 12 août 2008, compatible 1.4, mais peut-être pas 1.6 ?... (même en forçant la compatibilité)

En tout cas c'est à prendre en considération.

Pour preuve, il semble y avoir des modifs à apporter. Je ne comprends pas grand-chose à l'allemand, mais ces discussions sont peut-être instructives ?
http://forum.mybboard.de/thread-18103.html
http://forum.mybboard.de/thread-13278.html
http://forum.mybboard.de/thread-18450.html

J'ai bien MAJ le Plugin pourtant.
Le problème persiste pour le moment je vais garder le Plugin en anglais puis voir comment faire.





RE: Traduire un Plugin ? - spyto - 29-12-2011

Est-ce qu'il fonctionne correctement en anglais ?


RE: Traduire un Plugin ? - xEvengelion - 29-12-2011

(29-12-2011, 12:47)spyto a écrit :  Est-ce qu'il fonctionne correctement en anglais ?

Oui très bien même.
J'ai bien regarder même le positionnement fonctionne.


 Utilitaire de traduction fourni par Regentronique