PHP:¿Cómo puedo hacer una web en varios idiomas mediante arrays?
De Foros del Web
Antes que nada tienes que checar la configuración del usuario:
Código PHP:
<?php if (isset ($_GET['lang'])) { $idioma = $_GET['lang']; } elseif (preg_match("/^es/", $_SERVER['HTTP_ACCEPT_LANGUAGE'])) { $idioma = "es"; } else { $idioma = "en"; } ?>
Ahora, creas los arrays:
Código PHP:
<?php $idiomas = array( 'en' => array( 'idioma' => 'English', 'otro_idioma' => 'es', 'buscar' => 'Search', 'portada' => 'Home', //Menú 'foros' => 'Forums', 'boletin' => 'Newsletter', 'enlazame' => 'Link Me', 'acerca' => 'About', 'contacto' => 'Contact', 'faq' => 'Faq', 'noticias' => 'News', //Contenido 'copyright' => 'All Rights reserved', //Copyright ), 'es' => array( 'idioma' => 'Español', 'otro_idioma' => 'en', 'buscar' => 'Buscar', 'portada' => 'Portada', //Menú 'foros' => 'Foros', 'boletin' => 'Boletín', 'contacto' => 'Contacto', 'faq' => 'FAQ', 'noticias' => 'Noticias', 'copyright' => 'Todos los derechos reservados' //Copyright ), ); ?>
Para cambiar de idioma mediante un link pones:
Código PHP:
<a href="index.php?lang=<?php echo $idiomas['en']['otro_idioma']; ?>">Español</a> <a href="index.php?lang=<?php echo $idiomas['es']['otro_idioma']; ?>">English</a>
Y en los links:
Código PHP:
<a href="index.php" title="<?php echo $idiomas[$idioma]['portada'];?>">+ <?php echo $idiomas[$idioma]['portada'];?></a>
[Eliminen los tags y junten todo el código]
--X.Cyclop 10 Mar 2006
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
