¿Cómo usar Yii con un modelo de base de datos multilingüe?

Tengo problemas para obtener los datos de mi base de datos que creé para que sean completamente multilingües, y espero que alguien aquí pueda ayudarme.

He dividido todas mis tablas en 2 partes; la tabla "universal" (no contiene ningún texto que deba traducirse) y la tabla que contiene todos los campos que deben traducirse con sus traducciones.

Tablas de ejemplo:

base_material
    id
    picture
base_material_i18n
    base_material_id
    localization_id
    name
    description
    review_status
    review_notes
localization
    id
    language_name

Query para obtener las traducciones (usando el inglés (en) como idioma alternativo si no hay traducción disponible):

SELECT o.id
     , o.type
     , o.code
     , o.position
     , ifnull(t.name,d.name) name
     , ifnull(t.description,d.description) description
  FROM base_material o
       INNER JOIN base_material_i18n d
               ON ( o.id=d.base_material_id)
       LEFT OUTER JOIN base_material_i18n t
                    ON ( d.base_material_id=t.base_material_id AND t.localization_id='nl' )
 WHERE d.localization_id='en'

Mi pregunta es ¿cómo puedo obtener automáticamente esas traducciones (con el lenguaje alternativo como en esta consulta) adjuntas a mi modelo en Yii cuando estoy buscando los objetos de material_base? (Esta es solo una tabla de ejemplo, pero casi todas mis tablas (20+) están compiladas de esta manera, por lo que si fuera posible necesitaría algo flexible)

Un ejemplo de un sistema existente que usa lo que necesitaría es Propel:http: //propel.posterous.com/propel-gets-i18n-behavior-and-why-it-matter

¿Alguna idea de cómo hacer eso? He comprobado las extensiones Yii existentes con respecto a sitios multilingües (como Registro activo multilingüe), pero todos usan un diseño de base de datos diferente (información general + lenguaje alternativo en la tabla principal, traducciones en la tabla i18n), y no estoy seguro de cómo cambiar esas extensiones para usar mi tipo de modelo de base de datos. @

Si alguien conoce una forma de cambiar esa extensión existente para que pueda usar mi tipo de esquema de base de datos, entonces sería absolutamente brillante y probablemente la mejor manera de hacerlo.

Edit: agregué una recompensa porque todavía no puedo encontrar nada sobre cómo dejar que Propel funcione con Yii (existe una extensión para Doctrine, pero Doctrine tampoco admite este tipo de modelo de base de datos con traducciones), ni más información sobre cómo lidiar con esto usando una extensión Yii existente o con ámbitos.

Edita: 98 veces visto pero solo 3 votos a favor y 1 comentario. No puedo evitar sentir que estoy haciendo algo mal aquí, ya sea en mi pregunta o en el diseño de la aplicación / base de datos; o eso o mi problema es muy único (lo que me sorprendería, ya que no creo que el diseño de mi base de datos multilingüe sea tan absurdo ;-). Entonces, si alguien sabe de una mejor solución integral para sitios multilingües con Yii y / o Propel (aparte de las extensiones actuales que realmente no me gustan debido a la duplicación de campos de texto) o algo similar, hágamelo saber también

¡Gracias por adelantado

Respuestas a la pregunta(3)

Su respuesta a la pregunta