Bonjour,
je n'arrive pas à trouver de solution à mon souci.
La situation : un site monolingue (français) dans lequel figure une page rédigée complètement en allemand.
Des évènements sont rattachés aux articles, dont l'article en allemand
Les évènements sont affichés via [(#DATE|nom_mois)] [#DATE|nom_jour)]
Pour l'article en question, il faudrait donc que les résultats soient affiché en allemand bien sûr !
J'ai essayé plusieurs trucs, mais sans succès pour le moment...
Une idée ?
Bonjour,
je n'arrive pas à trouver de solution à mon souci.
La situation : un site monolingue (français) dans lequel figure une page rédigée complètement en allemand.
Des évènements sont rattachés aux articles, dont l'article en allemand
Les évènements sont affichés via [(#DATE|nom_mois)] [#DATE|nom_jour)]
Pour l'article en question, il faudrait donc que les résultats soient affiché en allemand bien sûr !
J'ai essayé plusieurs trucs, mais sans succès pour le moment...
Une idée ?
Merci ++++ d'avance
Les évènements n'ont pas de langue. Donc, sauf si tu est dans une boucle articles, il ne pourra pas devenir que c'est l'allemand.
Je vois deux solutions
1. Voir/demander à ce que le plugin agenda affectent des langues aux évènements, liés à celle de l'article par défaut. Mais je ne suis pas sur que ce soit une bonne idée
2. Au sein de ta boucle evenement, boucler sur l'article parent
<BOUCLE_ev(EVENEMENTS)>
<BOUCLE_article(ARTICLES){id_article}>
[(#DATE_debut|nom_mois)]
</BOUCLE_article>
</BOUCLE_ev>
Comme #DATE_DEBUT (et non pas #DATE) n'existe que pour les evenements et pour les articles, il ne devrait pas y avoir de confusion, la langue prise devrait être la langue du contexte. A tester tout de même.
Les évènements n'ont pas de langue. Donc, sauf si tu est dans une boucle articles, il ne pourra pas devenir que c'est l'allemand.
Je vois deux solutions
1. Voir/demander à ce que le plugin agenda affectent des langues aux évènements, liés à celle de l'article par défaut. Mais je ne suis pas sur que ce soit une bonne idée
2. Au sein de ta boucle evenement, boucler sur l'article parent
<BOUCLE_ev(EVENEMENTS)>
<BOUCLE_article(ARTICLES){id_article}>
[(#DATE_debut|nom_mois)]
</BOUCLE_article>
</BOUCLE_ev>
Comme #DATE_DEBUT (et non pas #DATE) n'existe que pour les evenements et pour les articles, il ne devrait pas y avoir de confusion, la langue prise devrait être la langue du contexte. A tester tout de même.
Sauf que la langue de l'article est en français (enfin, je veux dire que le multilinguisme n'est pas activé et que la langue est française même si le contenu a été rédigé en allemand.
Je pourrais sans doute activer le multilinguisme et mettre "allemand" pour l'article en question, alors, là, oui, ta solution devrait marcher.
Mais je me demandais si il y avait un filtre ou qqchose qui pourrait faire en sorte que la balise #DATE_DEBUT interroge le fichier de langue qui va bien (ici allemand en l’occurrence). Possible, ça ?
Comme #DATE_DEBUT (et non pas #DATE) n'existe que pour les evenements et pour les articles, il ne devrait pas y avoir de confusion, la langue prise devrait être la langue du contexte. A tester tout de même.
Quelque chose que je fais mal ou que j'ai oublié de configurer quelque part ?
--------------------------------------------------------------------
BOUCLE
--------------------------------------------------------------------
<BOUCLE_select(ARTICLES){id_article=67}>
<p>titre de l'article : #TITRE<br />
langue de l'article : #LANG <br />
date de l'article : [(#DATE|affdate)]
</p>
<BOUCLE_events(EVENEMENTS){id_article}{'<br />'}>
[(#DATE_DEBUT|affdate)]
</BOUCLE_events>
</BOUCLE_select>
--------------------------------------------------------------------
RESULTAT
--------------------------------------------------------------------
titre de l'article : DEUTSCHPRACHIGE SEMINARE
langue de l'article : de
date de l'article : 24 janvier 2020
18 février 2020
19 février 2020
20 février 2020
21 février 2020
Hum, je répond là à des 2 mails
1) il y a sans doute manière de passer directement une langue pour un article donnée, mais ce n'est à mon avis pas une bonne pratique. Plus on évite les exceptions directs dans le squelette en préférant ce qu'il y a en base, mieux on s'en sort
2) je viens de vérifier, chez moi ta boucle marche parfaitement. Est-ce que ta boucle est englobée dans une autre boucle? la langue de celle-ci pourrait prendre le dessus (mais cela m'étonnerait)
Le 29/01/2020 à 08:26, Manu a écrit :
Comme #DATE_DEBUT (et non pas #DATE) n'existe que pour les evenements et pour les articles, il ne devrait pas y avoir de confusion, la langue prise devrait être la langue du contexte. A tester tout de même.
Quelque chose que je fais mal ou que j'ai oublié de configurer quelque part ?
--------------------------------------------------------------------
BOUCLE
--------------------------------------------------------------------
<BOUCLE_select(ARTICLES){id_article=67}>
<p>titre de l'article : #TITRE<br />
langue de l'article : #LANG <br />
date de l'article : [(#DATE|affdate)]
</p>
<BOUCLE_events(EVENEMENTS){id_article}{'<br />'}>
[(#DATE_DEBUT|affdate)]
</BOUCLE_events>
</BOUCLE_select>
--------------------------------------------------------------------
RESULTAT
--------------------------------------------------------------------
titre de l'article : DEUTSCHPRACHIGE SEMINARE
langue de l'article : de
date de l'article : 24 janvier 2020
18 février 2020
19 février 2020
20 février 2020
21 février 2020
Hum, je répond là à des 2 mails
1) il y a sans doute manière de passer directement une langue pour un article donnée, mais ce n'est à mon avis pas une bonne pratique. Plus on évite les exceptions directs dans le squelette en préférant ce qu'il y a en base, mieux on s'en sort
Oui, je suis bien d'accord
2) je viens de vérifier, chez moi ta boucle marche parfaitement. Est-ce que ta boucle est englobée dans une autre boucle? la langue de celle-ci pourrait prendre le dessus (mais cela m'étonnerait)
Oui, mais non ! la langue de l'article est bien reconnue puisque
langue de l'article : #LANG
renvoie bien : langue de l'article : de
Et chez toi, avec mon code, tu as bien les items de date traduits en allemand ?
--------------------------------------------------------------------
RESULTAT
--------------------------------------------------------------------
titre de l'article : DEUTSCHPRACHIGE SEMINARE
langue de l'article : de
c'est possible traduction prenne la langue du contexte #ENV{lang} plutôt que #LANG de l'article, à priori il y a moyen de tester en ajoutant ?lang=de à l'url.
Si c'est le cas, peut être que passer par `setenv`[1] permet de changer la langue du contexte de la page depuis le squelette (pas vérifié désolé) :
Hum, je répond là à des 2 mails
1) il y a sans doute manière de passer directement une langue pour un article donnée, mais ce n'est à mon avis pas une bonne pratique. Plus on évite les exceptions directs dans le squelette en préférant ce qu'il y a en base, mieux on s'en sort
Oui, je suis bien d'accord
2) je viens de vérifier, chez moi ta boucle marche parfaitement. Est-ce que ta boucle est englobée dans une autre boucle? la langue de celle-ci pourrait prendre le dessus (mais cela m'étonnerait)
Oui, mais non ! la langue de l'article est bien reconnue puisque
langue de l'article : #LANG
renvoie bien : langue de l'article : de
Et chez toi, avec mon code, tu as bien les items de date traduits en allemand ?
--------------------------------------------------------------------
RESULTAT
--------------------------------------------------------------------
titre de l'article : DEUTSCHPRACHIGE SEMINARE
langue de l'article : de
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
c'est possible traduction prenne la langue du contexte #ENV{lang} plutôt que #LANG de l'article, à priori il y a moyen de tester en ajoutant ?lang=de à l'url.
En amont de la page, l'ENV{lang} est bien égal à fr
Effectivement, avec l'ajout de &lang=de dans l'url,les noms de mois sont bien traduits
--------------------------------------------------------------------
BOUCLE
--------------------------------------------------------------------
<BOUCLE_select(ARTICLES){id_article=67}>
<p>titre de l'article : #TITRE<br />
langue de l'article : #LANG <br />
date de l'article : [(#DATE|affdate)]
</p>
<BOUCLE_events(EVENEMENTS){id_article}{'<br />'}>
[(#DATE_DEBUT|affdate)]
</BOUCLE_events>
</BOUCLE_select>
--------------------------------------------------------------------
RESULTAT de l'url : /?page=test
--------------------------------------------------------------------
titre de l'article : DEUTSCHPRACHIGE SEMINARE
langue de l'article : de
date de l'article : 24 janvier 2020
18 février 2020
19 février 2020
20 février 2020
21 février 2020
--------------------------------------------------------------------
RESULTAT de l'url : /?page=test&lang=de
--------------------------------------------------------------------
titre de l'article : DEUTSCHPRACHIGE SEMINARE
langue de l'article : de
date de l'article : 24 Januar 2020
18 Februar 2020
19 Februar 2020
20 Februar 2020
21 Februar 2020
Si c'est le cas, peut être que passer par `setenv`[1] permet de changer la langue du contexte de la page depuis le squelette (pas vérifié désolé) :
Grrrr....
Un lien avec le fait que cet article soit une "page unique" (plugin page unique) ?
c'est possible traduction prenne la langue du contexte #ENV{lang} plutôt que #LANG de l'article, à priori il y a moyen de tester en ajoutant ?lang=de à l'url.
En amont de la page, l'ENV{lang} est bien égal à fr
Effectivement, avec l'ajout de &lang=de dans l'url,les noms de mois sont bien traduits
--------------------------------------------------------------------
BOUCLE
--------------------------------------------------------------------
<BOUCLE_select(ARTICLES){id_article=67}>
<p>titre de l'article : #TITRE<br />
langue de l'article : #LANG <br />
date de l'article : [(#DATE|affdate)]
</p>
<BOUCLE_events(EVENEMENTS){id_article}{'<br />'}>
[(#DATE_DEBUT|affdate)]
</BOUCLE_events>
</BOUCLE_select>
--------------------------------------------------------------------
RESULTAT de l'url : /?page=test
--------------------------------------------------------------------
titre de l'article : DEUTSCHPRACHIGE SEMINARE
langue de l'article : de
date de l'article : 24 janvier 2020
18 février 2020
19 février 2020
20 février 2020
21 février 2020
--------------------------------------------------------------------
RESULTAT de l'url : /?page=test&lang=de
--------------------------------------------------------------------
titre de l'article : DEUTSCHPRACHIGE SEMINARE
langue de l'article : de
date de l'article : 24 Januar 2020
18 Februar 2020
19 Februar 2020
20 Februar 2020
21 Februar 2020
Si c'est le cas, peut être que passer par `setenv`[1] permet de changer la langue du contexte de la page depuis le squelette (pas vérifié désolé) :
> <BOUCLE_select(ARTICLES){id_article=67}>
> <p>titre de l'article : #TITRE<br />
> langue de l'article : #LANG <br />
> date de l'article : [(#DATE|affdate)]
> langue de l'env : #ENV{lang} <br />
> passe l'env à celle de l'article<br/> [(#VAL{#LANG}|setenv{lang})]
> langue de l'env après modif : #ENV{lang} <br />
> passe l'env à "de" forcé<br/> [(#VAL{de}|setenv{lang})]
> langue de l'env après modif : #ENV{lang} <br />
> </p>
> <BOUCLE_events(EVENEMENTS){id_article}{'<br />'}>
> [(#DATE_DEBUT|affdate)]
> </BOUCLE_events>
> </BOUCLE_select>
non, chez moi en page unique cela marche aussi.
je persite à penser que tu dois avoir un forcer_lang quelque part, car
si moi je le met à true, j'ai effectivement la date en francais (et
c'est d'ailleurs le role de cette variable)
Ben, a priori, non : j'ai fait une recherche grep sur
/config
/squelettes
ainsi que sur les plugins z-core, zoundation
résultat : pas de trace de forcer_lang
Comme c'est un site en production, je n'ai plus qu'à tout rapatrier en local pour tout décricoter en repartant de la dist et voir où/quand ça coince....
Belle prise de tête, grrrr...
Le 29/01/2020 à 15:41, Maïeul Rouquette a écrit :
> non, chez moi en page unique cela marche aussi.
> je persite à penser que tu dois avoir un forcer_lang quelque part, car
> si moi je le met à true, j'ai effectivement la date en francais (et
> c'est d'ailleurs le role de cette variable)
>
Ben, a priori, non : j'ai fait une recherche grep sur
/config
/squelettes
ainsi que sur les plugins z-core, zoundation
résultat : pas de trace de forcer_lang
Comme c'est un site en production, je n'ai plus qu'à tout rapatrier en local pour tout décricoter en repartant de la dist et voir où/quand ça coince....
Belle prise de tête, grrrr...