WPML to Make Your WordPress Site Multilingual [en]

[fr] A tester absolument si vous devez mettre en place un site multilingue: le plugin WPML pour WordPress.

I’ve been wanting to play with the WPML WordPress plugin for a while now, and I finally took the plunge today and updated my professional site to the latest version of WordPress, as well as WPML. (Sadly, the content still needs a major overhaul.)

Until now, I had built it using two separate WordPress installations, one in English, one in French, linked together by my quick-and-dirty plugin Bunny’s Language Linker (which, in the light of today’s experiment, I will be retiring from rather inactive development — Basic Bilingual remains, though, and still very much makes sense).

Here’s a summary of what I did:

  • backed up my database
  • upgraded both WordPress blogs to the latest version and exported their content
  • removed the automatic language redirection based on browser language preferences to make sure it wouldn’t interfere (I want to find a way to insert it back in, help appreciated)
  • added and activated the WPML plugin on the English installation
  • went through the settings after activating advanced mode
  • translated widget text and site tagline
  • manually imported content from the French site (import failed due to PHP on my server not being compiled with ctype_digit()), but it was only a dozen pages — it’s easy to specify language and of which English page a new one is a translation of, if any)

Setting up WPML

I did encounter some grief:

  • when selecting the “different languages in directories” I kept getting an error message which didn’t make much sense to me; tip: if that happens, make sure that your site and pages all work fine (in my case, I had to reset permalink structure because it had got lost somewhere on the way — even though the settings didn’t change)
  • I’m using a theme with an existing .mo file for French, so I selected that option (to figure out what the textdomain is, look through a theme file to see what the second argument to the gettext calls is — they look like __("Text here", "text domain here")) but it seems that all the strings for my theme still appear in the “string translation” pane
  • initially the strings for my widgets and site tagline weren’t appearing in the “string translation” pane — you have to click the “Save options and rescan strings” button for that, even if you haven’t changed any settings (that was not exactly obvious to me)

Here’s what I still need to fix:

  • the rewrite rules are set to hide the “language directory” part of the URL when browsing the site in the default language — I want to change this as explained in this forum post
  • reimplement automatic language detection
  • set up a custom language switcher that looks more like “Français | English” somewhere at the top right of the page

And honestly, once that is settle, WPML is as close as it gets to my dream multilingual plugin for WordPress!

LeWeb'09: Kevin Marks on Buzzwords [en]

Live notes from LeWeb’09. They could be inaccurate, although I do my best. You might want to read other posts by official bloggers, in various languages!

Do we really use too many buzzwords? Right now, “real-time”. Some words Kevin has found useful to describe the new web.

  1. Flow: the stream metaphor.
  2. Faces: we expect faces. Making the face bigger makes the information more relevant. A large part of our brain is about faces.
  3. Phatic: an action that is designed for social interaction, grooming purposes, not to communicate content.
  4. Following: not assuming that all relations are bi-directional. Basic pattern of the web. Hyperlinks go in one direction. This is what allowed the web to scale to the size it is. Very powerful in a social context too.
  5. Semi-overlapping publics: not just “one” public space, which is an invention of mass media. We all see a different web. We have different publics.
  6. Mutual media: all these networks are ways of making sense of the world, filtering the web for each other to make it more interesting.
  7. Small world networks: it’s easy for information to flow through these networks, and there are also long-range links, so we don’t stay locked up in our small worlds.
  8. Out-groups: homophily, minimal group paradigm. Different parts of the web as different countries. You feel alien when visiting another online community than those you’re familiar with.
  9. Tummeling: the person who connects people with each other. The life and soul of the party.

That’s Kevin’s set of words that help him think about the web.

Je tweete, tu tweetes… merci de laisser les twits au vestiaire [fr]

[en] About the correct way to say "to tweet" and "a tweet" in French. No twits, please. Or even twitts. It just sounds plain stupid.

J’ai beau être une horrible bilingue qui parsème allègrement mon français d’anglicismes et mon anglais de gallicismes, et mes deux langues de néologismes et de stephanismes, il y a un certain nombre d’abus linguistiques qui me hérissent sérieusement le poil.

Une des derniers en date? L’utilisation par les francophones de “twit” ou “twitt” pour faire référence à un message envoyé sur Twitter. (C’est quoi, Twitter?)

Je m’explique — parce que ce qui me tient à coeur, c’est qu’on reste un peu linguistiquement cohérents.

En anglais, “to twitter” (le verbe, donc), signifie “gazouiller” (on va pas pinailler sur le sens). Le nom qui correspond à ce verbe, et qui fait donc référence à une “instance” de cette activité (dans le contexte de Twitter, donc, à un message envoyé), c’est “a tweet“. Notons, pour ceux qui s’intéressent à la prononciation, que le verbe contient un “i” court (le phonème qui n’existe pas en français — on sait ça parce que le “i” est suivi de deux “t”) mais que le nom, lui, se dit avec un long “i” (comme le “i” français).

Prenons un parallèle bien connu: “to blog” et “a blog”. Voilà, très bien.

En français, on importe directement le nom, sans autre forme de procès. Un blog. Un tweet.

Et puis on forme un verbe à partir de ce nom: bloguer, tweeter.

Mais il y a plus grave, en fait. Parce que “twit“, voyez-vous, qui se prononce avec un “i” court (même si on l’écrit “twitt”), c’est un mot qui existe déjà dans la langue anglaise.

“A twit”, c’est un imbécile. Ouille.

Quitte à importer des mots d’une langue à l’autre (ce qui ne me pose aucun problème), essayons d’importer les bons, voulez-vous?

Je récapitule.

Quand j’utilise Twitter, je tweete. J’envoie des tweets à droite et à gauche. Parfois je reçois un tweet privé, mais la plupart sont publics et je n’arrive pas à suivre. Et j’évite de passer pour un twit en appelant ces messages des twitts ou mon activité twitter (ce qui, en passant, prête à confusion avec le nom du service… et donne des noeuds à la langue, prise dans le doute prononciatif!)

De la dégradation de la langue [fr]

[en] About my French spelling being worse than it was 15 years ago (is it the keyboard? is it something else?) and the terrifying experience of "losing my French" while I was in India 10 years ago.

La mienne, en l’occurence.

Plus de 15 ans que j’ai passé mon bac (XB, s’il vous plaît). Plus de 10 ans que j’écris sur le web. Quelque part en chemin, j’ai fait une licence en français.

Et parfois, quand je me relis, je suis horrifiée par les fautes que je trouve dans mes textes.

J’ai toujours été bonne (allons, n’ayons pas peur des mots — excellente) en orthographe et grammaire. Au gymnase, franchement, je crois pouvoir dire que j’avais un français écrit irréprochable.

Ça s’est gâté, ensuite. Dix ans à prendre des notes à l’uni, d’une part ça vous fiche en l’air la calligraphie (qui ne fut d’ailleurs jamais mon fort) et d’autre part, ça vous ramollit les règles de la langue.

Je me demande aussi parfois quel rôle joue le clavier dans tout cela. Je me retrouve à faire des fautes de “frappe” inimaginables lorsque j’écrivais à la main. Une terminaison en “-é” au lieu de “-er” par exemple, qui vient se glisser là, mine de rien, au milieu d’une phrase. Je l’attrape au passage si je prends la peine de me relire, bien entendu, mais le drame est que la faute ait simplement jailli de mes doigts. Ça n’arrivait jamais, “avant”.

(D’ailleurs, je tiens à le préciser, je ne me relis que très rarement. Oui, je sais, ça va faire des jaloux — chacun sa croix: mes compétences dans le graphisme frisent le zéro absolu et je suis tellement peu physionomiste que c’en est régulièrement embarrassant.)

Qu’est-ce qui a donc changé?

  • Est-ce le clavier au lieu du stylo?
  • Est-ce l’absence de correction en rouge pour me rappeler de temps en temps mes manquements à la perfection de la forme?
  • Est-ce l’âge?
  • Est-ce la proportion moindre de français par rapport à l’anglais, dans ce que j’écris aujourd’hui?
  • Est-ce la plus grande quantité de texte écrit que je produis?

Allez savoir.

J’ai vécu une autre expérience de dégradation de la langue, orale celle-ci, qui m’a profondément marquée. En 1999-2000, comme vous le savez, j’ai passé une année en Inde (le cas échéant, chers lecteurs, relisez vos classiques).

Bilingue déjà à l’époque, mais avec un anglais passablement rouillé, je me retrouvais pour la première fois depuis ma petite enfance à communiquer exclusivement en anglais, durant des mois — à l’exception de l’occasionnel e-mail qui, m’avouera-t-on plus tard, arborait des tournures de phrase de plus en plus étranges à mesure que passait le temps.

Après 6-8 mois, une amie de Suisse est venue me rendre visite. Et là, catastrophe. Je cherche mes mots. Je suis maladroite. Je construis mes phrases à tort et à travers. J’étais en train de perdre mon français! Il avait suffi de si peu de temps…

Je savais que j’avais pas mal perdu de mon anglais durant mon adolescence, au point qu’il m’était devenu pénible de le parler. Il revenait après quelque temps, bien sûr, mais c’était depuis longtemps ma deuxième langue. Jamais je n’aurais imaginé que je pourrais (aussi vite!) perdre mon français.

Je vous rassure, il est bien revenu. Et mon anglais est resté — j’avoue qu’il est rare que je passe une journée sans utiliser mes deux langues à présent (et internet joue très clairement un rôle là-dedans).

Mais même sa langue maternelle, quand on ne la pratique pas, se dégrade.

Un Parti des Pirates Suisse multilingue? [fr]

[en] Will the community gathered around the creation of a Swiss Pirate Party manage to include the various linguistic groups of the country, or will the Roestigraben win, like it did in the 2006 Swiss Blog Awards? Interesting situation which I'm following closely.

Le projet pour aujourd’hui était de mettre en ligne mes photos de ce week-end et de vous parler un peu de mon premier Bol d’Or (historique: 64 à l’arrivée sur 550, tous les autres ont dû abandonner, faute de vent). La bonne nouvelle c’est que j’ai commencé à trier mes photos, et qu’il y en a des sympas. Et l’autre bonne nouvelle c’est que je suis allée faire un saut sur le canal IRC (#piraten-schweiz) des pirates suisses, et que j’y ai recommencé à parler de questions linguistiques.

piratench-90x90Car, oui, la question se pose: l’initiative est majoritairement suisse-allemande. Est-ce que le Roestigraben va gagner, comme lors des Swiss Blog Awards de 2006, ou bien parviendra-t-on à créer un groupe d’intérêt (et peut-être même un parti politique) multilingue? L’intention est là, en tous cas. Si vous êtes francophone et intéressé, n’hésitez pas à vous manifester — ils sont assez accueillants, ces satanés pirates.

Je me suis fendue d’un petit article sur la question des langues dans leur forum (il faut passer par l’interface allemande pour s’y inscrire, mais une fois là, on peut changer la langue et être un peu moins dépaysé) que j’ai aussi relayé dans le forum-ghetto francophone. (Mais oui, vous saviez déjà que j’avais un faible pour les questions linguistiques, non?)

J’y prône entre autres les bienfaits du mélange de langues sur un même forum ou dans un même blog plutôt que la ségrégation qui appauvrit inévitablement les langues minoritaires, puisque les bilingues filent tout naturellement là où il y a le plus d’animation, dans leur langue majoritaire.

La volonté de tout traduire est un piège: il faut accepter que le contenu sera imparfaitement dupliqué si l’on crée des instances d’un même document en plusieurs langues. Sinon, toute la publication est paralysée. Pour animer un blog, aussi, la traduction n’est pas la meilleure solution: primo parce que nous les Romands, on en a marre qu’on ne nous serve que du contenu suisse-allemand réchauffé à la sauce (mauvaise) traduction, et deuxio parce que produire du contenu original demande souvent moins d’effort que faire une traduction (à peu près) correcte — sauf si on a à disposition une armée de traducteurs professionnels ;-).

A suivre. C’est un dossier qui m’intéresse.

Google: "Don't Mix Languages on the Same Page" [en]

[fr] Dommage, un article sur comment démarrer son site multilingue sur un des blogs officiels de Google donne des conseils que je trouve assez malheureux (genre: "ne mélangez pas plusieurs langues sur une même page").

I wanted to leave this as a comment on How to Start a Multilingual Site over on the Official Google Webmaster Central Blog, but unfortunately Blogger is taking a break right now and I can’t post. So, here we go:

“Avoid mixing languages on each page, as this may confuse Googlebot as well as your users.” (Nico, thanks, I’d missed that one)

I’m really disappointed to see this kind of advice handed out. Yes, it confuses Googlebot, but only because it doesn’t (I guess?) take into account lang=”xx” attributes. (Yeah, nobody uses them, but that’s because nobody parses them.)

But users? Most people are not pure monolinguals. We need ways to make linguistic barriers online weaker, and not stronger.

I’ve been mixing languages on Climb to the Stars for eight years now, and it hasn’t prevented my readers or my Page Rank from being happy.

I vote for Google learning that the “page” is not the smallest item on the web that is allowed to have its own language attribute, rather than asking people to conform to some kind of artificial absolute monolingualism.

I’ll try an post tomorrow, but at least this is out there. I left a previous comment on the same post earlier today, by the way. (Check out my other multilingual stuff while you’re on the topic.)

Interviewed About Multilingualism by Andrea Vascellari [en]

[fr] Une interview qui date de novembre, mais que je ne regarde qu'aujourd'hui (à ma grande honte). Andrea Vascellari m'a attrapée à Berlin lors de Web2.0Expo, et m'a interviewée sur les questions de multilinguisme en ligne que j'affectionne. Il a ajouté au début une petite partie sur Going Solo, donc si vous avez déjà vu mon discours donné à LIFT, sautez sans arrière-pensée les premières trois minutes de la vidéo. La suite est nouvelle, je vous rassure!

At Web2.0Expo in Berlin, last November, I met Andrea Vascellari. He’s Italian, lives in Finland, and does a regular video podcast on Vascellari Media Channel — VMC. I was speaking on multilingualism at Web2Open, so we sat down in a corridor (we thought it would be nice and quiet, but we picked a spot just near… the loo/bathroom/restroom/toilets) for a little chat on the topic of languages online.

Upon editing, Andrea added a few words about Going Solo and inserted my speech about it — so if you already saw the LIFT08 speech, feel free to skip the first 3-4 minutes. There’s a whole bunch of new material waiting for you after it.

VMC #30, where Andrea introduces Going Solo and makes me talk about multilingualism online. Andrea clearly knows the art of making his guest look good — thanks a lot!

Vidéo de ma conférence sur le multilinguisme à Paris Web 2007 [fr]

[en] For once, I was asked to give one of my multilingual talks in French. Here is the video recording of it.

Il y a un décalage qui me perplexe parfois un peu entre les conférences que je donne en français et celles que je donne en anglais. En français, on me demande immanquablement de parler d’ados et internet ou éventuellement des blogs en général ou en entreprise. Dans le monde anglophone, c’est une tout autre histoire, et ce sont des sujets beaucoup plus pointus, comme le multilinguisme sur internet, par exemple.

Je suis contente qu’on m’ait enfin demandé de traiter de ce sujet en français, lors de la conférence Paris Web 2007. Voici l’enregistrement vidéo de ma conférence,intitulée “En attendant le Poisson de Babel”.

Sur le site de Paris Web, vous trouverez des liens vers l’enregistrement audio et autres ressources ainsi que d’autres formats vidéo. Voici la présentation que j’ai utilisée:

Voici une liste (pas forcément complète) de ce que d’autres ont écrit au sujet des diverses incarnations de cette conférence — en français et en anglais.

Two Plugin Updates: Basic Bilingual 0.32 and Language Linker 0.2 [en]

[fr] Je me suis levée à l'aube pour aller faire la nouille sur RSR1 et prendre un p'tit déj improvisé chez une ancienne copine d'uni. Ensuite, j'ai passé la journée les mains dans le PHP, ce qui veut dire que je n'ai beaucoup blogué, mais que j'ai mis à jour deux plugins: Basic Bilingual, qui permet de tenir sans peine un blog "bilingue" comme celui-ci (c'est ce qui me permet de rédiger et d'afficher ce petit extrait en français) et Bunny's Language Linker, très utile pour afficher des liens entre pages correspondantes des différentes traductions d'un site.

After waking up at an ungodly hour this New Year’s Day (for a live radio appearance and impromptu breakfast at a uni friend’s home nearby) I spent the rest of my day elbows deep in PHP code. As a result, I haven’t written the half-dozen of posts that have been sitting in my drafts list over Christmas, but I have updated two plugins — an old one, and a new-born.

Basic Bilingual 0.32

Download | zip | .phps

This release fixes the disappearing excerpts problem (was fixed in 0.31 actually, but I never announced it) and replaces the ugly “language box” floating somewhere near the top of the post admin page by a pretty DBX (let me know what it stands for) box in the sidebar:

Basic Bilingual got a dbx box for the new year!

Bunny’s Language Linker 0.2

Download | zip | .phps

(I always want to call it “Language Links”, which was the initial name I chose — still not sure I was right to change.) Anyway, this version is pretty exciting, as it does something I’ve been thinking of for a while: it puts the link to the other localized versions of the page you’re viewing in the menu bar if you’re using a Sandbox-based theme:

Language Linker link in the menu bar!

Otherwise, it puts it at the end of the page in its own div (you can style it the way you wish). I’m not saying this is the best, final solution, but I think it’s headed in the right direction.

Bunny's Language Linker: New WordPress Plugin [en]

[fr] Un nouveau plugin WordPress que je viens d'écrire. Celui-ci vous permet de gérer les liens entre pages équivalentes de deux versions linguistiques d'un site. Par exemple, si vous avez http://stephanie-booth.com/en et http://stephanie-booth.com/fr (deux installations WordPress séparées!), le plugin vous aidera à faire en sorte qu'il y ait des liens entre http://stephanie-booth.com/en/about et http://stephanie-booth.com/fr/a-propos.

Ladies and Gentlemen, I’m proud to announce the WordPress plugin Bunny’s Language Linker (zip, phps).

I’ve been wanting to write this plugin for ages, and I’ve finally done it this evening. This is a plugin for people who have a WordPress site with content duplicated in more than one language, like I’m going to have with stephanie-booth.com. For example, you have an “about” page in English, and another “about” page in German. This plugin helps you create and manage links between such “sister” pages. (“Pages”, not “posts”. It doesn’t work with posts at all.)

The plugin adds an extra field to the page editing form, inviting you to input the page slug of the sister page:

Bunny's Language Linker - Admin view

The screenshot is a bit small, but there on the right, there is a little box with “a-propos” — the slug of the French sister page. It works with more than one other language, too. You just need to edit the settings in the plugin file to specify which languages you’re playing with (instructions are in the plugin file). If I had sites in 3 other languages, say French, Spanish, and German, my settings line in the plugin file would look like this:

$bll_other_languages=array('fr', 'es', 'de');

And the little box would provide three different fields for the page slugs of the different localized sites. (OK, I’m making this sound complicated, sorry.)

The plugin then automatically adds links to the sister pages you’ve indicated. Here’s what it could look like:

Bunny's Language Linker - Page view

There’s a readme file with the plugin which will give you some more details. I’ll soon have a client site in production using that plugin, so if these explanations weren’t very clear, hopefully the demonstration will help.