[resolu] re-init des fichiers languages en base - Version imprimable +- MyBB.support, le portail francophone de MyBB (https://mybb.fr) +-- Forum : MyBB.fr (https://mybb.fr/forum-1.html) +--- Forum : Support (https://mybb.fr/forum-5.html) +--- Sujet : [resolu] re-init des fichiers languages en base (/thread-889.html) |
[resolu] re-init des fichiers languages en base - itchingman - 07-09-2008 Bonjour, J'ai modifier les fichiers de données relatifs aux langues, comme par exemple global.lang.php. Je n'ai, par contre, pas trouvé le moyen de faire recharger les fichiers par myBB sans relancer une installation complète. J'imagine qu'il y a une autre solution mais je ne trouve pas. Une idée ? RE: re-init des fichiers languages en base - Thomas41 - 07-09-2008 Bah un upgrade avec le fichier upgrade.php mais sinon j'ai pas bien compris ton problème RE: re-init des fichiers languages en base - spyto - 07-09-2008 itchingman a écrit :J'ai modifier les fichiers de données relatifs aux langues, comme par exemple global.lang.php. Salut, Que veux-tu dire ??? Que tu as modifié les fichiers de l'archive anglaise ? Ce travail a déjà été fait ! Tu trouveras ici, dans la section "Annonces" plusieurs versions déjà traduites et/ou installables ! - le Langpack fr (ou le Langpack fr complet) qu'on peut appliquer une fois le forum anglais installé). - le pack bilingue complet (installation et toutes les chaînes traduites) complètement bilingue. Va voir ces discussions en section "Annonces". Citation :Je n'ai, par contre, pas trouvé le moyen de faire recharger les fichiers par myBB sans relancer une installation complète. J'imagine qu'il y a une autre solution mais je ne trouve pas. Quel forum as-tu installé ? La version 1.4.1 US ? Si c'est le cas, il te suffit d'upper "par-dessus" le Langpack fr, téléchargeable sur ce forum. Tu uploades les fichiers du Langpack fr par-dessus ton forum déjà installé. Tu auras ensuite la possibilité de basculer l'admin et le forum en français. RE: re-init des fichiers languages en base - itchingman - 07-09-2008 Pour être plus précis j'ai ajouté "la variable" locale = fr_FR et locale = en_US respectivement dans le fichier global.lang français et anglais. Ensuite j'ai besoin d'autres variables qui vont me servir à localiser des images contenant du texte dans les langues respectives. Je préférais ne pas avoir à réinitialiser complètement ma base de données car il est possible que ce genre de situation se reproduise, souvent en production. Est-ce que update.php va bien recharger les 2 fichiers global.lang dans la base ? RE: re-init des fichiers languages en base - itchingman - 07-09-2008 J'ai testé upgrade.php mais en fait il s'agit d'upgrader d'une version à l'autre de myBB. Dans mon cas, je suis bien en version 1.4. Peut être que le fait d'avoir parler "d'upgrader" la base n'était pas approprié. J'ai parlé de la base de donnée car j'ai cru comprendre que tous les templates étaient montés en base ainsi que les fichier "languages" RE: re-init des fichiers languages en base - spyto - 07-09-2008 Bon, explique-toi clairement ! Je ne comprends pas ce que tu racontes ! Ce n'est pas en mettant set_locale à fr que ça va traduire !? Il faut traduire tous les fichiers de langue (plus d'une centaine !!!) et tout ce travail a déjà été fait ! Il te reste juste à te servir... Tu dis que tu es en version 1.4, oui, mais laquelle ? (1.4, 1.4.1, EN, FR...) A - Si tu as installé le forum à l'aide du pack 1.4.1 US et que tu veux pouvoir utiliser le forum et l'admin en français: 1. Télécharge le Langpack ici: http://www.mybb.fr/attachment.php?aid=261 Tout est expliqué dans cette discussion: http://www.mybb.fr/showthread.php?tid=857 Note: si c'est la version 1.4 US que tu as installée alors il te faut le Langpack fr correspondant (cf . http://www.mybb.fr/showthread.php?tid=769) 2. Uploade le contenu de l'archive par-dessus ton installation actuelle en écrasant les fichiers existants. 3. C'est tout ! C'est fini. Il n'y a aucun upgrade.php à lancer ! Maintenant tu peux basculer forum et admin entre anglais et français. Tous les fichiers de langue ont été traduits. De plus les fichiers: - /inc/languages/french/admin/config_settings.lang.php et - /inc/languages/english/admin/config_settings.lang.php contiennent tous les settings et settings groups dans les deux langues. Si c'est ton cas, tu 'as absolument pas à réinitialiser ta BD !!! B - Par ailleurs, tu parles de vouloir localiser les textes des images : c'est impossible !!! Les images sont "en dur" dans le forum et aucun texte n'est modifiable depuis le script, il faut utiliser Photoshop (ou autre) pour en créer de nouvelles traduites et les placer dans le bon répertoire.... Mais là aussi, c'est fait !!!!!! Le Langpack contient aussi les images: /images/french/*.* et /images/groupimages/french/*.* J'ai édité et traduit les images nouvelles par rapport à la v1.2x. Voilà, j'espère avoir été clair... @+ Spyto RE: re-init des fichiers languages en base - itchingman - 07-09-2008 Re, Tout d'abord merci pour votre temps et votre réactivité. Finalement j'ai tout réinstallé proprement et maintenant toutes les modifications que je fais dans les fichiers global.lang.php (Français et English) de ma version 1.4.1 de mybb sont prises en compte au niveau de l'admin et donc du moteur de template. Manifestement je vous ai dérangé pour rien. En effet, ne voyant pas l'impact de mes modifications dans ces fichiers, j'avais imaginé que myBB avait chargé les fichiers en question en base de données. D'où mes questions, qui devaient vous paraître bizarre voire complètement farfelues. Je vous explique tout de même ce que je cherchais à faire afin de vous éclairer un peu ma pensée. Le forum que je suis en train de mettre en oeuvre fait partie d'une "ferme" de sites dont un blog de type wordpress. J'ai mis en oeuvre une navigation entre les différents sites à base de liens sortants depuis chaque site vers les autres. Pour sortir depuis le forum vers le blog il fallait que je sois en mesure de passer la variable de langue de provenance. Par exemple http://monblog.mondomaine.com?lang="languecourante" avec languecourante = en ou fr dans mon cas. Pour faire cela j'avais besoin de récupérer la valeur de la locale. Faute d'arriver à le faire via les variables de mybb j'ai créé l'entrée shortlocale dans global.lang.php avec fr et en comme valeurs dans les fichiers de langues respectifs. Ainsi je peux écrire http://monblog.mondomaine.com?lang={$lang->shortlocale} dans le template header et propager la langue courante dans le forum vers le blog. Pour l'image j'utilise la même logique je crée une entrée monimagecible dans global.lang.php renseignée par monimagecible.gif, pour le français, et myimagetarget.gif pour l'anglais. Ainsi je peux écrire src="images/montemplate/{$lang->monimagecible}" là où j'en ai besoin dans mon template. Encore désolé de vous avoir dérangé pour rien, et merci de votre attention. RE: re-init des fichiers languages en base - Thomas41 - 07-09-2008 D'accord Derien Et n'oublie pas le petit Résolu sur ton Sujet RE: re-init des fichiers languages en base - spyto - 07-09-2008 itchingman a écrit :Ainsi je peux écrire http://monblog.mondomaine.com?lang={$lang->shortlocale} dans le template header et propager la langue courante dans le forum vers le blog. Là c'est beaucoup plus clair !!! Il fallait poser la question comme ça d'emblée ! La "langue actuelle" est inscrite dans le fichier: /inc/settings.php, lignes: Code PHP : $settings['cplanguage'] = "french"; Note: si tu veux les récupérer dans la base, ils sont dans la table 'mybb_settings' (champs name=bblanguage et name=cplanguage) Citation :Pour l'image j'utilise la même logique je crée une entrée monimagecible dans global.lang.php renseignée par monimagecible.gif, pour le français, et myimagetarget.gif pour l'anglais. Ainsi je peux écrire src="images/montemplate/{$lang->monimagecible}" là où j'en ai besoin dans mon template. Là, je ne te suis pas... Tu te casses la tête pour rien... Dès qu'on bascule le forum en english, le template contient une variable {$...} qui pointe soit sur /images/french/nomimage.gif soit sur /images/groupimages/french/nomimage.gif (je parle là du thème par défaut) Et si le forum est basculé en anglais, il pointe sur: /images/english/nomimage.gif et /images/groupimages/english/nomimage.gif Donc tu n'as pas à modifier le template !!! Et même pour un template importé, le mécanisme est le même: pour que ça fonctionne dans plusieurs langues, on doit avoir les sous-répertoires des images correspondant à chaque langue, tout simplement (et évidemment le template associé doit pointer au bon endroit) ! A noter que pour des templates en anglais uniquement, il faut dupliquer les images anglaises dans des dossiers .../french/... (et éventuellement les éditer et les traduire via Photoshop par exemple). @+ Spyto RE: [resolu] re-init des fichiers languages en base - itchingman - 07-09-2008 et donc j'aurai du écrire quoi à la place de mon ?lang={$lang->shortlocale} pour obtenir ?lang=en ou ?lang=fr ? Citation :SpytoManifestement je n'avais pas compris la logique de la gestion poussée des langues de myBB, cependant j'avoue que même si je comprends à peu près ce que tu veux dire, je ne vois toujours pas quoi mettre à la place des ... dans le {$...}. Où est le référentiel qui fait corresponde la variable en question à l'image qui m'intéresse ? RE: [resolu] re-init des fichiers languages en base - spyto - 07-09-2008 A moins que tu ne crées ton propre thème, tu n'as pas à te préoccuper des templates ! Ils sont déjà "paramétrés" pour le bilingue dans le template par défaut. Prenons par exemple le template 'header" du thème par défaut. On y trouve: Code : <div class="menu"> Il d'agit du menu de navigation du haut du forum. Pour le lien "Membres", on a: Code : <img src="{$mybb->settings['bburl']}/{$theme['imgdir']}/toplinks/memberlist.gif" alt="" />{$lang->toplinks_memberlist} Je détaille: {$mybb->settings['bburl']} contient l'url du forum, {$theme['imgdir']} est le nom du dossier image correspondant à la langue, et il est automatiquement mis à jour par le script selon la langue du forum ! Ces valeurs sont lues par le script soit dans le fichier /inc/settings.php pour quelques unes soit dans la table mybb_settings de la BD. Si le forum est en français, $theme['imgdir'] => /images/french/ Si le forum est en anglais, $theme['imgdir'] => /images/english/ Et donc "{$mybb->settings['bburl']}/{$theme['imgdir']}/toplinks/memberlist.gif" pointera sur le "bon" fichier image "memberlist.gif" (soit dans le dossier english soit dans le dossier french). Tu n'as pas à t'en préoccuper, tu n'as pas à intervenir dans le template, c'est automatisé ! Et c'est comme ça pour toutes les images du thème. Ai-je été clair ? RE: [resolu] re-init des fichiers languages en base - itchingman - 08-09-2008 Effectivement je suis en train de réaliser mon propre thème qui maintenant fonctionne Je vais essayer d'exploiter toutes tes informations pour le mettre au propre avec ce que je viens de comprendre. RE: [resolu] re-init des fichiers languages en base - spyto - 08-09-2008 itchingman a écrit :Effectivement je suis en train de réaliser mon propre thème qui maintenant fonctionne Alors là, effectivement, ton questionnement s'explique ! Il est nécessaire de connaître le fonctionnement interne des templates. Si j'étais toi, je m'inspirerais des templates du thème par défaut en les adaptant (ils utilisent les variables "habituelles" {$mybb->....}). Si tu veux que ton thème soit "installable" et utilisable par d'autres, il te faut construire un fichier XML pour l'importation et une archive contenant aussi les images. Tu peux également télécharger un des thèmes compatibles 1.4 sur le forum officiel (mybbboard.net), le décortiquer, construire ton fichier XML et ton archive à partir de ce modèle. Je te conseille également la lecture du Wiki (anglais). Il y a pas mal d'infos sur la structure et le fonctionnement de MyBB. @+ Spyto RE: [resolu] re-init des fichiers languages en base - itchingman - 08-09-2008 C'est ce que j'ai fait, je me suis basé sur un thème et je suis parti de là, je fais les exports en production via le fichier xml avec une structure pour les images. Par contre, c'est vrai que je n'avais pas structuré mes images en fonction de la langue sur mes autres sites et du fait j'ai conservé cette logique afin d'avoir une certaine compatibilité de toute ma mise en page d'une techno à une autre. Maintenant, l'organisation, pour les langues, proposée par myBB est loin d'être idiote et je me demande si je ne vais pas adapter tous mes autres sites afin qu'ils se calent sur cette logique. Ce thème sera, malheureusement, propriétaire car il est adapté à une charte graphique très particulière. Je le présenterai néanmoins si cela intéresse la communauté, pour la partie "structure" seules les images seront "privées". RE: [resolu] re-init des fichiers languages en base - itchingman - 24-11-2008 Comme convenu ci-dessus voici ci-après l'url de mon forum : http://forum.gifteer.com Et merci encore du coup de main. |