¿Me llegaste a enviar algo?
El día 22/01/08, minskog <[EMAIL PROTECTED]> escribió:
>
> E mismo de la lista, muchas gracias :)
>
> El día 22/01/08, boriscy <[EMAIL PROTECTED]> escribió:
> >
> >
> > No tengo eso pero si quieres te puedo pasar el codigo fuente para que
> > lo revises. Solo dame tu email te lo envio para que puedas hacer lo
> > que dices
> >
> > On 21 ene, 08:58, minskog < [EMAIL PROTECTED]> wrote:
> > > Tienes por ahí a mano enlaces donde se explique como va el translation
> > > behaviour de 1.2-beta? Me refiero al tema de crear y actualizar
> > registros
> > > amén de sacar el campo del idioma por defecto si no existe el del
> > idioma
> > > activo.
> > >
> > > El día 17/01/08, boriscy <[EMAIL PROTECTED]> escribió:
> > >
> > >
> > >
> > > > Bueno esto servira como respuesta para algunas Personas que lo
> > > > necesiten.
> > > > Yo quiero almacenar la información original en mi language español
> > > > (default) en el modelo en este caso "Page" y tiene como tabla
> > "pages·
> > > > y cuando use otro idioma busque esto en la tabla i18n que cake
> > obtiene
> > > > automaticamente. Obviamente para hay que hacer uso de la
> > localizacion
> > >
> > > > En el app_controller.php lo hice de esta manera, esto permite l10n
> > > > "Localizacion" pero no internacionalizacion
> > >
> > > > function beforeFilter()
> > > > {
> > > > $this->L10n = new L10n();
> > > > $languages = array('eng', 'spa');
> > >
> > > > $lang = $this->Session->check('lang') ? $this->Session-
> > > > >read('lang'):'spa';
> > >
> > > > if(isset($this->params['named']['lang']) && in_array($this-
> > > > >params['named']['lang'],$languages) ){
> > > > $lang = $this->params['named']['lang'];
> > > > $this->Session->write('lang',$lang);
> > > > }else{
> > > > $this->Session->write('lang',$lang);
> > > > }
> > >
> > > > $this->L10n->get($lang);
> > > > Configure::write('Config.language', $lang);
> > > > }
> > >
> > > > Para que pueda funcionar correctamente la localizacion es necesario
> > un
> > > > archivo "locale/esp/LC_MESSAGES/default.po" en esa ruta donde se
> > > > realiza las traducciones de la sigueinte manera
> > >
> > > > msgid "content"
> > > > msgstr "Contenido"
> > >
> > > > "Mejor si codificas los archivos .po con UTF8"
> > >
> > > > para poder presentar lo haces asi
> > > > __('content')
> > >
> > > > y en caso de que este en español la localizacion te presentara
> > > > "Contenido".
> > > > tamiben puedes usar de esta forma
> > > > echo __('content', true);
> > >
> > > > Ahora te recomiento de que en archivo bootstrap.php
> > > > crees la constante
> > > > define('DEFAULT_LANGUAGE', 'spa');
> > >
> > > > Una ves ya hayas terminado la localización ahora debemos realizar la
> > > > internacionalización
> > >
> > > > Para esto he creado una tabla con el nombre pages y su modelo Page y
> >
> > > > oviamente con su controlador Pages
> > >
> > > > En el modelo Page haz lo siguiente:
> > >
> > > > class Page extends AppModel
> > > > {
> > > > var $displayField = 'name';
> > > > var $actsAs = array();
> > >
> > > > function setLanguage()
> > > > {
> > > > $lang = Configure::read('Config.language');
> > > > if(DEFAULT_LANGUAGE!=$lang)
> > > > $this->actsAs = array('Translate' => array('content',
> > > > 'name'));
> > > > $this->__construct(false, null, null);
> > > > }
> > > > }
> > >
> > > > Como puedes ver solo los campos (content, name) seran traducidos
> > >
> > > > Y para que puedas desplegar correctamente el contenido original que
> > se
> > > > saca de la tabla pages y el traducido de la tabla i18n haces lo
> > > > siguiente
> > > > en tu controlador PagesController
> > >
> > > > public function index($page = null)
> > > > {
> > > > $this->Page->setLanguage();
> > > > if($page==null){
> > > > $text = $this->Page->findByUrl('Inicio');
> > > > }else{
> > > > $text = $this->Page->findByUrl($page);
> > > > }
> > > > $this->set('texto', $text);
> > > > }
> > >
> > > > Ya en tu vista manejas los datos como lo harias con cualquier otro
> > > > controlador.
> > > >
> >
>
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos
de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [email protected]
Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
Para obtener más opciones, visita este grupo en
http://groups.google.com/group/CakePHP-es?hl=es.
-~----------~----~----~----~------~----~------~--~---