WPtouch en français – mise à jour 1.9.9.3
La traduction pour la version de WPtouch 1.9.9.3 est disponible en téléchargeant le fichier de traduction.
La traduction pour la version de WPtouch 1.9.9.3 est disponible en téléchargeant le fichier de traduction.
La mise à jour de WPML 1.7.1 est en ligne … et corrige enfin la gestion de la fonction bloginfo(‘home’) : du coup mon article indiquant comment « patcher » WPML et modifier son thème pour gérer le multi-linguisme au niveau du moteur de recherche devient obsolète ! Plus besoin de modifier quoi que ce soit, tout fonctionne du premier coup.
La version 1.9.8.3 de WPtouch vient de sortir… mais il ne s’agit que de corrections de bugs : aucune nouvelle chaine de caractères dans cette version. Vous pouvez donc utiliser le fichier de traduction de la version 1.9.8.1 sans aucune modification.
La traduction pour la version de WPtouch 1.9.8.1 est disponible en téléchargeant le fichier de traduction.
Il reste quelques phrases qui ne sont pas prévues pour être gérées en multi-lingue… par exemple le « Search… » qui apparaît si vous cliquez sur le bouton « Rechercher » dans WPtouch. Pour corriger cela, il suffit de modifier le fichier wp-content/plugins/wptouch/themes/default/header.php pour remplacer la ligne
<input type="text" value="Search..."
onfocus="if (this.value == "Search...")
{this.value = ''}" name="s" id="s" />
par
<input type="text" value="<?php _e('Search...', "wptouch"); ?>"
onfocus="if (this.value == "<?php _e('Search...', "wptouch"); ?>")
{this.value = ''}" name="s" id="s" />
Si vous voyez d’autres endroits qui ne sont pas traduits, merci de m’en faire part !
De plus, si vous gérer plusieurs langues sur votre site, je vous suggère de modifier le fichier wp-content/plugins/wptouch/themes/core/core-functions.php pour remplacer la requête SQL ci-dessous dans la fonction bnc_get_ordered_cat_list() :
$sql = "select * from " . $table_prefix .
"term_taxonomy inner join " . $table_prefix .
"terms on " . $table_prefix .
"term_taxonomy.term_id = " . $table_prefix .
"terms.term_id where taxonomy =
'category' order by count desc";
par
$sql = "SELECT " . $table_prefix . "terms.term_id, count,
CASE WHEN INSTR( name, '@' ) >0 THEN
TRIM( LEFT( name, INSTR( name, '@' ) -1 ) ) ELSE
TRIM( name ) END AS name FROM " . $table_prefix .
"icl_translations INNER JOIN " . $table_prefix .
"term_taxonomy ON " . $table_prefix .
"term_taxonomy.term_taxonomy_id = " . $table_prefix .
"icl_translations.element_id INNER JOIN " .
$table_prefix . "terms ON " . $table_prefix .
"term_taxonomy.term_id = " . $table_prefix .
"terms.term_id WHERE element_type = 'category'
AND taxonomy = 'category' AND
language_code = '" . get_bloginfo('short_language') .
"' ORDER BY count DESC";
Ainsi le menu WPtouch « Catégorie » affichera uniquement le catégorie de la langue en cours…
A la demande générale… voici la suite de la traduction de ce plugin : les pages d’administrations du plugin.
Vous pouvez télécharger un fichier de langue globale qui contient la traduction du frontoffice et du backoffice dans un fichier unique.
Pour l’intégration dans WPtouch il suffit d’ajouter dans le fichier wptouch.php sous la ligne
define( 'WPTOUCH_PROWL_APPNAME', 'WPtouch');
/** l10n */
function wptouch_plugin_localization(){
load_plugin_textdomain('wptouch', false, 'wptouch/locale');
}
add_action ('init', 'wptouch_plugin_localization');
Rappel : ces fichiers sont prévus pour la version 1.9.9.8 de WPtouch.
Edit : cette page est maintenant obsolète : il suffit maintenant de suivre les instructions de la page principale WPtouch de mon site.
Pour tester une WebApp iPhone sous Linux on ne dispose malheureusement pas de Safari…
On peut installer la version pour Windows avec Wine, ou plus simplement utiliser Safari dans une machine virtuelle sous Windows avec VMWare Server ou VirtualBox…
On peut aussi utiliser un navigateur natif pour linux qui utilise tout comme Safari le moteur Webkit : Epiphany ou Chromium. Reste plus qu’à changer le user-agent pour faire croire qu’on utilise réellement Safari sur un iPhone. Et là on trouve les solutions les plus folkloriques en cherchant sur Google (certains proposent de modifier le binaire Chromium avec un éditeur hexadécimal… une bombe H pour écraser une mouche) alors qu’il suffit juste de lancer chromium avec le parametre –user-agent comme ceci :
chromium-browser --user-agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; fr-fr) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16"
La traduction pour la version de WPtouch 1.9.5 est disponible en téléchargeant le fichier de traduction.
Un petit truc pour sécuriser vos sites sous WordPress (utilisable avec d’autres CMS d’ailleurs) : il suffit d’ajouter un fichier .htaccess dans votre dossier admin : pour WordPress c’est donc dans wp-admin
Exemple .htaccess
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all # whitelist home IP address allow from mon.ip.per.so # whitelist work IP address allow from mon.ip.au.travail </LIMIT>
Et bien sûr vous modifiez ce fichier pour mettre vos propres adresses IP…
Il arrive parfois qu’on veuille créer son propre paquet .deb à partir du dépot des sources (par exemple quand on souhaite utiliser une version très récente et pour laquelle la version binaire installable n’existe pas encore…)
C’est très simple si on fait tout dans l’ordre
Vous connaissez maintenant la marche à suivre…
Si vous utilisez WordPress et le plugin WPML pour gérer un site en multi-langue vous avez surement constaté que l’utilisation du moteur de recherche de WordPress affichera alors la liste des résultats pour la langue par défaut… et pas pour la langue actuellement utilisée par votre visiteur.
Pour améliorer cela voici un petit patch… Ce n’est pas très clean mais ça fonctionne (je vous laisse optimiser cela pour utiliser, par exemple, une surcharge de fonction plutôt qu’une modification directe des fichiers standards de WordPress (qui seront écrasés lors d’une mise à jour…)
Modification du fichier wp-includes/general-template.php au niveau de la fonction get_bloginfo
case 'short_language':
$output = get_locale();
$short_language = explode("_", $output);
$output = $short_language[0];
break;
Et ensuite au niveau de votre thème (par exemple iNove dans le fichier wp-content/themes/inove/templates/header.php) :
il suffit de modifier le formulaire comme ceci :
<form action="<?php bloginfo('home'); ?>/<?php bloginfo('short_language'); ?>/"
method="get">
Amusez vous bien avec WordPress et WPML !
ps : au passage vous pouvez aussi modifier les liens title/home pour ne pas changer de langue quand on clic sur le logo
<h1 id="title">
<a href="<?php bloginfo('url'); ?>/<?php bloginfo('short_language'); ?>/">
<?php bloginfo('name'); ?>
</a>
</h1>
et pour le fil d’ariane…
<a title="<?php _e('Home', 'inove'); ?>"
href="<?php echo get_settings('home'); ?>/<?php bloginfo('short_language'); ?>/">
<?php _e('Home', 'inove'); ?>
</a>
L’idée de départ vient de la lecture de cette conversation…