Annonce

Mettez-vous à jour ! WordPress 3.0 est disponible en français.
Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite Recherche et de lire les règles de ce forum.
Annonce 3 : Lisez notre blog, il regorge de bonnes informations.
Annonce 4 : Rejoignez-nous sur Facebook et sur Twitter

#1 26-01-2010 18:21:06

mpepito
Membre WP
Date d'inscription: 26-01-2010
Messages: 1

changer la langue de l'interface d'admin

Bonjour tout le monde,

je commence à me frotter à wordpress qui est un produit vraiment bien fait.
Par contre je reste sur ma faim au niveau de l'utilisation en multilangage.

J'ai donc fait une petite modif et en tant que débutant je voulais avoir l'avis de personnes plus expérimentées.

De mon côté, je vais pour l'instant l'utiliser en tant que CMS uniquement (pour l'instant).
Les abonnés peuvent modifier leurs coordonnées (j'ai créé un petit plugin pour rajouter les champs adresse, code postal...) et je laisse wordpress gérer le côté inscription (confirmation, envoi de mail...)
Les utilisateurs n'ont donc accès qu'à l'interface admin très bridée.

Afin de traduire l'interface d'admin en fonction du choix de l'abonné, j'ai donc un peu modifié la fonction get_locale()
Il suffit d'avoir l'url de la forme http://mon_wordpress/wp-admin/profile.php?lang=es_ES pour que l'interface soit traduite en espagnol (à condition d'avoir téléchargé les fichiers de trads et de les avoir installé dans le bon endroit évidement).
Il ne me reste plus qu'à rajouter un lien vers les différentes traductions et de le stocker dans la base usermeta.

Voila je vous livre ma petite modif opur ceux que ça peut intéresser
Je sais ca casse la mise à jour. Mais je préfère supprimer 5 lignes de code avant de faire une mise à jour, plutôt que de gérer 3 ou 4 version de worpress.

Code:

  1. fichier wp-includes/l10n.php (ligne 28)
  2.  
  3. function get_locale() {
  4.   global $locale;
  5.  
  6.   if ( isset( $locale ) )
  7.     return apply_filters( 'locale', $locale );
  8.  
  9.   // WPLANG is defined in wp-config.
  10. // begin added
  11.   session_start();
  12.  
  13.   if ( isset($_GET['lang']) && !empty( $_GET['lang']) ) {
  14.     $_SESSION['tweak']['lang'] = $_GET['lang'];
  15.     $locale = $_GET['lang'];
  16.   } elseif ( isset( $_SESSION['tweak']['lang'] ) && !empty( $_SESSION['tweak']['lang'] ) )
  17.     $locale = $_SESSION['tweak']['lang'];
  18. // end added
  19. // don't forget to replace the below 'elseif' by a 'if'
  20.   elseif ( defined( 'WPLANG' ) )
  21.     $locale = WPLANG;
  22.  
  23.   if ( empty( $locale ) )
  24.     $locale = 'en_US';
  25.  
  26.   return apply_filters( 'locale', $locale );
  27. }

Hors ligne

 

Pied de page des forums

Propulsé par PunBB 1.2.22
© Copyright 2005-2006 WordPress France

[ Generated in 0.029 seconds, 8 queries executed ]