Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Internacionalización con xampp y php

Estas en el tema de Internacionalización con xampp y php en el foro de PHP en Foros del Web. Hola, Estoy creando una aplicación web con Xampp y me gustaría internacionalizarla. Ya creé los archivos .po con gettext y añadí a los ficheros de ...
  #1 (permalink)  
Antiguo 31/01/2016, 11:05
miriamfd94
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Internacionalización con xampp y php

Hola,
Estoy creando una aplicación web con Xampp y me gustaría internacionalizarla. Ya creé los archivos .po con gettext y añadí a los ficheros de PHP las indicaciones para que el usuario una vez que seleccione el idioma le aparezca traducido.

Realizo todo esto y no me lo traduce a no ser que sea en Español.

¿Habría alguna manera o tiene que ver la configuración de Apache o PHP?. Si es así os agradecería que me intentaseis solucionar la duda.

Intento solucionar el problema de que me escoja el idioma por la localización. No se si me explico bien pero el problema que tengo también aparece en este hilo, el cual no se solucionó: https://www.sitepoint.com/community/t/gettext-not-working-under-local-xampp/54975
Un saludo
  #2 (permalink)  
Antiguo 31/01/2016, 11:16
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Internacionalización con xampp y php

yo traduje mi app solo con php, algo asi:

Código PHP:
Ver original
  1. //archivo de idioma Inglés
  2.  
  3. define('CASA','HOUSE');
  4. define('CARRO','CAR');
  5.  
  6. //y asi con todo

luego en donde quiero la traducción:

Código PHP:
Ver original
  1. <?php echo CASA; ?>

en las pagina coloque esto:

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

y listo, cuando el usuario inicia sesion se crea una variable de sesion con el idioma de preferencia y la aplicacion y sus modulos estan traducidos al didioma del usuario. Saludos
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 31/01/2016, 13:35
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Internacionalización con xampp y php

Puedes usar la API del Traductor de Google u otras alternativas que puedes ver aquí.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 01/02/2016, 05:11
miriamfd94
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Internacionalización con xampp y php

Muchísimas gracias por contestar tan rápido. Conseguí internacionalizarlo con la primera opción.

Etiquetas: xampp
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 22:39.