Parece que Twitter está utilizando un fork de Mustache.js para proporcionar i18n a sus plantillas?¿Cómo hacer i18n avanzado con Mustache.js?
¿Podría alguien dar un breve ejemplo de cómo se hace esto y tal vez también delinear qué semántica es necesaria para convertir estas traducciones en crowdsourcing?
Hay, por supuesto este sencillo ejemplo:
var template = "{{_i}}{{name}} is using mustache.js!{{/i}}"
var view = {
name: "Matt"
};
var translationTable = {
// Welsh, according to Google Translate
"{{name}} is using mustache.js!": "Mae {{name}} yn defnyddio mustache.js!"
};
function _(text) {
return translationTable[text] || text;
}
alert(Mustache.to_html(template, view));
// alerts "Mae Matt yn defnyddio mustache.js!"
pero me gustaría un poco más de conocimiento sobre cómo estructurar la función _ (texto) y translationTable para proporcionar condicionales, singular, plural etc. Ejemplos de la solución de casos de uso más avanzados sería muy apreciada.
que estaba bajo la impresión de que Twitter utiliza [hogan.js] (http://twitter.github.com/hogan.js/) para bigote de plantillas. Si ese es el caso, entonces la respuesta de Martin a continuación parece una buena sugerencia. –