He estado revisando el módulo Locale::po para usarlo, pero no se cómo acceder a los objetos del hash que me genera la función load_file_ashash
La prueba es muy sencilla, tengo un archivo test con lo siguiente:
- Código: Seleccionar todo
msgid "Failed"
msgstr "Fallo"
msgid "Hello"
msgstr "Hola"
luego, con el siguiente código (si, si; que soy nuevo y no se hasta dónde explicarme xD )
Using perl Syntax Highlighting
use Locale::PO;
use strict;
use Data::VarPrint;
my $href = Locale::PO->load_file_ashash("test.pot");
use strict;
use Data::VarPrint;
my $href = Locale::PO->load_file_ashash("test.pot");
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
cargo en $href un hash; hasta aquí todo bien. Para ver que tiene hago lo siguiente:
Using perl Syntax Highlighting
for my $msgid (keys %$href) {
my $myst0 = $href->{$msgid}->msgid();
print "$myst0 \n";
my $myst = $href->{$msgid}->msgstr();
print "$myst \n";
}
my $myst0 = $href->{$msgid}->msgid();
print "$myst0 \n";
my $myst = $href->{$msgid}->msgstr();
print "$myst \n";
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Veo que todo esta en orden.
Ahora lo que quiero es poder hacerlo de esta manera:
Using perl Syntax Highlighting
para tener en mistring la traducción, pero falla.
¿Qué estoy haciendo mal?
La función VarPrintAsString($href); me da este resultado, veo que Failed es un objeto de la clase Locale::po, pero sigo sin comprender cómo llegar hasta él de manera individual xD
Using perl Syntax Highlighting
{
'"Failed"' => Object of class Locale::PO,
'"Hello"' => Object of class Locale::PO
}
'"Failed"' => Object of class Locale::PO,
'"Hello"' => Object of class Locale::PO
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Gracias por su atención.
Saludos