Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
[PHP] Sistema Multi-Lenguaje
#1
Dedo arriba 
Sistema Multi-Lenguaje en PHP

Primero necesitamos nuevos archivo config lenguaje, nos creamos el siguiente archivo con el nombre: language_config.php y dentro ira esto:

Código PHP:

Código:
<?php
/*------------------------------------------*
| Language System V 1.0.1 By JorGe |
| Elab Share |
| Enlinea.Lab — FREE MMORPG DEVELOPING |
*------------------------------------------*/
session_start();
header('Cache-control: private'); // IE 6 FIX

if(isSet($_GET['lang'])){
$lang = $_GET['lang'];

//registra sesion
$_SESSION['lang'] = $lang;

//define cookie
setcookie('lang', $lang, time() + (3600 * 24 * 30));

//busca en variables cookie y session
}else if(isSet($_SESSION['lang'])){
$lang = $_SESSION['lang'];
}else if(isSet($_COOKIE['lang'])){
$lang = $_COOKIE['lang'];
}else{
$lang = 'es';
}

switch ($lang) {
case 'en': $lang_file = 'english.php'; break;

/*------------------------------------------*
| Lenguages: |
| |
| case 'es': |
| $lang_file = 'spanishx.php'; |
| break; |
*------------------------------------------*/

case 'en': $lang_file = 'english.php'; break;
case 'br': $lang_file = 'portugues.php'; break;
/*------------------------------------------*
| Language Default |
*------------------------------------------*/
default:
$lang_file = 'spanish.php';

}
/*------------------------------------------*
| Carpeta Lenguages |
*------------------------------------------*/
include_once 'languages/'.$lang_file;
?>
Bueno ahora como veran en el php tiene dentro los titulos de cada cosa y para que sirven, en el caso de
Código PHP:

Código:
default:
$lang_file = 'spanish.php';
Este sera el idioma por default


Para agregar otro idioma solo basta con poner este codigo (Obviamente deven cambiar el nombre del idioma, en este caso puse br para definirlo y el nombre del php es portugues.php)
Código PHP:

Código:
case 'br': $lang_file = 'portugues.php'; break;

Ahora nos vamos a nuestro Index.php que es donde incluiremos una include o require llamando a nuestro language_config.php
simplemente basta con poner

Código PHP:
Código:
<?
require ("language_config.php"; ?>

Luego en el mismo index.php, pondremos los codigos de Traduccion, por lo cual ya devemos tener creados nuestros archivos de english.php y spanish.php (Estos van en la Carpeta languages/)

//En Ingles
Código PHP:
Código:
<?php
/*
------------------
Language: Ingles
------------------
*/

define('text_menu_home', 'Home');
define('text_menu_archive', 'Archive');
define('text_menu_top10', 'Top 10');
define('text_menu_forum', 'Forum');
define('text_menu_upload_archive', 'Upload Archive!');
define('text_menu_donate', 'Donate');
define('text_menu_remember', 'Remember !');
define('text_this_is_hostfile', 'This is a file hosting service for users and members of EnLinea.Lab Network. ');
define('text_maximum_upload', 'Maximum upload size 100 MB per file! | <b><font color="red">Download: Unlimited!</font></b>');

//Buttons
define('text_button_upload', 'Upload!');
define('text_button_download_archive', 'Download File Now');

?>
//En Español
Código PHP:
Código:
<?php
/*
------------------
Language: Ingles
------------------
*/

define('text_menu_home', 'Inicio');
define('text_menu_archive', 'Archivo');
define('text_menu_top10', 'Top 10');
define('text_menu_forum', 'Foro');
define('text_menu_upload_archive', 'Subir Archivos!');
define('text_menu_donate', 'Donaciones');
define('text_menu_remember', 'Recuerda !');
define('text_this_is_hostfile', 'Este es un Hosting de archivos para usuarios y miembros de EnLinea.Lab Network. ');
define('text_maximum_upload', 'Maximo de Subida 100 MB Por Archivo! | Descargas: <b><font color="red">Ilimitadas!</font></b>');

//Buttons
define('text_button_upload', 'Subir!');
define('text_button_download_archive', 'Descargar Archivo');

?>

Este seria un ejemplo de Inicio (Este codigo va en el Index.php)
Código PHP:

Código:
<?php echo text_menu_home; ?>
Inicio <-- En Español o Home <-- En Ingles


por ultimo para hacer una selección de Idiomas con la posibilidad de que los usuarios que visiten tu sitio web puedan cambair el Idioma por el de su preferencia es agregar esto en tu Index.php
Código PHP:

[code]<td height="55" colspan="3" align="right" valign="middle"><div id="languages">
<a href="index.php?lang=en" title="English"><img src="images/flags/us.gif" /></a>
<a href="index.php?lang=es" title="Spanish"><img src="images/flags/es.gif" /></a>
<a href="index.php?lang=br" title="Português"><img src="images/flags/br.gif" /></a>
</div></td>

Para que las imagenes de los Paises no tenga borde de URL solo agrega esto en tu Style
Código:
<style>
#languages img {
margin: 3px;
border: 0px;
}
</style>
#2
Muy bueno el aporte, te llevas un tanks y reputación de mi parte Sonrisa Sigue haciendo esos aportes que son muy buenos.
WWW
#3
Te ganaste el Gracias, esta excelente, muy bueno lo utilizare en proyectos.
#4
Me lo guardo y a ver si aprendo php y si por fin acabo el css y el html que con los estudios aún llevo un tiempo con estos dos lenguajes.
#5
Con ésto no se tiene problemas de contenido duplicado? yo para evitarme problemas he creado cada sección de una web en diferente idioma en un subdirectorio (en.web.com; br.web.com) Gran sonrisa
WWW
#6
muy buena aportacion la q has hecho la verdad lo intentare avr si me sale...
WWW
#7
(30-05-2012, 12:56 PM)dBer escribió: Mine desde las paginas esas que comentan, si que se puede, ya te digo, yo lo he hecho y es pq lo guarda en un bbdd, la que yo usaba debia guardar tu ip o una cokie o algo, pq desde un pc si que me dejaba, pero desde los demas no.

Menos mal que solo la use para hacer pruebas de un script que estaba creando, pq paso de que tengan por ahi mis datos y mas sin avisar.

Despues de este chorizaco, pues eso, que estas web, guardan en una bbdd los resultados.

Bajo ningún motivo eso crearía contenido duplicado.

Es decir, debes de configurar para que los invitados y/o bots lean en español (o el idioma desde el que tienes más visitas) y pues tu contenido aparecerá en español en google.
WWW
#8
Gracias por la info compañero
#9
Yo lo hice con arreglos, asi no solo guardo UNA palabra...sino una frase
Slds
#10
Gracias por el aporte espero me ayude Sonrisa
WWW


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  [Duda] Qué lenguaje me recomiendan para empezar Backend? Kamasado 5 248 03-07-2017, 05:42 AM
Último mensaje: ArtuGar
  lenguaje de programacion. easy english 5 261 11-06-2017, 03:05 AM
Último mensaje: mispracticas2009
  Como hacer un Sistema de Noticias con PHP y MySQL torgar22 3 1,200 02-02-2015, 05:16 PM
Último mensaje: AngelKrak
  Sistema de paginacion PHP - MYSQL torgar22 1 616 02-02-2015, 04:51 PM
Último mensaje: AngelKrak
  Sistema de Captcha en PHP torgar22 0 258 29-01-2015, 03:11 AM
Último mensaje: torgar22
  Sistema Bibliotecario en PHP y MYSQL jlgarduza 0 2,258 23-11-2014, 07:02 AM
Último mensaje: jlgarduza
  sistema de subir con html y javascrip 2 luisfml 4 578 13-06-2014, 08:37 AM
Último mensaje: forsa
  Sistema de login publicado por "Alan" de phpost papanoel 0 648 22-01-2014, 04:45 AM
Último mensaje: papanoel
  Google prepara Dart, un nuevo lenguaje de programación web givered 9 1,172 05-11-2013, 06:37 PM
Último mensaje: KeviNxDTM
Fotografía [Script] Galería de imágenes, multi upload, paginación, sin Base de Datos DarkMaster 44 5,951 22-09-2013, 05:14 AM
Último mensaje: DarkMaster



Usuarios navegando en este tema: 1 invitado(s)