Función sprintf para l18n en javascript
-
Hola a tod@s, mi duda es acerca de la internacionalización en javascript. La realizo sin problema declarando las cadenas a traducir, pasándole el array a
wp_localize_script
y después añadiéndolo a la cola conwp_enqueue_script
tal como se indica en https://codex.wordpress.org/I18n_for_WordPress_Developers#Handling_JavaScript_filesMi duda es a la hora de declarar cadenas con placeholders, cuando por ejemplo declaro:
'txt_intentos' => __( '%s intento', 'cl-mi-plugin' ),
no sé si existe en WordPress una función de javascript para pasarle la cadena con los valores como se hace en PHP con sprintf.
Para la fin me he creado una función que emula dicho comportamiento:
function sprintf( string ) { var args = arguments, flag = true, i = 1; string = string.replace( /%s/g, function() { var arg = args[i++]; if ( typeof arg === 'undefined' ) { flag = false; return ''; } return arg; } ); return flag ? string : ''; }
Y la utilizo funcionando perfectamente como
txt = sprintf( mi_cadena_l18n.txt_intentos, n_intentos )
pero me gustaría saber si existe algo similar ya en WordPress y no tener «que reinventar la rueda».Gracias.
- El debate ‘Función sprintf para l18n en javascript’ está cerrado a nuevas respuestas.