Installer Wordpress pour des blogs en plusieurs langues
Enregistrez les domaines pour vos blogs en langues étrangères
Vous devriez exécuter chaque blog dans son propre domaine, ou sous-domaine. En principe, des blogs en différentes langues peuvent aller au même domaine dans différents répertoires. Le problème est que vous perdez de la flexibilité, depuis le début. Vous ne pourrez jamais séparer ces blogs vers différentes machines sans rompre tous les liens entrants et perdre votre PageRank .
Pour un coût très faible, vous pouvez enregistrer un sous-domaine pour votre blog actuel. Par exemple, si votre domaine est:
www.all-about-cars.com
Vous pouvez enregistrer de.all-about-cars.com pour environ un dollar par mois.
Faire pointer tous les domaines vers le même répertoire de blogs.
Une fois enregistré, allez sur le panneau de configuration et faites pointer les nouveaux domaines vers le même répertoire, où votre blog Wordpress est installé. Après avoir fait cela et avant les prochains changements, tous les domaines serviront juste les mêmes contenus. Allez-y et vérifiez que ce soit bien le cas.
Mise en garde: Google déteste les contenus en double sur de multiples domaines. Il pense que vous essayez de le duper. Ne laissez pas tous les domaines pointés vers les mêmes contenus pendant trop longtemps. Si vous n’avez pas le temps, pour le moment, de faire les autres changements, il vaut mieux arrêter les autres domaines.
Changer le fichier wp-config.php pour servir différents contenus selon le domaine
Lorsque Wordpress reçoit une demande il charge votre fichier wp-config.php. Cela lui dit où se trouve votre base de données, votre utilisateur de base de données et le préfixe de table. Le reste des paramètres du blog est stocké dans la base de données elle-même.
Normalement, pour l’installation d’un seul blog, ce fichier de configuration comprend une liste de constantes. Nous allons le changer afin qu’un différent fichier de configuration soit chargé, selon le domaine du blog.
Avant d’entreprendre nos changements, la configuration ressemblerait à cela (J’ai supprimé les commentaires pour que ça soit plus court):
<?php
define('DB_NAME', 'putyourdbnamehere');
define('DB_USER', 'usernamehere');
define('DB_PASSWORD', 'yourpasswordhere');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
$table_prefix = 'wp_';
define ('WPLANG', '');
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
?>
Les premières lignes établissent la connexion de la base de données. Les dernières lignes établissent des constantes qui seront plus tard utilisées par d’autres fichiers PHP. Nous allons prendre les lignes d’installation de la base de données et les mettre dans un fichier différent selon le domaine. Copier DB_NAME dans WPLANG et sauvegarder dans un fichier différent. Dans notre exemple, nous l’appellerons:
config-de.all-about-cars.com.php
Les contenus de ce fichier seraient:
<?php
define('DB_NAME', 'putyourdbnamehere');
define('DB_USER', 'usernamehere');
define('DB_PASSWORD', 'yourpasswordhere');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
$table_prefix = 'wp_';
define ('WPLANG', '');
Puis, nous éditons wp-config.php pour qu’il vérifie quel domaine est utilisé pour accéder au blog et charger la configuration de la base de données respective. Voilà à quoi ça ressemble après nos révisions:
<?php
$debian_server = preg_replace('/:.*/', "", $_SERVER['HTTP_HOST']);
$debian_file = dirname(__FILE__).'/config-'.strtolower($debian_server).'.php';
if (!file_exists($debian_file)) {
header("HTTP/1.0 404 Not Found");
echo "404 Not found";
}
require_once($debian_file);
define('ABSPATH', dirname(__FILE__).'/');
require_once(ABSPATH.'wp-settings.php');
?>
Vous devriez faire attention au nom du fichier de configuration qui va être chargé, par domaine. Dans cet exemple, ce sera:
config-DOMAIN.php
Paramètres de base de données par langue
La dernière chose qu’il nous reste à faire est de stocker la différente langue dans notre base de données. Ici, nous avons une flexibilité totale. Nous pouvons soit utiliser une base de données complètement différente (même sur une machine différente) soit utiliser la même base de données, avec un préfixe de table différent.
Pour nos blogs, nous avons choisi d’utiliser la même base de données et le même utilisateur mais différents préfixes de tables. De cette manière, nous avons juste une base de données à sauvegarder pour tous les blogs. Pour faire cela, toutes les valeurs restent les mêmes pour tous les paramètres du blog, sauf pour la ligne de préfixe de la base de données. Par exemple, pour notre blog allemand, nous avons utilisé:
$table_prefix = 'wp_de';
Après avoir fait ces changements ( y compris ajouté les fichiers de configuration pour les blogs en langue étrangère et changé les paramètres de la base de données, par langue), vous pouvez aller les voir dans un navigateur. Chaque blog en langue étrangère devrait maintenant avoir ses propres contenus.
Installer la prise en charge de la langue
Vous pourrez poster en différentes langues, mais le blog n’est pas encore localisé. Les dates, la navigation et les contrôles apparaissent toujours dans votre langue d’origine.
Pour changer cela, allez sur wordpress.org et téléchargez les fichiers de localisation. Par exemple, pour saisir les fichiers en langue allemande, allez sur de.wordpress.org. Sur la page d’accueil vous verrez des fichiers .mo. Créez un répertoire nommé languages wp-contents et copiez ces fichiers ici. Installez tous les fichiers de localisation dont vous avez besoin.
Finalement, changez le sélecteur de langue dans votre fichier de configuration pour qu’il corresponde aux nouveaux fichiers de localisation que vous avez installés. Dans notre blog allemand il est mis sur:
define ('WPLANG', 'de_DE');
Localisez votre thème
Le thème de votre blog comporte aussi probablement du texte. Afin d’utiliser le même thème sans aucune modification pour toutes les langues, vous devriez encapsuler tous les textes dans l’appel de fonction gettext() . Cela signifie que plus tard vous aurez les fichiers .mo et .po où Wordpress peut aller chercher la traduction pour les textes dans le thème.
Gettext() fait partie du PHP qui fait fonctionner Wordpress. Ce qui est bien c’est que tous les textes qui n’ont pas de traduction serviront juste l’original. Par conséquent, si vous avez édité le thème et ajouté quelques mots que vous n’avez pas encore traduits – tout devrait continuer à fonctionner correctement.
Le processus de Localiser un thème de WordPress est:
- Enveloppez tous les textes du thème dans les appels GetText.
- Créer un fichier PO qui comprend les textes à traduire (vous pouvez utiliser notre convertisseur PHP. à po. gratuit)
- Envoyez ce fichier à des traducteurs. Vous pouvez engager un traducteur professionnel d’ICanLocalize pour cela.
- Placez les fichiers .mo dans le répertoire de plugin et dites à WordPress de le charger.
Jetez un coup d’œil sur ce didacticiel étape par étape pour localiser les thèmes et les plug-ins de WordPress pour les détailles d’utilisation complets.
Voilà. Joyeux blogging multilingue!