2010-03-25 22 views
14

En Windows usando WAMPServer (Apache, MySQL, PHP) Tengo el siguiente:¿Cómo generar un archivo .po?

//test.php 
if (!defined('LC_MESSAGES')) 
define('LC_MESSAGES', 6); 

$lang = "sv"; 
putenv("LANG=$lang"); 
setlocale(LC_ALL, $lang); 

$domain = "messages"; 
bindtextdomain($domain, "./locale"); 
textdomain($domain); 

echo _("This is a string"); 

Trabaja muy bien, es decir, se da salida a "esto es una cadena", que significa que tengo gettext configurar correctamente hacia arriba.

Pero ¿CÓMO en el mundo puedo crear un archivo .po?

He descargado Poedit pero no puedo ver cómo hacer que esto suceda con ese software.

¡Cualquier ayuda es muy apreciada!

+0

Encontré este tutorial útil [>> Gettext & PoEdit >>] (https://www.youtube.com/watch?v = -RuqVDdC1cI) –

Respuesta

7

PoEdit es la herramienta para crear el archivo .po. Tienes que hacer una pequeña configuración con ella y no es la más fácil. La forma en que debería funcionar es que encuentra todo el texto en su código fuente que está envuelto en la cadena de marcador que usted configura. Este se convierte en el texto fuente que le das a tu traductor. Luego lo traducen al (a los) idioma (s) de destino y guardan los archivos de traducción y se los devuelven. A continuación, volcar esos archivos en un directorio especial en su aplicación php y cada vez que la extensión gettext ve una de las cadenas de traducción obtiene la traducción adecuada.

Probablemente pueda ayudarlo más si muestra algunos detalles sobre dónde se colgó con poedit.

+1

Thx, logré solucionarlo. El problema era que no estaba claro cómo establecer el (los) sendero (s) base. Y la interfaz es demasiado antigua para ser lo suficientemente intuitiva como para entender cómo crear una nueva ruta.:) – tobefound

+0

Lo más importante es la configuración de la ruta (ruta absoluta) en su archivo de catálogo; de lo contrario, Poedit no podrá usar 'gettext()' de los archivos fuente. –

+1

@VolkerE. asesorar es incorrecto en un aspecto: debe utilizar rutas * relativas *, no absolutas, porque las primeras no serían aplicables a otras máquinas. Mejor aún, use Poedit 1.8beta3 (o más nuevo) que solucionó la terrible interfaz (y estoy diciendo esto como autor de Poedit) para establecer la ruta de las fuentes y le permite simplemente arrastrar los directorios relevantes. –

8

para PHP:

Tengo un archivo como ---- ---- test_1.php

<?php 
    echo _("Test phrase"); 
    echo gettext("Test phrase two"); 
    // NOTE: _ == gettext() 
?> 

Archivo -> Nuevo catálogo ... En las "rutas de origen" pestaña, hay que hacer clic en Nueva carpeta, agregue la ruta de la carpeta en la que tienes el archivo (en este ejemplo test_1.php)

... Ellos cogido todas las cuerdas que consiguen invocar con o gettext()_() ... El útil para aquellos función se explica aquí http://www.php.net/manual/es/function.gettext.php

Y ... Si lo utiliza Apache (por ejemplo, en XAMPP), por favor, Stop and Start (Reiniciar) cuando lo que desea probar un nuevo cambio en un lenguaje definido con gettext(), de otra manera el cambio no se verá afectado

Cuestiones relacionadas