PHP:¿Cómo puedo configurar mi página para diferentes idiomas?

De Foros del Web

Con HTTP_ACCEPT_LANGUAGE

Código PHP:

if(empty($sitelang)){ //primero preguntamos si la variable que va a contener el lenguage del visitante esta vacia 
      $sitelang = getenv("HTTP_ACCEPT_LANGUAGE"); // si esta vacía sacamos el lenguage del visitante y lo ponemos en la variable $sitelang 
      } 
switch($sitelang){ //ahora cargamos el archivo que contiene el idioma segun la varible que sacamos antes 
          case "es" : //es = español  
             include("./lang/lang-esp.php"); //ahora cargamos el archivo que contiene las variables y sus palabras 
             break; 
          case "en" : //en = ingles  
             include("./lang/lang-eng.php"); 
             break; 
          default : 
             include("./lang/lang-esp.php"); //cargamos un idioma por defecto si no se encontró algún idioma  
             break; 
       }  

ahora el archivo que contiene las palabras con sus traducciones

lang-esp.php

Código PHP:

<?php 
define('_LOGIN','Logeado');//lo definimos con una palabra que todos los archivos de lenguage tienen que tener para definir la función que cumple, después la palabra que lo va a reemplazar 
define('_REGISTER','Registrarce'); 
define('_HELO','Hola'); 
define('_ACCEPT','Aceptar'); 
define('_ACCESS_ADD','Añadir'); 
?> 

y para poner la palabra que definimos anteriormente

Código PHP:

<? 
echo _REGISTER;//esto pondría en pantalla Registrarse 
?> 

Nótese que las palabras que definimos hay que tratarlas como variables ejemplo para poner una palabra que definimos en alguna frase sería así.

echo "hola esta un una prueba para mostrar registrado en tu idioma "._REGISTER." bla bla";

un listado de palabras listas para copiar pegar en sus archivos las pueden sacar de las aplicaciones prefabricadas ( quién decía que no servían para nada xD xD) como por ejemplo postnuke ya que ocupa la misma forma para el archivo de language.


--kech 20 Jul 2003

Este artículo es parte de las FAQs de PHP y el Manual de PHP.

Herramientas personales