/ / Zend_Translate archivos de traducción de escaneo - zend-framework, localization, gettext

Zend_Translate escanear archivos de traducción - zend-framework, localization, gettext

Intento usar Zend_Translate de Zend Framework

Estoy usando "POEdit" para generar archivos de traducción "gettext".

Mis archivos están en /www/mysite.com/webapps/includes/locale (esta ruta se encuentra en mi ruta de inclusión). Yo tengo: pictures.en.mo pictures.en.po (Planeo tener pictures.es.mo pronto)

Todo funciona bien si manualmente addTranslation () para cada archivo. Sin embargo, quiero usar el método automático de escaneo de archivos.

Intenté ambos:

<?php
/*Localization*/
require_once "Zend/Translate.php";
require_once "Zend/Locale.php";
define("LOCALE","/www/mysite.com/webapps/includes/locale");

if(!empty($_GET["locale"])){
$locale = new Zend_Locale($_GET["locale"]);
}
else{
$locale = new Zend_Locale();
}

$translate = new Zend_Translate("gettext", LOCALE, null,  array("scan" => Zend_Translate::LOCALE_FILENAME));


if ( $translate->isAvailable( $locale->getLanguage() ) ){
$translate->setLocale($locale);
}
else{
$translate->setLocale("en");
}

Y esto:

<?php
/*Localization*/
require_once "Zend/Translate.php";
require_once "Zend/Locale.php";
define("LOCALE","/www/mysite.com/webapps/includes/locale");

if(!empty($_GET["locale"])){
$locale = new Zend_Locale($_GET["locale"]);
}
else{
$locale = new Zend_Locale();
}

$translate = new Zend_Translate("gettext", LOCALE);


if ( $translate->isAvailable( $locale->getLanguage() ) ){
$translate->setLocale($locale);
}
else{
$translate->setLocale("en");
}

En ambos casos, recibo una notificación: No hay traducción disponible para el idioma "en". en /www/mysite.com/webapps/includes/Zend/Translate/Adapter.php en la línea 411

También funcionó si traté de escanear el directorio.

Respuestas

1 para la respuesta № 1

Creo que solo hay un pequeño "error".

$translate = new Zend_Translate(
"gettext",
LOCALE,
null,
array("scan" => Zend_Translate::LOCALE_DIRECTORY) // <--
);

Si usa LOCALE_FILENAME, está ZF buscando dentro de este ARCHIVO para su Traducción.