Se indica here que Babel puede extraer mensajes gettext para archivos Python y Javascript.Extracción de los mensajes de texto de JavaScript mediante el extractor de Babel CLI
Babel viene con un par de extractores incorporadas: Pitón (que extrae mensajes de archivos de código fuente de Python), Javascript, e ignoran (que extractos nada).
El extractor de línea de comandos está documentado here - pero sin ejemplos de uso.
También en el same pointer anterior, hay alguna mención de un archivo de configuración para ser utilizado con la extracción, pero no mucho más.
Cuando ejecuto el comando básico para el extractor en un directorio con archivos js, obtengo solo el encabezado .PO generado pero no hay mensajes.
$ pybabel extract /path/to/js-dir
# Translations template for PROJECT.
# Copyright (C) 2012 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <[email protected]>, 2012.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: [email protected]SS\n"
"POT-Creation-Date: 2012-04-22 19:39+1000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <[email protected]>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
$
Aquí es un segmento de muestra de un archivo js estoy tratando de extraer mensajes de:
else if(data.status == "1"){
var follow_html = gettext('Follow');
object.attr("class", 'button follow');
object.html(follow_html);
var fav = getFavoriteNumber();
fav.removeClass("my-favorite-number");
if(data.count === 0){
data.count = '';
fav.text('');
}else{
var fmts = ngettext('%s follower', '%s followers', data.count);
fav.text(interpolate(fmts, [data.count]));
}
}
Le agradecería que si alguien puede proporcionar opciones de la CLI exactas y los ajustes de configuración para hacer la extracción trabajo, o un puntero a tal.
¿Cuáles son las funciones gettext/ngettext que estás usando en tu js? Estoy en el mismo escenario ahora - Tengo babel trabajando para html y python pero no js – fastmultiplication
En realidad es un proyecto de sistema operativo (Askbot) - puedes consultarlo aquí https://github.com/ASKBOT/askbot-devel –
I descubrí mi problema, por cierto: http://stackoverflow.com/questions/10647449/serving-i18n-js-using-babel-django-jinja2 – fastmultiplication