encuentro Yii great framework, y el sitio web de ejemplo creado con yiic shell es un buen punto para comenzar ... sin embargo, no cubre el tema de sitios web multilingües, desafortunadamente . Los documentos cubren el tema de la traducción de mensajes cortos, pero no mantienen el contenido multilingüe ...Yii: sitio web multilingüe: mejores prácticas
Estoy a punto de comenzar a trabajar en un sitio web que debe estar en al menos dos idiomas, y me pregunto cuál es la mejor manera de mantener el contenido para eso ... El problema es que el contenido se mezcla de forma extensiva con elementos comunes (como archivos de video incrustados).
Necesito evitar la duplicación de esos bienes comunes ... hasta ahora solía tener una matriz de matrices que contenían textos (por lo general, no más de 1-2 párrafos cortos), entonces el archivo de vista simplemente representaba el texto de una matriz .
Ahora me gustaría evitar mantenerlo en matrices (lo que requiere un poco de atención al poner comillas dobles "" y es un inconveniente en general ...).
Entonces, ¿cuál es la mejor manera de mantener esos párrafos cortos? ¿Debo guardarlos en DB like (id | msg_id | language | content) y luego seleccionarlos por msg_id & language? Eso todavía me obliga a crear algunos msg_id's e incrustarlos en el archivo de visualización ...
¿Hay algún paradigma recomendado para el cual Yii tenga algunas soluciones?
Gracias, m.
método
Problema con GetText IMO es que son difíciles de mantener y mantenerse actualizados, también puede encontrarse con problemas atómicos. Mi método preferido es la base de datos para que pueda actualizar los mensajes sobre la marcha. Si realmente deseas velocidad, GetText es más rápido; de lo contrario, DB es el camino a seguir. – Atherion
NOTA: Recomiendo no usar GettextMessageSource sin caché.El rendimiento puro de PHP gettext es mucho más lento que php array (yii2 mismo usa matrices php) porque lee los archivos repetidamente, sin embargo usar php gettext extension (versus gettext pure php code) es un poco más rápido que php array pero usar php ext requiere reiniciar el servidor por cada cambio http://mel.melaxis.com/devblog/2006/04/10/benchmarking-php-localization-is-gettext-fast-enough/ – Alix