Reutilizar un controlador ¿forzando rutas?(versión bilingüe)

Tengo que hacer una web con sección en inglés, y si por ejemplo tengo
una sección /foros y otra /articulos, cada una con su controlador, su
modelo, su tabla, etc… la sección en inglés tendrá las mismas
secciones con distintas rutas (/forums , /articles) y distintas
plantillas, pero un funcionamiento similar, por lo que en principio
podrían compartir controlador y modelo… si supiera hacerlo, que no sé.

Ahora mismo manejo tres alternativas:

A) Crear una tabla específica para los contenidos en inglés y meter ahí
los contenidos en inglés. Las clases serían nuevas, duplicando y
retocando las actuales (cambiar modelos, enlaces, etc).

B) Trabajar con la tabla misma tabla que en español, añadiendo un campo
boolean “Español/Ingles”, pero con clases nuevas, duplicando y retocando
las actuales.

C) Mapeando las nuevas clases (:articles) sobre las actuales
(:articulos), si es posible hacerlo (¿habría que definir a mano las
rutas?), y empleando distintos templates en función del idioma.

La C me parece la más atractiva, pero no sé si es viable… ¿cómo meter
en routes.rb que el “show” del controlador “artículos” responda tanto a
/articulos/12 como a /articles/25, si no es definiendo a mano la ruta de
“articles” para cada una de las operaciones REST?

s2

Hola, Fernando. Esto que voy a decir es mas una pregunta que una
respuesta.
Pero para estas cosas d los sites bilingues, no se usan cosas como
gettext o
globalize o…Es decir que se puedan traducir tanto los contenidos como
la
forma (menus, indicaciones,formatos de fechas,…)
Que los que saben nos iluminen un poco este oscuro camino de la I18 por
favor.

El día 23 de abril de 2008 17:52, Fernando C. <
[email protected]> escribió:

Andrés gutiérrez wrote:

Hola, Fernando. Esto que voy a decir es mas una pregunta que una
respuesta.
Pero para estas cosas d los sites bilingues, no se usan cosas como
gettext o
globalize o…Es decir que se puedan traducir tanto los contenidos como
la
forma (menus, indicaciones,formatos de fechas,…)
Que los que saben nos iluminen un poco este oscuro camino de la I18 por
favor.

El día 23 de abril de 2008 17:52, Fernando C. <
[email protected]> escribió:

Eso es la forma “correcta”, pero implica meter en BBDD todas las
etiquetas, y está muy bien si van a haber varios idiomas o se van a ir
cambiando textos, pero en mi caso sería matar moscas a cañonazos… y
aun así, todavía me quedaría sin resolver el problema que más me
preocupa: la gestión de rutas.

A ver si alguien con experiencia en el tema nos da sugerencias…

s2

Alguien me comentó que habia desarrollado un plugin de “rutas
multidominios”. Supongo que eso serviria.

Un saludo,

Francesc

Francesc E. wrote:

Alguien me coment� que habia desarrollado un plugin de “rutas
multidominios”. Supongo que eso serviria.

Un saludo,

Francesc

Quizá sí… ¿no tendrás la web o el nombre del plugin?

s2

vale fernando, muchas gracias por aclararme un poco más las cosas

Un saludo,
Andrés

El día 23 de abril de 2008 18:49, Fernando C. <
[email protected]> escribió:

El 23/04/2008, a las 17:52, Fernando C.
escribió:

Tengo que hacer una web con sección en inglés, y si por ejemplo tengo
una sección /foros y otra /articulos, cada una con su controlador, su
modelo, su tabla, etc… la sección en inglés tendrá las mismas
secciones con distintas rutas (/forums , /articles) y distintas
plantillas, pero un funcionamiento similar, por lo que en principio
podrían compartir controlador y modelo… si supiera hacerlo, que no
sé.

Con riesgo de meter la pata, y suponiendo reducido el número de
idiomas… ¿Qué tal un…

map.resources :articulos, :language => “es”, :controller => “articles”
map.resources :articles, :language => “en”

No si si ni siquiera funciona, pero es lo que primero me ha venido a
la mente

De primeras, :language no se si es válida, de no serlo, en este caso
tiraría por un before filter a nivel de applicationController para
detectar el idioma, basándome en el segmento de la url.

Creo que duplicar modelos es una locura, mejor meter un campo y
sobrecargar find para que uso with_scope o añada el conditions =>
“langugae = ‘es’”

Personalmente no me importa mucho que las urls estén en ingles, por lo
que soy más de hacer rutas con el idioma delante y que el contenido
sea correspondiente al idioma

/articles => Ingles
/es/articles =>
Español

Un Saludo.