Que tal!
Hace poco pude lograr traducir una pagina a otro lenguaje de manera sencilla. Existen formas de integrar google para hacerlo pero yo prefiero hacerlo de esta forma, pues es mas personalizable.
Empecemos:
Necesitaremos XAMPP (WAMPP O LAMPP según lo prefieran), y NETBEANS IDE.
Creamos un nuevo proyecto:
Aqui en el Index.php del proyecto, sera nuestro VIEW; aqui vamos a mostrar los textos que queremos traducir, en este caso hemos colocado solo para visualizar el titulo de la aplicacion y un hola.
Ahora agregamos un nuevo archivo, que nos servirá para tener los textos que se mostrarán en otros idiomas.
Le pondremos ESPANOL(por si luego tenemos problemas con la Ñ).
Aquí usaremos DEFINE, que contendrá el valor a mostrar y como se llamara esa variable.
En nuestro caso, hemos definido el titulo, un laber y el texto que nos indica "mostrar en : "
<code>
define("titulo", "Traducir"
;
define("label1", "Bienvenido! "
;
define("mostrar", "Mostrar en: "
;
</code>
En nuestro index, incluiremos el archivo usando INCLUDE para usar las variables definidas:
Y usaremos los nombres de las variables, mostrándolas con ECHO
el resultado seria mas o menos de esta forma:
Ahora, haremos otro archivo php nuevo pero esta vez con un idioma diferente, en este caso sera ingles y el archivo se denomino ENGLISH.php
Para poder elegir entre los diferentes archivos de idiomas, usaremos un IF anidado con una variable GET que contendra el lenguaje seleccionado.
Usaremos ISSET para verificar que no venga vacío.
<code>
<?php
if(isset($_GET['lang'])){//Idioma principal
$lang=$_GET['lang'];
if($lang=='es'){
include_once './espanol.php';
}else if($lang=='en'){
include_once './english.php';
}else{
//valor por defecto si el lenguaje no existe
include_once './espanol.php';
$lang='es';
}
}else{//valor por defecto si alguien intenta cambiar el lenguaje por la url
include_once './espanol.php';
$lang='es';
}
?>
</code>
con estos IF podremos tener un idioma principal seleccionado sea cual sea la circunstancia, así como elegir entre los otros archivos.
Ya que tenemos esto realizado, debemos colocar las opciones de idiomas, en este caso usaremos <A> del HTML que contendra un variable GET con el idioma seleccionado.
<blockquote>
<label><?php echo mostrar;?></label>
<a href="index.php?lang=en">English</a> <a href="index.php?lang=es">Español</a>
</blockquote>
probamos:
idioma por defecto:
En Ingles:
y si colocamos idiomas no existentes en la URL:
Listo! ... Gracias por su atención y cualquier mejora me la hacen saber
Hace poco pude lograr traducir una pagina a otro lenguaje de manera sencilla. Existen formas de integrar google para hacerlo pero yo prefiero hacerlo de esta forma, pues es mas personalizable.
Empecemos:
Necesitaremos XAMPP (WAMPP O LAMPP según lo prefieran), y NETBEANS IDE.
Creamos un nuevo proyecto:
Aqui en el Index.php del proyecto, sera nuestro VIEW; aqui vamos a mostrar los textos que queremos traducir, en este caso hemos colocado solo para visualizar el titulo de la aplicacion y un hola.
Ahora agregamos un nuevo archivo, que nos servirá para tener los textos que se mostrarán en otros idiomas.
Le pondremos ESPANOL(por si luego tenemos problemas con la Ñ).
Aquí usaremos DEFINE, que contendrá el valor a mostrar y como se llamara esa variable.
En nuestro caso, hemos definido el titulo, un laber y el texto que nos indica "mostrar en : "
<code>
define("titulo", "Traducir"

;
define("label1", "Bienvenido! "

;
define("mostrar", "Mostrar en: "

;
</code>
En nuestro index, incluiremos el archivo usando INCLUDE para usar las variables definidas:
Y usaremos los nombres de las variables, mostrándolas con ECHO
el resultado seria mas o menos de esta forma:
Ahora, haremos otro archivo php nuevo pero esta vez con un idioma diferente, en este caso sera ingles y el archivo se denomino ENGLISH.php
Para poder elegir entre los diferentes archivos de idiomas, usaremos un IF anidado con una variable GET que contendra el lenguaje seleccionado.
Usaremos ISSET para verificar que no venga vacío.
<code>
<?php
if(isset($_GET['lang'])){//Idioma principal
$lang=$_GET['lang'];
if($lang=='es'){
include_once './espanol.php';
}else if($lang=='en'){
include_once './english.php';
}else{
//valor por defecto si el lenguaje no existe
include_once './espanol.php';
$lang='es';
}
}else{//valor por defecto si alguien intenta cambiar el lenguaje por la url
include_once './espanol.php';
$lang='es';
}
?>
</code>
con estos IF podremos tener un idioma principal seleccionado sea cual sea la circunstancia, así como elegir entre los otros archivos.
Ya que tenemos esto realizado, debemos colocar las opciones de idiomas, en este caso usaremos <A> del HTML que contendra un variable GET con el idioma seleccionado.
<blockquote>
<label><?php echo mostrar;?></label>
<a href="index.php?lang=en">English</a> <a href="index.php?lang=es">Español</a>
</blockquote>
probamos:
idioma por defecto:
En Ingles:
y si colocamos idiomas no existentes en la URL:
Listo! ... Gracias por su atención y cualquier mejora me la hacen saber
