sitio con traducciones

recuerdo o recuerdo mal

pero creo que habia una forma de decirle que muestre un listado de
articulos de tal idioma, pero si no existe muestre el original

puede ser?

de esa forma al cambiar de idioma, no se queda pelado si no hay nada.

alguna ayudita?

bueno, feliz año!

santi

Hola. Si es para listados te paso un código que parte de un array para permitir paginar en el bucle « B_lista_articulos_pag » (si no la paginación es complicada):

#SET{articulos,#ARRAY}
<BOUCLE_articulos(ARTICLES){id_rubrique}{par num titre, titre}>

<BOUCLE_articulo_traducido(ARTICLES){traduction}{lang}>
#SET{num_articulo,#ID_ARTICLE}
</BOUCLE_articulo_traducido>

<BOUCLE_articulo_original(ARTICLES){id_article}{origine_traduction}>
#SET{num_articulo,#ID_ARTICLE}
</BOUCLE_articulo_original>

<//B_articulo_traducido>

[(#SET{articulos,#GET{articulos}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#GET{num_articulo}}}})]

</BOUCLE_articulos>

<B_lista_articulos_pag>

Hola,
yo lo hice la semana pasada de otra manera (a la antigua usanza, con
un bucle que elimina resultado no deseados+unique).
Seguramente es más rápido el método propuesto por Jose Luis.

Este bucle muestra los últimos artículos de un sector por fecha (no
son exactamente los últimos 10):

  [(#REM) BFB: primer, eliminam els articles que són traduccions
d'articles que ja tenim en l'idioma actual ]
  <BOUCLE_articles_urb_del1(ARTICLES){id_secteur}{lang}>
    <BOUCLE_articles_urb_del2(ARTICLES){traduction}{!lang}{unique}>
    </BOUCLE_articles_urb_del2>
  </BOUCLE_articles_urb_del1>

  <BOUCLE_articles_urb(ARTICLES){id_secteur}{!par date}{0,10}{unique}>
    <BOUCLE_articles_urb_lang(ARTICLES){traduction}{lang}>
      #INCLURE{fond=inclure/article-mini-resume,id_article}
    </BOUCLE_articles_urb_lang>
    </B_articles_urb_lang>
    [(#REM) BFB: Si no troba l'article a l'idioma (traduction+lang),
mostrarà l'article només si és l'original (per no duplicar) ]
    <BOUCLE_articles_urb_orig(ARTICLES){id_article}{origine_traduction}>
      #INCLURE{fond=inclure/article-mini-resume,id_article}
    </BOUCLE_articles_urb_orig>
    <//B_articles_urb_lang>
  </BOUCLE_articles_urb>

Sí que utilicé el #SET y #GET para que debajo de cada artículo
aparezcan los comentarios realizados en cualquier idioma.

[(#REM) BFB: forum d'aquest article i de les traduccions]
#SET{arts, #ARRAY{}}
<BOUCLE_art_trad(ARTICLES){traduction}>
[(#SET{arts,#GET{arts}|push{#ID_ARTICLE}})]
</BOUCLE_art_trad>
<INCLURE{fond=inclure/forum}{id_article=#GET{arts}} />

En este caso, el inclure/forum es el del plugin/esqueleto zpip:

Saludos,
Biel

2010/1/7 jose luis murillo <joseluis@digital77.com>:

Hola. Si es para listados te paso un código que parte de un array para
permitir paginar en el bucle "B_lista_articulos_pag" (si no la paginación es
complicada):

        &lt;\!\-\- BUCLE CON LOS ARTÍCULOS POR LENGUA Y CON POSIBILIDADES DE

PAGINACIÓN -->
#SET{articulos,#ARRAY}
<BOUCLE_articulos(ARTICLES){id_rubrique}{par num titre,
titre}>

                &lt;\!\-\- SI HAY TRADUCCIÓN EN LA LENGUA ACTUAL COGE ESTE

ARTÍCULO -->
<BOUCLE_articulo_traducido(ARTICLES){traduction}{lang}>
#SET{num_articulo,#ID_ARTICLE}
</BOUCLE_articulo_traducido>

                    &lt;\!\-\- SI NO HAY TRADUCCIÓN EN LA LENGUA ACTUAL COGE

EL ORIGINAL -->

<BOUCLE_articulo_original(ARTICLES){id_article}{origine_traduction}>
#SET{num_articulo,#ID_ARTICLE}
</BOUCLE_articulo_original>

                &lt;//B\_articulo\_traducido&gt;

[(#SET{articulos,#GET{articulos}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#GET{num_articulo}}}})]

            &lt;/BOUCLE\_articulos&gt;

                &lt;B\_lista\_articulos\_pag&gt;
                    &lt;ul&gt;
                        &lt;BOUCLE\_lista\_articulos\_pag\(ARTICLES\)\{id\_article

IN #GET{articulos}}>
<li><a
href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_lista_articulos_pag>
</ul>
</B_lista_articulos_pag>

=====================================

El bucle BOUCLE_articulos, sin lo del array, te puede servir para montar
esqueletos del artículo.
Ojo: si no coges el logo, la fecha, la autoría, el foro,... originales al
cambiar de idioma en un artículo que tenga ambos usará varios logos
diferentes, varias fechas, varios foros diferentes,... según lenguas. A lo
mejor se quiere eso, por si el logo tiene texto, sino es cuestión de coger,
por ejemplo el logo, en un bucle anterior:

<BOUCLE_articulo_original(ARTICLES){id_article}{origine_traduction}>
#SET{fecha_original,[(#DATE|affdate)]}
#SET{logo_original,[(#LOGO_ARTICLE)]}
#SET{aut_original,[(#LESAUTEURS)]}
#SET{articulo_original,[(#ID_ARTICLE)]}
</BOUCLE_articulo_original>

y luego usarlo donde se quieran usar tenemos #GET{fecha_original},
#GET{logo_original}, #GET{aut_original},...

Para los foros puedes usar el id del artículo original y así sólo habrá un
foro para cualquier idioma (eso si, si entra gente multilingüe los foros se
"enriquecerán" con comentarios en diversos idiomas):

<INCLURE{fond=inc/inc-forum}{id_article=#GET{articulo_original}}>

Saludos y feliz año.

Santiago Flores escribió:

recuerdo o recuerdo mal

pero creo que habia una forma de decirle que muestre un listado de
articulos de tal idioma, pero si no existe muestre el original

puede ser?

de esa forma al cambiar de idioma, no se queda pelado si no hay nada.

alguna ayudita?

bueno, feliz año!

santi
_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es

_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es

jolin! mil gracias

ya veo que no era tan simple

danke, mercy

santi

El día 7 de enero de 2010 22:13, Biel Frontera <sindbili@gmail.com> escribió:

Hola,
yo lo hice la semana pasada de otra manera (a la antigua usanza, con
un bucle que elimina resultado no deseados+unique).
Seguramente es más rápido el método propuesto por Jose Luis.

Este bucle muestra los últimos artículos de un sector por fecha (no
son exactamente los últimos 10):

   \[\(\#REM\) BFB: primer, eliminam els articles que són traduccions

d'articles que ja tenim en l'idioma actual ]
<BOUCLE_articles_urb_del1(ARTICLES){id_secteur}{lang}>
<BOUCLE_articles_urb_del2(ARTICLES){traduction}{!lang}{unique}>
</BOUCLE_articles_urb_del2>
</BOUCLE_articles_urb_del1>

   &lt;BOUCLE\_articles\_urb\(ARTICLES\)\{id\_secteur\}\{\!par date\}\{0,10\}\{unique\}&gt;
           &lt;BOUCLE\_articles\_urb\_lang\(ARTICLES\)\{traduction\}\{lang\}&gt;
                   \#INCLURE\{fond=inclure/article\-mini\-resume,id\_article\}
           &lt;/BOUCLE\_articles\_urb\_lang&gt;
           &lt;/B\_articles\_urb\_lang&gt;
           \[\(\#REM\) BFB: Si no troba l&#39;article a l&#39;idioma \(traduction\+lang\),

mostrarà l'article només si és l'original (per no duplicar) ]
<BOUCLE_articles_urb_orig(ARTICLES){id_article}{origine_traduction}>
#INCLURE{fond=inclure/article-mini-resume,id_article}
</BOUCLE_articles_urb_orig>
<//B_articles_urb_lang>
</BOUCLE_articles_urb>

Sí que utilicé el #SET y #GET para que debajo de cada artículo
aparezcan los comentarios realizados en cualquier idioma.

[(#REM) BFB: forum d'aquest article i de les traduccions]
#SET{arts, #ARRAY{}}
<BOUCLE_art_trad(ARTICLES){traduction}>
[(#SET{arts,#GET{arts}|push{#ID_ARTICLE}})]
</BOUCLE_art_trad>
<INCLURE{fond=inclure/forum}{id_article=#GET{arts}} />

En este caso, el inclure/forum es el del plugin/esqueleto zpip:
Connexion · GitLab

Saludos,
Biel

2010/1/7 jose luis murillo <joseluis@digital77.com>:

Hola. Si es para listados te paso un código que parte de un array para
permitir paginar en el bucle "B_lista_articulos_pag" (si no la paginación es
complicada):

        &lt;\!\-\- BUCLE CON LOS ARTÍCULOS POR LENGUA Y CON POSIBILIDADES DE

PAGINACIÓN -->
#SET{articulos,#ARRAY}
<BOUCLE_articulos(ARTICLES){id_rubrique}{par num titre,
titre}>

                &lt;\!\-\- SI HAY TRADUCCIÓN EN LA LENGUA ACTUAL COGE ESTE

ARTÍCULO -->
<BOUCLE_articulo_traducido(ARTICLES){traduction}{lang}>
#SET{num_articulo,#ID_ARTICLE}
</BOUCLE_articulo_traducido>

                    &lt;\!\-\- SI NO HAY TRADUCCIÓN EN LA LENGUA ACTUAL COGE

EL ORIGINAL -->

<BOUCLE_articulo_original(ARTICLES){id_article}{origine_traduction}>
#SET{num_articulo,#ID_ARTICLE}
</BOUCLE_articulo_original>

                &lt;//B\_articulo\_traducido&gt;

[(#SET{articulos,#GET{articulos}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#GET{num_articulo}}}})]

            &lt;/BOUCLE\_articulos&gt;

                &lt;B\_lista\_articulos\_pag&gt;
                    &lt;ul&gt;
                        &lt;BOUCLE\_lista\_articulos\_pag\(ARTICLES\)\{id\_article

IN #GET{articulos}}>
<li><a
href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_lista_articulos_pag>
</ul>
</B_lista_articulos_pag>

=====================================

El bucle BOUCLE_articulos, sin lo del array, te puede servir para montar
esqueletos del artículo.
Ojo: si no coges el logo, la fecha, la autoría, el foro,... originales al
cambiar de idioma en un artículo que tenga ambos usará varios logos
diferentes, varias fechas, varios foros diferentes,... según lenguas. A lo
mejor se quiere eso, por si el logo tiene texto, sino es cuestión de coger,
por ejemplo el logo, en un bucle anterior:

<BOUCLE_articulo_original(ARTICLES){id_article}{origine_traduction}>
#SET{fecha_original,[(#DATE|affdate)]}
#SET{logo_original,[(#LOGO_ARTICLE)]}
#SET{aut_original,[(#LESAUTEURS)]}
#SET{articulo_original,[(#ID_ARTICLE)]}
</BOUCLE_articulo_original>

y luego usarlo donde se quieran usar tenemos #GET{fecha_original},
#GET{logo_original}, #GET{aut_original},...

Para los foros puedes usar el id del artículo original y así sólo habrá un
foro para cualquier idioma (eso si, si entra gente multilingüe los foros se
"enriquecerán" con comentarios en diversos idiomas):

<INCLURE{fond=inc/inc-forum}{id_article=#GET{articulo_original}}>

Saludos y feliz año.

Santiago Flores escribió:

recuerdo o recuerdo mal

pero creo que habia una forma de decirle que muestre un listado de
articulos de tal idioma, pero si no existe muestre el original

puede ser?

de esa forma al cambiar de idioma, no se queda pelado si no hay nada.

alguna ayudita?

bueno, feliz año!

santi
_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es

_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es

_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es

Si, yo también lo hacía al principio con exclusiones, pero cuando hay más de dos lenguas ese sistema es complejo y difícil hacerlo funcionar.

Sobre el logo se me pasó. Si casi siempre va a ser el logo original y sólo a veces el de la traducción la cosa podría ser así:

<BOUCLE_articulo_original(ARTICLES){id_article}{origine_traduction}>
#SET{logo_original,[(#LOGO_ARTICLE)]}
</BOUCLE_articulo_original>

[(#LOGO_ARTICLE|sinon{#GET{logo_original})]

nunca recuerdo si es con una o dos barritas al ser un logo [(#LOGO_ARTICLE||sinon{#GET{logo_original})]

u otra opción, que sería la misma pero desarrollada:

[(#LOGO_ARTICLE|=={’’}|?{#GET{logo_original},#LOGO_ARTICLE})]

De esta manera, en un sitio con tres idiomas, sólo necesitas poner logo al artículo original y te olvidas, y sólo cuando sean diferentes según idioma necesitas añadir logos en las traducciones.

A disfrutar :slight_smile:

Biel Frontera escribió:

2010/1/8 jose luis murillo <joseluis@digital77.com>:

Si, yo también lo hacía al principio con exclusiones, pero cuando hay más de
dos lenguas ese sistema es complejo y difícil hacerlo funcionar.

Sí, me llevó su tiempo hacerlo funcionar con tres lenguas. Pero ya funciona.
De todas maneras, no me acaba de convencer ninguno de los dos métodos,
si la web va a tener muchos artículos (no me gusta que tenga hacer un
bucle sobre todos los artículos).

Ah! Cuando se muestra un artículo en otro idioma es conveniente
indicarlo. Yo he añadido esto después del #TITRE (muestra -es-, -en-,
-ca-, ... sólo si el artículo no está en el idioma del usuario):
[(#ENV{lang}|=={#LANG}|?{'', -#LANG-})]

Sobre el logo se me pasó. Si casi siempre va a ser el logo original y sólo a
veces el de la traducción la cosa podría ser así:

<BOUCLE_articulo_original(ARTICLES){id_article}{origine_traduction}>
#SET{logo_original,[(#LOGO_ARTICLE)]}
</BOUCLE_articulo_original>

                  \[\(\#LOGO\_ARTICLE|sinon\{\#GET\{logo\_original\}\)\]

nunca recuerdo si es con una o dos barritas al ser un logo
[(#LOGO_ARTICLE||sinon{#GET{logo_original})]

u otra opción, que sería la misma pero desarrollada:

[(#LOGO_ARTICLE|=={''}|?{#GET{logo_original},#LOGO_ARTICLE})]

De esta manera, en un sitio con tres idiomas, sólo necesitas poner logo al
artículo original y te olvidas, y sólo cuando sean diferentes según idioma
necesitas añadir logos en las traducciones.

A disfrutar :slight_smile:

Biel Frontera escribió:

Hola,
yo lo hice la semana pasada de otra manera (a la antigua usanza, con
un bucle que elimina resultado no deseados+unique).
Seguramente es más rápido el método propuesto por Jose Luis.

Este bucle muestra los últimos artículos de un sector por fecha (no
son exactamente los últimos 10):

  [(#REM) BFB: primer, eliminam els articles que són traduccions
d'articles que ja tenim en l'idioma actual ]
  <BOUCLE_articles_urb_del1(ARTICLES){id_secteur}{lang}>
    <BOUCLE_articles_urb_del2(ARTICLES){traduction}{!lang}{unique}>
    </BOUCLE_articles_urb_del2>
  </BOUCLE_articles_urb_del1>

  <BOUCLE_articles_urb(ARTICLES){id_secteur}{!par date}{0,10}{unique}>
    <BOUCLE_articles_urb_lang(ARTICLES){traduction}{lang}>
      #INCLURE{fond=inclure/article-mini-resume,id_article}
    </BOUCLE_articles_urb_lang>
    </B_articles_urb_lang>
    [(#REM) BFB: Si no troba l'article a l'idioma (traduction+lang),
mostrarà l'article només si és l'original (per no duplicar) ]
    <BOUCLE_articles_urb_orig(ARTICLES){id_article}{origine_traduction}>
      #INCLURE{fond=inclure/article-mini-resume,id_article}
    </BOUCLE_articles_urb_orig>
    <//B_articles_urb_lang>
  </BOUCLE_articles_urb>

Sí que utilicé el #SET y #GET para que debajo de cada artículo
aparezcan los comentarios realizados en cualquier idioma.

[(#REM) BFB: forum d'aquest article i de les traduccions]
#SET{arts, #ARRAY{}}
<BOUCLE_art_trad(ARTICLES){traduction}>
[(#SET{arts,#GET{arts}|push{#ID_ARTICLE}})]
</BOUCLE_art_trad>
<INCLURE{fond=inclure/forum}{id_article=#GET{arts}} />

En este caso, el inclure/forum es el del plugin/esqueleto zpip:
Connexion · GitLab

Saludos,
Biel

2010/1/7 jose luis murillo <joseluis@digital77.com>:

Hola. Si es para listados te paso un código que parte de un array para
permitir paginar en el bucle "B_lista_articulos_pag" (si no la paginación es
complicada):

        &lt;\!\-\- BUCLE CON LOS ARTÍCULOS POR LENGUA Y CON POSIBILIDADES DE

PAGINACIÓN -->
#SET{articulos,#ARRAY}
<BOUCLE_articulos(ARTICLES){id_rubrique}{par num titre,
titre}>

                &lt;\!\-\- SI HAY TRADUCCIÓN EN LA LENGUA ACTUAL COGE ESTE

ARTÍCULO -->
<BOUCLE_articulo_traducido(ARTICLES){traduction}{lang}>
#SET{num_articulo,#ID_ARTICLE}
</BOUCLE_articulo_traducido>

                    &lt;\!\-\- SI NO HAY TRADUCCIÓN EN LA LENGUA ACTUAL COGE

EL ORIGINAL -->

<BOUCLE_articulo_original(ARTICLES){id_article}{origine_traduction}>
#SET{num_articulo,#ID_ARTICLE}
</BOUCLE_articulo_original>

                &lt;//B\_articulo\_traducido&gt;

[(#SET{articulos,#GET{articulos}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#GET{num_articulo}}}})]

            &lt;/BOUCLE\_articulos&gt;

                &lt;B\_lista\_articulos\_pag&gt;
                    &lt;ul&gt;
                        &lt;BOUCLE\_lista\_articulos\_pag\(ARTICLES\)\{id\_article

IN #GET{articulos}}>
<li><a
href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_lista_articulos_pag>
</ul>
</B_lista_articulos_pag>

=====================================

El bucle BOUCLE_articulos, sin lo del array, te puede servir para montar
esqueletos del artículo.
Ojo: si no coges el logo, la fecha, la autoría, el foro,... originales al
cambiar de idioma en un artículo que tenga ambos usará varios logos
diferentes, varias fechas, varios foros diferentes,... según lenguas. A lo
mejor se quiere eso, por si el logo tiene texto, sino es cuestión de coger,
por ejemplo el logo, en un bucle anterior:

<BOUCLE_articulo_original(ARTICLES){id_article}{origine_traduction}>
#SET{fecha_original,[(#DATE|affdate)]}
#SET{logo_original,[(#LOGO_ARTICLE)]}
#SET{aut_original,[(#LESAUTEURS)]}
#SET{articulo_original,[(#ID_ARTICLE)]}
</BOUCLE_articulo_original>

y luego usarlo donde se quieran usar tenemos #GET{fecha_original},
#GET{logo_original}, #GET{aut_original},...

Para los foros puedes usar el id del artículo original y así sólo habrá un
foro para cualquier idioma (eso si, si entra gente multilingüe los foros se
"enriquecerán" con comentarios en diversos idiomas):

<INCLURE{fond=inc/inc-forum}{id_article=#GET{articulo_original}}>

Saludos y feliz año.

Santiago Flores escribió:

recuerdo o recuerdo mal

pero creo que habia una forma de decirle que muestre un listado de
articulos de tal idioma, pero si no existe muestre el original

puede ser?

de esa forma al cambiar de idioma, no se queda pelado si no hay nada.

alguna ayudita?

bueno, feliz año!

santi
_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es

_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es

_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es

_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es