SPIP Forums

[ar] [ca] [cpf] [de] [en] [es] [fr] [it]

Ce forum d’entraide est recommandé pour les utilisateurs et utilisatrices occasionnels de SPIP (système de publication pour l’Internet). Avant de poser une question, faites une recherche sur ce site, consultez les liens utiles. Si vous ne trouvez pas de réponse, postez votre message dans la rubrique appropriée, avec un titre explicite.


site en deux langues

par Yannick. - 18 mars 2008 00:26 - Réponse(s) : 7

Bonjour à tous et à toutes, j’ai lu plusieurs page de documentation mais, je n’ai toujours pas trouvé ce dont j’ai besoin. Le but est pourtant très simple, probablement trop...

J’ai un site Internet qui possède deux langues française et anglaise. Si l’internaute est sur le site français, il lui est offert d’aller sur la page version anglaise et vice versa.

Bon, tout ca c’est fait. Mais, la où cela bloque, c’est que j’ai pour l’instant un version française de mes article dans mon webzine SPIP et que je voudrais que les internautes puisse avoir une édition anglaise du site en un clic.

Je croyais bien avoir trouvé avec la balise #MENU_LANG mais rien à y faire je n’obtiens pas ce que j’ai besoin.

mon webzine présente ses rubriques par titre et les articles les plus récents. J’aimerais bien que le titre des articles se traduise selon le clic de l’internaute et que les articles disponibles dans la langue de choix uniuement soient présenté à l’internaute.

Donc, deux version du magazine.

Suis-je fou de faire cela ? Il me semble bien pourtant que la chose devrait se faire puisque les articles devraient pouvoir s’appeller par leur langue de rédaction non ?

Comment faire, je suis perdu...

Merci pour votre aide !


Indiquez l'intérêt que vous portez à cette question

Suivre la vie du site

site en pusieurs langues

18 mars 2008 01:04 - par mars

Bonjour
Pas de solution miracle mais des pistes ...

Je travaille sur un site en plusieurs langues, je les repères avec des images ,
- pour la traduction entre articles j’utilise :

<B_traductions>
<BOUCLE_traductions(ARTICLES){traduction}{exclus}{par lang}>
<a href="#URL_ARTICLE" title="#LANG" onmouseover="SwitchImg('document.#LANG','document.#LANG','img/lang/o/#LANG.png');" onMouseOut="RestoreImg();">
<img src="img/lang/a/#LANG.png" alt="#LANG" name="#LANG" width="40" height="39"/></a>
</BOUCLE_traductions>
</B_traductions>

- pour la traduction d’une rubrique à l’autre j’utilise :

<B_traductions>
<BOUCLE_traductions(RUBRIQUES){tout}{titre==^(#TITRE|extraire_numero)}{exclus}>
<a href="#URL_RUBRIQUE" title="#LANG" onmouseover="SwitchImg('document.#LANG','document.#LANG','img/lang/o/#LANG.png');" onMouseOut="RestoreImg();">
<img src="img/lang/a/#LANG.png" alt="#LANG" name="#LANG" width="40" height="39"/></a>
</BOUCLE_traductions>
</B_traductions>

... suivant la méthode indiquée par Arno sur Paris-Beyrouth

- pour les menu j’utilise :

<BOUCLE_naut(RUBRIQUES){racine}{lang=#LANG}>[<a href="#URL_RUBRIQUE" title="[(#TITRE|supprimer_numero)]">(#LOGO_RUBRIQUE)</a>]</BOUCLE_naut>

... plus ou moins complexifié ; en fait tout repose sur le paramêtre {lang=#LANG}passé dans la boucle pour ne retenir que les éléments dans la langue qui nous intéresse.


Par contre je bloque sur le sommaire, je viens d’obtenir ce que je veux en tapant http://127.0.0.1/mxl87/spip.php?page=sommaire&lang=fr en dur dans la barre d’adresse du navigateur mais je voudrais savoir comment l’intégrer à une boucle. Il faudrait qu’elle récupère les différentes langues utilisées dans le site, c’est possible dans la partie privée.


site en deux langues

18 mars 2008 01:27 - par Yannick.

Ouf !

Je tente de comprendre tout cela, tu es vraiment en avance sur moi !

Je boss vraiment sur la base et je viens tout juste de comprendre un peu le principe...

Merci infiniment pour ta contribution, c’est très apprécié.

Je crois que j’ai besoin d’infos plus basiques...

Y’a pas moyen de faire deux page spip.php ?

je ferais carrément deux sites en deux langues...


site en deux langues

18 mars 2008 02:31 - par mars

Je viens de trouver une solution qui marche pour moi :
J’aurais pu préciser que je place les liens de traduction dans un calque exprès, quelle que soit la boucle.
J’ai donc trouvé un info intéressante

ensuite je l’ai adaptée chez moi de cette façon :

<BOUCLE_langues(RUBRIQUES){racine}{par lang}{exclus}>[
                        <span lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR">
                        <a href="spip.php?action=cookie&amp;url=#URL_SITE_SPIP/&amp;var_lang=#LANG"
                        rel="alternate" hreflang="#LANG" title="<:accueil_site:> :
                        [(#LANG|traduire_nom_langue)]"onmouseover="SwitchImg('document.#LANG','document.#LANG','img/lang/o/#LANG.png');" onMouseOut="RestoreImg();">
                        <img src="img/lang/a/#LANG.png" alt="(#LANG|unique|traduire_nom_langue{lang})" name="#LANG" width="40" height="39"/>
                       
                        </a>
                        </span>
        ]</BOUCLE_langues>

il y a certainement des traces superflues encore, mais ça marche, j’ai la possibilité de traduire depuis n’importe quelle page :
- le sommaire
- une rubriqe
- un article

par contre je me suis embarqué à avoir des arborescences parallèles pour chaque langue, mais c’est mon côté équitable, je veux pas de parent pauvre ...

Prends ton temps pour te familiariser avec les boucles, tu verras que petit à petit tu arriveras à intégrer des morceaux. Perso j’ai découvert SPIP au mois de Janvier.


site en deux langues

18 mars 2008 12:48 - par Yannick

Bonjour Mars, ReOuf !

J’ai fais un dossier (comme dans le liens fournit) qui s’appelle mes_options.php et qui contient :

<?PHP
$forcer_lang = true ;
?>

Par la suite, j’ai tenté de bidouiller mais sans résultats... Est-ce que c’est parce que j’utilise des images typo ?

Voici le bout de code qui concerne l’affichage de mon menu composé des titres des rubriques peuplées.

<div class="RubriquesIndex">  
   <ul>  
       <BOUCLE_nav(RUBRIQUES){racine}{par lang}{par num titre}>
           <li>
                <a href="#URL_RUBRIQUE" title="[(#DESCRIPTIF)]">                 
                 [(#TITRE|supprimer_numero||
        image_typo{police=Barbn.ttf,taille=13,couleur=000000,padding=8,style=italique})]
                </a>
                                  
           </li>
         </BOUCLE_nav>
        </ul>
       </div><!--Affiche les titre en hyperlien pour naviguer dans les rubriques-->

Il faut noter que dans les rubriques j’ai fais des <multi>[fr]titrefr[en]titreen</multi>

Quand je vais dans mon espace privé, le titre de la rubrique s’affiche en anglais mais pas dans mon menu de site...

http://www.veloroute-bleuets.qc.ca/spip.php

P.S. j’ai ajouter une balise #MENU_LANG et rien d’autre pour faire la sélection de mes langues...

Suis-je sur la bonne voie ?

Ce que je conclus c’est qu’il serait intéressant que 1- mes titre de rubriques s’affichent en anglais quand #MENU_LANG est sélectionné sur en et vice versa.

2- que quand on clique sur le titre de mes rubriques, l’internaute ne puisse obtenir que les articles rédigés dans sa langue. (est-ce possible ?)

Merci infiniment pour votre aide !


site en deux langues

18 mars 2008 13:21 - par Yannick

Ouafff !

J’ai fais un bout de solution...

J’ai pas trop compris encore ce que j’ai fais mais ca semble fonctionner...

Je suis allé dans index.php du dossier ecrire pour essayer de comprendre comment pouvait fonctionner cette page internet et pas ma page sommaire.html.

J’ai donc utilisé un bout de code commenté (merci aux auteurs !) que j’ai copier coller en entête de ma page :

<?php
if (isset($GLOBALS['_COOKIE']['spip_lang_ecrire'])) {

        $spip_lang_ecrire = $GLOBALS['_COOKIE']['spip_lang_ecrire'];
        // si pas authentifie, changer juste pour cette execution
        if ($var_auth)
                changer_langue($GLOBALS['_COOKIE']['spip_lang_ecrire']);
        // si authentifie, changer definitivement si ce n'est fait
        else {        if (($spip_lang_ecrire <> $GLOBALS['auteur_session']['lang'])
                AND changer_langue($spip_lang_ecrire)) {
                        spip_query("UPDATE spip_auteurs SET lang = " . _q($spip_lang_ecrire) . " WHERE id_auteur = " . intval($GLOBALS['auteur_session']['id_auteur']));
                        $GLOBALS['auteur_session']['lang'] = $var_lang_ecrire;
                        $session = charger_fonction('session', 'inc');
                        $session($GLOBALS['auteur_session']);
                }
        }
}

utiliser_langue_visiteur();
?>

Cela a fait s’afficher mes titre en anglais quand on modifie la langue du site !!!

Youpie !!!

Mais, je ne sais toujours pas comment faire pour n’afficher que articles rédigés dans la langue sélectionnée...

Petit pas par petite gorgée de café ;-)))


site en deux langues

28 avril 2008 20:52 - par Rano

je crois que en regardant ici tu as peut être ce que tu veux...

salutations


site en deux langues

28 avril 2008 21:46

Merci beaucoup Rano, je vais y jeter un oeil.

Bonne journée !

Yan


Répondre à la question


Un message, un commentaire ?
  • (Pour créer des paragraphes, laissez simplement des lignes vides.)

  • Vous pouvez étiqueter cette page de forum avec les mots-clés qui vous semblent les plus appropriés ; ils permettront aux prochains visiteurs du site de mieux se repérer :
  • Installation, mise à jour

    Utilisation de l’espace privé

    Administration, gestion, configuration du site

    Créer ses squelettes

Qui êtes-vous ? (optionnel)
  • [Se connecter]

  • 16:41

    Afficher la balise IMG d'un flux RSS depuis un site syndiqué

    Réponse(s) : 5 - Résolu

    Le code que j’ai utilisé : Comme je n’ai pas trouvé le moyen de réduire les images récupérées en passant par spip, j’ai opté pour l’inclusion de ces dernières dans une div avec propriété "overflow:hidden" (mais on peut aussi utiliser "scrowl" pour (...)

  • par Fred - 14:50

    Squelette spip liste 1.9 : patron newsletter

    Réponse(s) : 1

    Tu ne reçois pas les images dans ton client de messagerie. Il les affiche en allant les chercher sur un site internet dont le texte du message au format html contient l’adresse (lien). Donc, cela dépend de ton client de messagerie : pour des (...)

  • par Fred - 14:45

    habillage sur trois colonnes

    Réponse(s) : 1

    Ce n’est pas le meilleur forum pour avoir des infos sur html/css, ici c’est plutôt de la boucle SPIP dont on cause... Mais regarde sur spip-contrib pour avoir des exemples de squelettes, et des gabarits 3 colonnes gratos y’en a plein de le web... (...)

  • par dyonysosd - 9 mars 22:00

    Récupérer l'identifiant de session alors qu'on est pas encore connecté ?

    Réponse(s) : 2

    Justement le but s’est de récupérer la session quand l’utilisateur n’est pas encore loggé pour gérer par exemple un panier ou comme ca, pour pouvoir ensuite récupérer par rapport à cette session le panier, une fois que l’utilisateur est (...)

  • par flopepech - 1er mars 18:38

    Problème de condition pour un menu déroulant

    Réponse(s) : 4

    ok merci je vais essayer ca. je te remercie vraiment pour ta réactivité. C’est vraiment sympa

  • par ubiq - 9 mars 11:58

    Balise FICHIER et crash

    Réponse(s) : 2 - Résolu

    Bonjour, Merci pour votre réponse. Apparemment, je n’avais pas de problème au niveau de ma base. J’ai ré-essayé mes anciens squelettes aujourd’hui, et tout re-fonctionne normalement. J’imagine donc que quelque chose avait dû se passer chez (...)

  • par denisb - 9 mars 10:28

    Mettre un ? entre paranthèses, sans espace auto devant

    Réponse(s) : 5 - Résolu

    comme souvent (toujours) pour éviter un traitement typo (légitime par ailleurs et qui est loin d’être le cas général ou le plus souvent utilisé) il suffit d’encadrer la portion de texte par les balises <html> et </html>. ce qui nous donne : (...)

  • par Suske - 9 mars 10:27

    Message d'erreur à la prévisualisation du formulaire d'une création d'article

    Réponse(s) : 1

    Question liée à un plugin : à poser sur la liste spip-zone@rezo.net. Plus d’infos sur la zone

  • par masterjuh - 5 novembre 2009 13:24

    Obliger de remplir nom et email dans les forum spip2

    Réponse(s) : 7

    Bon, j’ai installé le plugin "couteau-suisse" qui avec spip2.0.9 en tout cas permet de choisir si on veut obliger le champ "nom", le champ "email", les deux ou l’un des deux.

  • par Suske - 8 mars 22:09

    Problème lien sur "#CHAMP"

    Réponse(s) : 5 - Résolu

    Bon, désormais |oui est documenté :-). Merci Corto !


squelettes-dist/spip.png voir le squelette de cette page