Foros del Web » Programando para Internet » PHP »

Web en varios idioma

Estas en el tema de Web en varios idioma en el foro de PHP en Foros del Web. Hola! He estado leyendo sobre hacer una web multiidiona, en mi caso nada mas entrar se elige el pais y el idioma. Lo que no ...
  #1 (permalink)  
Antiguo 14/09/2015, 12:52
 
Fecha de Ingreso: octubre-2009
Mensajes: 299
Antigüedad: 15 años
Puntos: 2
Web en varios idioma

Hola!

He estado leyendo sobre hacer una web multiidiona, en mi caso nada mas entrar se elige el pais y el idioma.

Lo que no me queda claro es como se traduce, tengo que crear un archivo con todas las palabras?
  #2 (permalink)  
Antiguo 14/09/2015, 13:33
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años, 7 meses
Puntos: 74
Respuesta: Web en varios idioma

Yo he creado webs multilenguaje en Yii framework y Joomla. En el primero, las traducciones están en ficheros a parte (aunque también se pueden guardar en la base de datos). Si te animas a usar el segundo, aquí te dejo el tutorial que tienes que seguir http://www.slideshare.net/erictiggel...-eric-tiggeler. Wordpress también permite crear una web multilenguaje, pero hay que instalar un plugin adicional de pago https://wpml.org/
  #3 (permalink)  
Antiguo 14/09/2015, 13:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Web en varios idioma

Cita:
Lo que no me queda claro es como se traduce, tengo que crear un archivo con todas las palabras?
Pues existen muchas técnicas, una de ellas es la que mencionas.

¿Ya investigaste al respecto?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 14/09/2015, 14:04
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: Web en varios idioma

Yo tengo una web que se traduce al seleccionar el idioma en un select, y utilizo un par de archivo con cada idioma, por ejemplo:

lang.es.php:

Código PHP:
Ver original
  1. <?php
  2. /*
  3. ------------------
  4. Language: Spanish
  5. ------------------
  6. */
  7.  
  8. define('LANG_HEADER_TITLE', 'Mi sitio web de la cabecera tÃ*tulo');
  9. define('LANG_barra', 'Select Your Language');
  10. define('LANG_SLOGAN', ' Mi lema aquÃ*');
  11. define('LANG_HEADING', 'TÃ*tulo');
  12. define('LANG_TIT1' , '¿PORQUÉ ELEGIRNOS?');
  13. define('LANG_RESTIT1','Somos una empresa que ofrece un sistema moderno, innovador y único de Gestión de Seguridad y Salud Laboral, diseñado para simplificar los planes de trabajo del programa de seguridad con un mètodo sistemático, de forma fácil, rápida, segura y eficiente.');
  14. /*Index*/
  15. define('LANG_DESTA1','PLATAFORMA GLOBAL');
  16. define('LANG_DESTARES1','PSSL pro es una plataforma innovadora y global, por lo que se adapta fácilmente a su empresa');
  17. define('LANG_DESTA2','PRODUCTIVIDAD');
  18. define('LANG_DESTARES2','PSSL pro aumenta la productividad de su departamento de Seguridad Industrial');
  19. define('LANG_DESTA3','DISPONIBILIDAD');
  20. define('LANG_DESTARES3','PSSL pro esta las 24 horas del día a su entera disposición');
  21. define('LANG_DESTA4','SOPORTE');
  22. define('LANG_DESTARES4','PSSL pro le ofrece el más rápido y dedicado soporte en linea para atender sus requerimientos oportunamente');
  23. define('LANG_DESTA5','MULTI USUARIO');
  24. define('LANG_DESTARES5','PSSL pro es una plataforma multi usuario por lo que podrá disponer de la aplicacion en cualquiera de sus sucrusales con data individualizada.');
  25. define('LANG_DESTA6','FÁCIL MANEJO');
  26. define('LANG_DESTARES6','PSSL pro es de fácil manejo y rápido aprendizaje por lo que podrá utilizarla desde el primer día de implementación');
  27.  
  28. //y asi continuo creando las definiciones que necesite en mis paginas

luego las implemento de esta manera:

archivo lenguaje.php el cual esta como include en mis paginas:

Código PHP:
Ver original
  1. <?php
  2. header('Cache-control: private'); // IE 6 FIX
  3.  
  4. if(isset($_GET['lang'])){
  5.     $lang = $_GET['lang'];
  6.  
  7.     //registra sesion
  8.     $_SESSION['lang'] = $lang;
  9.    
  10.     //define cookie
  11.     setcookie('lang', $lang, time() + (3600 * 24 * 30));
  12.    
  13.     //busca en variables cookie y session
  14. }else if(isset($_SESSION['lang'])){
  15.     $lang = $_SESSION['lang'];
  16. }else if(isset($_COOKIE['lang'])){
  17.     $lang = $_COOKIE['lang'];
  18. }else{
  19.     $lang = 'es';
  20. }
  21.  
  22. switch ($lang) {
  23.   case 'en':
  24.   $lang_file = 'lang/lang.en.php';
  25.   break;
  26.  
  27.   case 'es':
  28.   $lang_file = 'lang/lang.es.php';
  29.   break;
  30.  
  31.   case 'po':
  32.   $lang_file = 'lang/lang.po.php';
  33.   break;
  34.  
  35.   default:
  36.   $lang_file = 'lang/lang.es.php';
  37.  
  38. }
  39.  
  40. include_once $lang_file;
  41. ?>

y dentro de las paginas solo coloco las definiciones donde corresponda, algo asi:

Código PHP:
Ver original
  1. <?php echo LANG_RESTIT1; ?>
espero te sirva, saludos
__________________
[email protected]
HITCEL

Etiquetas: idioma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:39.