Information importante : date des articles et versions

Ce site est né il y a deux ans (avec la sortie du thème 2012) pour expliquer comment réaliser un thème enfant multilingue de twentytwelve. Depuis, le noyau a beaucoup évolué. Il en est de même pour xili-language.

Le thème exemple twentytwelve-xili proposé au téléchargement en version 2.0 utilise les dernières techniques (classes etc…) et est compatible 3.5+. Il est expliqué techniquement (activation des classes sur le site de twentythirteen-xili.

Ici, les articles qui concernent les versions antérieures sont laissées à titre pédagogique. Ceux concernant la galerie ou le diaporama Floom restent valides

Donc pensez à scruter la date de l’article et les versions en cause !

M.

Galerie avec les nouvelles propriétés de l’extension xili-language v. 2.7

Dans cette galerie, les images sont titrées et décrites en français tout en partageant le même fichier média que la version dans les autres langues :

Comment est-ce possible ?

Toujours selon les principes qui régissent xili-language, sans créer de tables, un clone d’un attachement est réalisé et utilise les mêmes fichiers (principal, icône,…) tout en ayant titre et légende dans la langue choisie au moment du clonage de l’attachement original. Si l’article original à qui est attaché la série d’images (par exemple) a déjà ses articles traduits, au moment du clonage des images, les clones seront d’emblée attachés aux articles traduits… logique “cms’ !!!

En anglais, quelques infos sur le tableau de bord et la liste des médias depuis xili-language en version 2.7.

Galerie avec le nouveau carrousel du jetpack (v 1.5)

Grâce au nouveau module “carrousel” de l’extension JetPack de WordPress.com, voici quelques images récentes prises avec le récent Nex 7 de Sony (cliquer une image pour activer le carrousel).

Dans la galerie liée au texte, s’affiche le texte “Légende (caption)” (3e ligne lors de la saisie des textes liés à chaque image)

Dans le carrousel, il y a successivement la légende (caption), le titre et la description et à gauche les éléments EXIF.

© dev.xiligroup.com – droits de reproduction réservés – msc 2012-07

Quoi de neuf dans la prochaine version (2.6) de xili-language ?

Quoi de neuf dans la prochaine version (2.6) de xili-language ?

  1. Amélioration de la méthode (et mécanismes) pour changer la langue d’un article,
  2. Ajout de style (et drapeaux) possible dans l’interface auteur,
  3. Plusieurs lieux possibles pour stocker les fichiers style de l’interface,
  4. etc…

Style
La conception laisse une grande liberté au webmestre pour choisir les drapeaux associés à une langue. Hormis quelques-uns à titre d’exemple, ils ne sont pas fournis.

Dashboard xili-language 2.6

Dashboard xili-language 2.6

xili-language v 2.4.1 mis en ligne

Cette nouvelle version 2.4.1 de xili-language, tout en restant compatible avec les précédentes, apportent quatre éléments nouveaux

  • Les réglages dans le tableau de bord sont subdivisés en quatre onglets.
    4 tabs to organize settings
  • Le texte du readme (et visible dans le dépot) a été complètement réorganisé et sera progressivement enrichi.
  • adjonction automatique du fichier rtl.css pour les langues à sens de droite à gauche (arabe, persan, hébreu,…) – ce fichier est présent dans les thèmes de référence twentyten et twentyeleven.
  • nouvelle option pour gérer la traduction des dates précédement trouvées dans le serveur mais maintenant possible à partir de la classe de base de WP : wp_locale lire avec attention le keynote !

* une nouvelle version de twentyeleven-xili est dispo ici.

Mise à jour du thème twentyeleven-xili (0.9.7) : option pour créer un menu de navigation par langue

Pour des sites web multilingues, il est parfois nécessaire d’avoir un contenu du menu de navigation adapté à chaque langue avec pour chacun un ordre et des pages ou liens selon le contexte du langage.

Theme Locations

Theme Locations

Jusqu’à ce jour dans twentyeleven, la seule façon était de modifier le code (header) et d’ajouter les déclarations (register) de ces nouveaux menus dans (functions.php). (as in middle of this topic of forum)
Prérequis : xili-language version 2.3
Ici, via l’exemple du thème enfant twentyeleven-xili (twentyeleven-xili 0.9.7), cela est très facile grâce aux options du thème (xili Options).

Theme multilingual Options

Theme multilingual Options

Dans les emplacements pour menu (voir plus et ci-dessous) si un contenu de menu n’est pas attaché à un emplacement, le contenu attaché au menu de la langue racine (couramment en_us) est affiché.

Theme menu contents

Theme menu contents

Cette nouvelle version de ce thème enfant est aussi un démonstrateur pour les webmestres et créateurs de thème – comme cela fonctionne ?

Deux filtres (et fonctions) ont été ajoutés dans le fichier functions.php du thème enfant :

Le premier déclare les menus (leur emplacement) pour chacune des langues disponibles :

/**
 * filter to create one menu per language for dashboard
 * detect the default one created by theme ($menu_locations[0])
 * @since 0.9.7
 */
 
add_action ( 'init', 'xili_create_menu_locations',100 );
 
function xili_create_menu_locations () {
	$xili_theme_options = xili_twentyeleven_get_theme_options() ; 
	if ( $xili_theme_options['nav_menus'] == 'nav_menus' ) {  // ok for automatic insertion of one menu per lang...
		$menu_locations =  array_keys( get_nav_menu_locations()); 
		if ( class_exists('xili_language') ) {
			global $xili_language ;
			$default = 'en_us'; // currently the default language of theme in core WP
			$language_xili_settings = get_option('xili_language_settings');
			$language_slugs_list =  array_keys ( $language_xili_settings['langs_ids_array'] ) ;
			foreach ( $language_slugs_list as $slug ) {
				$one_menu_location = $menu_locations[0].'_'.$slug ;
				if ( $slug != $default && !isset($menu_locations[$one_menu_location]) ) {
					register_nav_menu ( $one_menu_location,  sprintf( __('Menu for %s','twentyeleven'), $slug ) );
				}
			}
		} 
	}
}

Le second, lors de la construction de la page et de son menu, affiche le contenu défini par le webmestre dans le tableau de bord des menus :

/**
 * filter to avoid modifying theme's header and changes 'virtually' location for each language
 * @since 0.9.7
 */
 
add_filter ( 'wp_nav_menu_args', 'xili_wp_nav_menu_args' ); // called at line #145 in nav-menu-template.php
 
function xili_wp_nav_menu_args ( $args ) {
	if ( class_exists('xili_language') ) {
		global $xili_language ;
		$default = 'en_us'; // currently the default language of theme as in core WP
		$slug = the_curlang();
		if ( $default != $slug ) {
			$theme_location = $args['theme_location'];
			if ( has_nav_menu ( $theme_location.'_'.$slug ) ) { // only if a menu is set by webmaster in menus dashboard
				$args['theme_location'] = $theme_location .'_'.$slug ;
			}	
		}
	}	
	return $args;
}

En guise de conclusion

En mettant à disposition cette nouvelle version du thème enfant twentyeleven-xili :

  1. les webmestres du thème twentyeleven peuvent aisément configurer un menu de navigation spécifique pour chaque langue, (twentyten-xili v. 2.0 a maintenant cette possibilité.)
  2. les webmestres agiles en php et les concepteurs de thèmes peuvent facilement trouver les exemples pour enrichir leur thème avec des fonctionnalités multilingues.

Bon codage !

Pour les questions utiliser les commentaires ci-dessous ou mieux le forum dev.xiligroup

Bonjour,

Ce site en constante évolution depuis la sortie officielle de WP 3.2 est une démonstration du thème enfant twentyeleven-xili qui incorpore quelques fonctions complémentaires pour créer un site multilingue.

Les fonctionnalités multilingue sont apportées par la trilogie des extensions xili-language.

Ce theme est disponible comme exemple en téléchargement ici: twentyeleven-xili

Un fil est ouvert sur le forum de support.
 
dev.xiligroup team