Buenas tardes muchachos, si bien se que hay mucha documentación al respecto, no encontré nada que cumpla con mis expectativas, lo que estoy buscando es un sistema de lenguajes facil de implementar en una web (o bien actualizar el que ya poseo) en el cual se puedan pasar variables / placeholder o como quieran llamarlo, con eso me refiero a poder tener cadenas de texto del estilo:
login_bienvenido = "Bienvenido %s, gracias por conectarte al sitio."
Adjunto el codigo que tengo actualmente, para ver si alguien me puede ayudar a implementar esto, de paso tambien quisiera saber que es mas efectivo, si utilizar arrays o defines (en terminos de rendimiento).
Muchas gracias!!!
Clase de Lenguajes:
Código PHP:
$LANG_LIST = array(
'en' => array('English','us.gif'),
'es' => array('Español','AR.gif'),
);
class Lang{
private $language;
public function __construct()
{
$this->SetLang();
}
private function CheckLangArchive($DirLang){
$language = "modules_/languages/".$DirLang.".php";
if(file_exists($language))
return TRUE;
else
return FALSE;
}
private function DetectLang(){
global $LANG_LIST;
if ($_SERVER['HTTP_ACCEPT_LANGUAGE']){
$this->language_temp = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
}
else{
$this->language_temp = language_default;
}
$this->language = ereg_replace("[^a-z]","",$_GET['changelang']);
if(empty($_COOKIE[language_cookie])){
if(empty($this->language)){
$this->language = $this->language_temp;
}
else{
if(array_key_exists($this->language,$LANG_LIST) == FALSE){
$this->language = $this->language_temp;
}
}
}
else{
if(empty($this->language)){
$this->language = $_COOKIE[language_cookie];
}
else{
if(array_key_exists($this->language,$LANG_LIST) == FALSE){
$this->language = $_COOKIE[language_cookie];
}
}
}
return $this->language;
}
function SetLang(){
$this->DetectLang();
setcookie(language_cookie,$this->language,time() + 3600 * 24);
if($this->CheckLangArchive($this->language)){
require_once("modules_/languages/".$this->language.".php");
}
else{
require_once("modules_/languages/".language_default.".php");
}
}
}
Archivo de lenguaje:
Código PHP:
//LOGIN
define("lang_login_username", "Usuario");
define("lang_login_password", "Contraseña");
define("lang_login_process", "Conectar");
define("lang_login_lostpassword", "Perdiste tu contraseña?");
Como lo llamo en el index.php:
Código PHP:
require_once('modules_/class/language.class.php');
$Lang = new Lang();