2011-06-09 21 views
5

Estoy desarrollando un complemento de CakePHP que debería ser compatible con varios idiomas. El procedimiento para la localización i18n está documentado here, pero los complementos no están cubiertos explícitamente. ¿Se supone que esta estructura funciona? Porque no es para mí en este momento, pero podría estar pasando por alto algo.¿Cómo localizar un complemento de CakePHP?

/myapp/ 
    /plugins/ 
    /myplugin/ 
     /locale/ 
     default.pot 
     /nld/ 
      /LC_MESSAGES/ 
      default.mo 
      default.po 

Y llamando a la traducción en el controlador de plug-in de este modo:

Configure::write('Config.language', 'nld'); 

En mi complemento considera que la función de localización está formateado como esto:

__('MyPluginName', 'MyDefaultString') 

Algunos de los postes en CakePHP y la localización de complementos mencionan que todas las configuraciones regionales deberían ir a /myapp/locale/, en lugar del directorio de complementos, pero eso no desafiaría el propósito del módulo modular. ugin estructura? Las entradas que he leído son de 2008 (this one por ejemplo), así que espero que este no sea el caso más.

¿Alguien podría proporcionarme más detalles sobre la localización de un complemento de Cake, tal vez incluso un pequeño tutorial paso a paso?

Respuesta

1

Tome un vistazo a Plugin development tips and tricks artículo:

Localización para plugins se maneja bien y se puede utilizar simplemente por dar un nombre de plug-in para su po o mo archivos.

+0

¡Gracias! Seguí la dirección en ese artículo y todavía no funcionó. Resulta que utilicé el código de idioma incorrecto, debería ser "dut" en lugar de "nld". Esa es la única cosa que no consideré. – mensch

+1

Puede que no han trabajado en el pasado como referencia aquí: referencias de entradas: http://code.google.com/p/lilblogs/source/browse/wiki/LocalizeHowTo.wiki?r=31 https://groups.google.com/forum/#!topic/croogo/Dn8zqBu_1QU[1-25] – snowflake

Cuestiones relacionadas