[Résolu] Site à theme multilang, fichier MO impossible à lire ?

  • WordPress :4.9
  • Statut : résolu
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Messages
  • #2121253
    Shuta
    Participant
    Initié WordPress
    23 contributions

    Bonjour,

    Ma configuration WP actuelle

    Problème(s) rencontré(s) :

    Bonjour !

    Alors voilà mon soucis : Je fais un site qui est traduit sous plusieurs langues. Pour ça pas tellement de soucis !
    Sauf 1 : Le fichier lang_PAYS.mo impossible à charger j’ai l’impression…

    Voici mon code :

    function my_theme_localized( $locale )
    {
    	if ( isset( $_GET['lang'] ) )
    	{
    		if ($_GET['lang'] == 'english'){
    			$langtr = 'en_US';
    		} elseif ($_GET['lang'] == 'nihongo'){
    			$langtr = 'jp_JP';
    		} elseif ($_GET['lang'] == 'francais'){
    			$langtr = 'fr_FR';
    		} else {
    			$locale = esc_attr( $_GET['lang'] );
    		}
    		$locale = esc_attr( $langtr );
    	}
    
    	return $locale;
    }
    add_filter( 'locale', 'my_theme_localized' );
    
    include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    
    function shufolio_theme_setup(){
        load_theme_textdomain( 'shufolio', get_template_directory() . '/languages' );
    }
    add_action( 'after_setup_theme', 'shufolio_theme_setup' );

    Alors pour les plugins ça marche parfaitement, mais j’ai l’impression que c’est mon load_theme_textdomain qui ne fonctionne pas… Pourtant j’ai bien des fichier dans (mon_theme)/languages/en_US.mo

    J’arrive vraiment pas à voir ce qui ne vas pas, je traine sur des tutos, sur le codex… C’est toujours la même chose…

    Merci beaucoup de m’aider, s’il vous plait !
    Bonne journée !

    • Ce sujet a été modifié le il y a 2 months et 3 weeks par  Shuta.
    #2121506
    Flobogo
    Modérateur
    Maître WordPress
    14560 contributions

    Bonjour,

    Je ne sais pas répondre à une question aussi pointue (à part une bête suggestion : vous avez bien les fichiers .po et .mo pour chaque langue ?)

    Mais je déplace en rubrique « traduction », vous aurez probablement des réponses plus adaptées.

    #2122219
    Shuta
    Participant
    Initié WordPress
    23 contributions

    Bonjour,

    Oui ! J’ai un dossier languages dans mon thème avec les fichier PO et MO de toutes mes langues. J’ai même créé un POT…

    Ah ! Merci, je savais pas vraiment où le mettre sachant que c’est un thème que je créée…

    Bonne journée

    #2127405
    Shuta
    Participant
    Initié WordPress
    23 contributions

    Bonjour, je réup le sujet espérant une réponse… Bonne soirée…

    #2127415
    Flobogo
    Modérateur
    Maître WordPress
    14560 contributions

    Et vous avez bien défini un text-domain dans votre fichier functions.php ?

    #2127807
    Shuta
    Participant
    Initié WordPress
    23 contributions

    C’est pas dans le style.css qu’on le fait introduire avec « Text Domain: my-theme » ?

    Si c’est ça je l’ai fait.

    Sinon la seule référence que j’ai au text-domain dans function.php est celle ci :

    load_theme_textdomain( 'shufolio', get_template_directory() . '/languages' );

    Bien sur dans le css j’ai mit shufolio.

    Sinon j’ai eu beau chercher dans le codex ou des forums, j’ai tout suivit à la lettre…

    • Cette réponse a été modifiée le il y a 2 months et 3 weeks par  Shuta.
    #2127809
    Shuta
    Participant
    Initié WordPress
    23 contributions

    Ah ! J’ai trouvé mon erreur ! C’est moi dans la traduction qui ai oublié de mettre le texte domain dans les appels.

    Dans le genre __( ‘Mon texte’, ‘textdomain’ );

    J’ai juste la partie « Mon texte »

    Je vais modifier tout ça ! Je passe en résolu !

    (J’en reviens pas que l’erreur était si bête… M’enfin…)

    #2130171
    Flobogo
    Modérateur
    Maître WordPress
    14560 contributions

    Pour info :

    C’est pas dans le style.css qu’on le fait introduire avec « Text Domain: my-theme » ?

    Non, uniquement dans le fichier functions.php du thème, comme vous l’avez fait.

8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.