Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

249
Visualizações
Cómo manejar la traducción de textos dentro de un .js de un tema de WP

Tengo una aplicación de wordpress y generalmente uso la función PHP <?php _e('foo', 'bar') ?> cuando necesito hacer eco de algo que necesita ser traducido. Pero, en este momento estoy implementando una nueva función y en mi archivo .js tengo algo como

 var confirmation = confirm("Are you sure you want to quit"); if(confirmation){ ... }

El problema con el código anterior es que no puedo usar la función PHP _e() para traducirlo, ya que es un script JS.

¿Hay alguna forma de habilitar la traducción de textos repetidos en JS?

Después de RECOMPENSA

Estoy poniendo una recompensa ya que las preguntas dadas son genéricas, mientras que estoy buscando una solución que pueda resolver mi problema.

Estoy trabajando en un proyecto WP que fue creado por alguien antes. Se supone que solo debo agregar una traducción a los códigos que existen en el archivo js llamado functions.js ruta: C:\Users\meskerem\foo.com\wp-content\themes\foo\assets\scripts\functions.js supongamos que El siguiente código existe dentro de la función.

 var confirmation = confirm("Are you sure you want to quit"); if(confirmation){ ... }

Ahora el objetivo es hacer que esa oración en inglés sea traducible. El código js anterior se ejecuta cuando se hace clic en un botón dentro de este archivo. C:\Users\meskerem\foo.com\wp-content\plugins\wp-jobhunt\templates\dashboards\candidate\templates_ajax_functions.php

El código html que desencadena la traducción es tan simple como:

 <h1> <?= _e('good morning', 'jobhunt') ?> </h1> <div> <i class='icon-trash' onclick="askConfirmation()"> x </i> </div>

Entonces, el guión es simple, pero la traducción es donde tengo algunos problemas.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

En Word Press, debe pasar la matriz de traducción al script java respectivo.

por ejemplo,

si está en la secuencia de comandos de la cola como se muestra a continuación desde el archivo function.php,

 wp_enqueue_script( $handle, $src, $deps,$ver,$in_footer );

debe agregar la traducción del archivo de función a js particular usando su identificador dentro de wp_localize_script ();

 eg wp_enqueue_script( 'your-handle', $src, $deps,$ver,$in_footer ); $translation_array = array('messagekey' => __('Are you sure you want to quit', foo'); ); wp_localize_script('your-handle', 'langvars', $translation_array);

En tu caso

 wp_enqueue_script( 'cs_functions_js', plugins_url('/assets/scripts/functions.js', __FILE__ ), '', '', true ); just add below code after above code. $translation_array = array('messagekey' => __('Are you sure you want to quit', foo'); ); wp_localize_script('cs_functions_js', 'langvars', $translation_array);

Luego puede acceder a la traducción en js como,

 var confirmboxmessage = langvars.messagekey; var confirmation = confirm(langvars.messagekey);
over 4 years ago · Santiago Trujillo Relatório

0

Debe usar la función wp_localize_script , que se agregó a WordPress por este mismo motivo.

Prueba con algo como esto:

 wp_localize_script( $handle, $name, $data );

Ejemplo

 <?php // Register the script wp_register_script( 'some_handle', '<ENTER YOUR SCRIPT PATH HERE>' ); // Localize the script with new data $translation_array = array( 'some_string' => __( 'Some string to translate', 'plugin-domain' ), 'a_value' => '10' ); wp_localize_script( 'some_handle', 'object_name', $translation_array ); // Enqueued script with localized data. wp_enqueue_script( 'some_handle' );

Puede acceder a las variables en JavaScript de la siguiente manera:

 <script> // alerts 'Some string to translate' alert( object_name.some_string); </script>

Nota: Los datos de la llamada de JavaScript resultante se pasarán como texto. Si está tratando de pasar números enteros, deberá llamar a la función parseInt() de JavaScript.

 <script> // Call a function that needs an int. FinalZoom = map.getBoundsZoomLevel( bounds ) - parseInt( object_name.a_value, 10 ); </script>
over 4 years ago · Santiago Trujillo Relatório

0

tal vez esto podría ayudar

 function addScript() { wp_enqueue_script( 'functions', get_template_directory_uri() . 'foo\assets\scripts\functions.js', array(), '1.0.0', true ); } add_action( 'wp_enqueue_scripts', 'addScript' );
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda