WordPress : Comment définir un fichier de localisation différent pour différents utilisateurs ?
J’essaie de charger le fichier de localisation en fonction des paramètres de l’utilisateur. Cette méthode est-elle correcte ou existe-t-il de meilleures façons d’implémenter le changement de paramètres régionaux en fonction des paramètres de l’utilisateur ?
<?php
add_filter( 'locale', 'theme_localized' );
function theme_localized( )
{
if(is_user_logged_in()) {
$locale = get_user_locale();
return $locale;
}
}
?>
Ce code fonctionne mais je ne suis pas sûr que ce soit la manière conventionnelle de traduire le site Web.
Solution n°1 trouvée
Par défaut, WordPress charge uniquement les traductions en fonction de la langue de l’utilisateur lorsqu’il consulte les pages d’ administration .
Vous pouvez voir cela dans le code de la fonction load_theme_textdomain :
$locale = apply_filters( 'theme_locale',
is_admin() ? get_user_locale() : get_locale(),
// ^^^^^^^^
$domain );
Votre code convient donc si vous souhaitez remplacer ce comportement pour le front-end de votre site.
Est-ce conventionnel ? Eh bien, c’est à cela que servent les filtres. Cependant, je dirais que cela ne se fait normalement que si la langue du contenu réel change également.
0 commentaire