2012-02-01 15 views
6

Estoy tratando desesperadamente de crear un catálogo (. In) para mi nueva aplicación en php. 1) He creado un archivo "trans.php" donde pongo todos los valores que se traducenCrear archivo POT con Poedit

Por ejemplo, aquí está mi archivo:

<?php 

echo _e('SORTIR LA NUIT'); 

?> 

2) Abro Poedit, en el "Trazados" aquí es lo que ingresé (ver foto) Luego guardo la misma ubicación de mi archivo "php".

paths configuration in Poedit

3) Al hacer clic en "actualizar", tengo los siguientes errores:

12:25:43: No files found in: /Users/aweaoftheworld/Desktop/test 
12:25:43: Poedit did not find any files in scanned directories. 
12:25:43: Entries in the catalog are probably incorrect. 
12:25:43: Updating the catalog failed. Click on 'More>>' for details. 

¿me pueden ayudar?

Sinceramente,

+0

'_()' es un alias para 'gettext()' http://php.net/manual/function.gettext.php – powtac

Respuesta

9

se debe utilizar _ en lugar de _e, por ejemplo

<?php echo _("hi there i am gettext library") ?> 

por cierto, _e función es de motor de WordPress, que haciendo misma pero no es Función predefinida de PHP

+0

bien, muchas gracias –

17

Asegúrese de que las rutas definidas en POEdit (Catalog > Settings > Paths) apuntan a la carpeta que contiene sus archivos PHP. Esto debería resolver el problema de que POEdit no encuentre los archivos.

Si se resuelve el did not find any files in scanned directories, POEdit probablemente aún encuentre 0 mensajes. Esto se debe a que, por defecto, POEdit no admite _e como palabra clave. Para resolver este problema, simplemente agregue "_e" a la lista de palabras clave (en Catalog > Settings > Keywords).

+0

Estaba usando _() y los Paths eran correcto, pero POEdit 1.4.6 no pudo analizar nada (mismo error), mientras que el uso manual de xgettext funcionó bien. En mi caso, la actualización a 1.5.4 resolvió el problema (sistema operativo: Ubuntu 12.04.4). –

1

Sólo si uso _() en lugar de _e() o en lugar de __() - poedit puede encontrar mis cuerdas - pero, en wordpress me sale este error:

Advertencia: _() espera exactamente 1 parámetro, 2 da en C: \ xampp \ htdocs \ xxx.php en línea xxx

fue después trato de añadir lo siguiente: __() y esto: _e() para "Palabras clave", pero su me cansaría resolver el problema ... así que para mí la solución es cambiarlo a _() para edición po y después de tomar todas las palabras del código (tema wp o complemento) lo cambio todo a __().

+0

Eso es tonto. Vea la respuesta justo arriba de la suya por lo que está haciendo mal: debe agregar esta palabra clave * no predeterminada *. –

+0

en la línea 4 escribí: fue después de que intenté agregar esto: __() y esto: _e() a "Palabras clave" pero no resolvió el problema ... –

+0

Luego, o bien usa _e() incorrectamente en su código o de hecho no lo agregó a Palabras clave por algún accidente (quizás lo haya escrito mal) o no actualizó el catálogo. Pero el hecho es que la palabra clave no predeterminada _e es reconocida perfectamente por Poedit y xgettext y cualquier problema que tenga, no es con la incapacidad de Poedit para ver _e(). –