Revision [881]

This is an old revision of MultiLangSite made by ChristianTorrez on 2008-07-18 11:17:03.

 

Procedimiento para Creación de Sitios Multilenguaje


Este documento esta en desarrollo los aportes son bienvenido

Este documento pretende unificacar la funcionalidad y guiar en el proceso de desarrollo de sitios web multilenguaje, en otras palabras ser una base (guideline) practica que se pueda seguir y someter a mejoras continuas, al mismo tiempo que se formaliza el proceso.

Estructura del Sistema de Archivo


A continuación se muestra la estructura simple de lo que sería un sitio web multilenguaje utilizando smarty.

Dentro de la primera carpeta class/lang/ se almacenan los archivos .ini.php que serviran para cada idioma del sitio, ellos almacenaran todos los titulos estaticos incustados en el sitio, para ello se hara uso de la variable $_LANG.

Ejemplo del contenido de un archivo .ini.php.

es.ini.php
<?php
$_LANG['alt_btnSearch'] = 'Buscar';
$_LANG['val_Search'] = 'entre clave';
$_LANG['news_and_events_title'] = 'Noticias y Eventos';
$_LANG['outstanding_title'] = 'Destacados';
$_LANG['fact_and_figures_title'] = 'Hechos y Cifras';
$_LANG['read_more'] = 'Leer m&aacute;s';
?>


Ahora para incluirlo el archivo en cualquier archivo php tenemos usar un archivo que sea comunmente requerido por cada php en el sitio, por esa razón usamos el app.class.php. Lo editamos y añadimos al final lo siguiente:

...
if(ADMIN!==true) {
  # Aqui defino a $lg con lenguaje por defecto el español
  $lg = ($_REQUEST['lg']?$_REQUEST['lg']:'es');

  switch($lg) {
    case 'es':
      require_once('lang/es.ini.php');
      break;
  }
  # Hago el paso de $_LANG a smarty, notece que le paso a la funcion assign el arreglo completo y no le defino nombre esto es por que
  # esa función de smarty puede recibir una cadena o un arreglo en caso de que sea un arreglo recorre el arreglo y le asigna las llaves del arreglo
  # como nombres de las variables es por ello que en smarty por ejemplo no usariamos el valor de $_LANG['alt_btnSearch'] así {$alt_btnSearch}.
  if($_LANG) $smarty->assign($_LANG);
}
...


 
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki