web-dev-qa-db-fra.com

Localisation en javascript

Wordpress utilise actuellement la fonctionnalité gettext qui est disponible dans php mais malheureusement pas dans Javascript.
J'ai effectué une recherche sur ce sujet sur le Web et j'ai trouvé cette astuce . Mais il y a un problème car le fichier php doit être appelé par le système Wordpress pour que la fonctionnalité gettext puisse démarrer.
Je me demande s’il est possible d’appeler un fichier php dans Wordpress afin que nous puissions utiliser les fonctions et les variables intégrées?
Ou si quelqu'un peut trouver une meilleure solution, ce serait super.

1
Hamed Momeni

WordPress a une fonction intéressante principalement pour cela wp_localize_script

Pour l'utiliser en premier, mettez votre script en file d'attente:

wp_enqueue_script( 'My_Script_handle', 'path/to/script.js' );

puis créez un tableau de chaînes que vous souhaitez localiser:

$data = array( 
   'exit' => __( 'Exit','my-plugin-domain' ),
   'open' => __( 'Open','my-plugin-domain' ),
   'close' => __( 'Close','my-plugin-domain' ),
   'next' => __( 'Next','my-plugin-domain' ),
   'previous' => __( 'Previous','my-plugin-domain' )
);

et appelez-le avec wp_localize_script

wp_localize_script( 'My_Script_handle', 'mystrings', $data );

alors vous pouvez y accéder dans la page en utilisant JavaScript comme ceci:

alert(mystrings.exit);
alert(mystrings.open);

...

vous avez eu l'idée.

4
Bainternet