Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2013, 15:43
Avatar de JaimeMSE
JaimeMSE
 
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Expresiones regulares para multilenguaje

Hola,

En mi web tengo pensamiento de hacer algo así:

El usuario escribe [es]Texto en español[/es] y eso se mostraría si el idioma de la web es español, y así.

Tengo este código y funciona perfectamente:

Código PHP:
Ver original
  1. function obtenerIdiomaTexto($texto)
  2. {
  3.     $idiomaActual = 'de';
  4.     if(!empty($texto))
  5.     {
  6.         if(strstr($texto, '[es]') AND strstr($texto, '[/es]') AND $idiomaActual == 'es')
  7.         {
  8.             $idiomaTexto = explode('[/es]', $texto);
  9.             $idiomaTextoBien = explode('[es]', $idiomaTexto[0]);
  10.             return $idiomaTextoBien[1];
  11.         }
  12.         elseif(stristr($texto, '[en]') AND stristr($texto, '[/en]') AND $idiomaActual == 'en')
  13.         {
  14.             $idiomaTexto = explode('[/en]', $texto);
  15.             $idiomaTextoBien = explode('[en]', $idiomaTexto[0]);
  16.             return $idiomaTextoBien[1];
  17.         }
  18.  
  19.         elseif(stristr($texto, '[de]') AND stristr($texto, '[/de]') AND $idiomaActual == 'de')
  20.         {
  21.             $idiomaTexto = explode('[/de]', $texto);
  22.             $idiomaTextoBien = explode('[de]', $idiomaTexto[0]);
  23.             return $idiomaTextoBien[1];
  24.         }
  25.     }
  26.     else
  27.     {
  28.         return FALSE;
  29.     }
  30. }
  31.  
  32.  
  33. $texto = obtenerIdiomaTexto('[es]Texto en español[/es][en]Texto en inglés[/en][de]Texto en alemán[/de]');
  34. echo $texto;

Mi duda es, ¿cargaría mucho la web? ¿hay alguna manera mas liviana de hacerlo?
Ya se que puedo crear campos en la base de datos con texto_es, texto_en y así, pero es que son muchas cosas las que lo van a usar, como en las noticias, titulos de noticias, fichas de animales, etc etc y por eso así no es viable.
Mucho menos cuando la web se va a ir traduciendo a otros idiomas y hay que agregar otros idiomas.

Gracias!
__________________
@JaimeMSE - ¡Sígueme!