There are many possible ways that we could support multiple languages in our new website, and unfortunately each one of them has its drawbacks. This is a subject I have been hesitating to bring up for a while: language is such an emotive issue and discussions on how to best serve content to audiences in different languages are always difficult.
I'm going to put a stake in the ground; I will explain the language support pattern I'm thinking of for the new CERN website to initiate this debate. I would welcome your thoughts and feedback.
The issue of defining precisely how we will support multiple languages came to the fore during our current code sprint when we were reviewing the tasks of the day during our morning 'stand up' session. We were focussing on rendering and CSS issues and six of us were reviewing the current alpha version of the website:
"Why is 'Français' written in strikethrough?" asked Mark, pointing at the top of the page where the language switcher is.
"Because that's what Drupal does when content isn't translated. The page we are looking at doesn't have a French translation yet," explained Cian.
"That makes no sense. As a user I wouldn't know what this strikethrough means. Is there a better way to do this?" asked Mark.
This exchange led us to exploring a variety of ways to support multiple languages - including languages other than English and French.
Ideally we would have all our content in all the languages that our audiences use, but even a brief visit to the CERN canteen will give you an idea of what a challenge this could be! We might in future achieve something close to universal language support with machine translation, or even crowdsourcing, but for now these approaches are limited in terms of quality, and their support would be a prohibitive overhead. So we cannot have content in all languages.
If we cannot support all languages, how many can we support? All the languages of CERN's member states? CERN's convential languages - French and English? Just one language? My personal answer to this question stems from what I observe across our current websites, and in the absence of a language policy at CERN here is my guiding principle:
Strive to produce content in both French and English. Where this is not possible produce it in English.
The exception to this is if content is clearly targeted at an audience with a clear majority language preference other than English. Our communications with communities in neighbouring France and Switzerland, for instance, tends to be in French only.
What does this all mean in terms of our new website?
One of the things we're going to try in the new beta release is to remove the universal language switcher. We felt that it just didn't live up to the expectations that its position up near the global navigation seemed to imply. It seemed to say, 'this site is available in English and French and wherever you are you can toggle to a mirror image of the content in another langauge.' But this isn't true: as we saw during the code sprint, we had holes in our content, notably in French.
We have been working with our colleagues in translation and minutes to see how we can improve our language coverage, but we all agree that our content will never be universally available in both French and English. So how to we deal with the 'holes'?
Holes are a particular problem when looking at lists of content, such as 'latest news items'. We will often be in a situation where, say, an article has been written in English and published, but that its French translation is not ready yet. Visitors to the French version of the site would not be aware that such a news item exists, even though many of them might well benefit from reading the English version. So how would we give readers of the French version of the site clues that there is untranslated content that they might want to look at?
Here is how we are going to approach it for the beta:
- Show a generic language-switching toggle on the home page only.
- Where content is translated into other languages, a link to those other language versions will be available at the bottom of the content. This would allow us to publish an article in German, for example. Where a user opts in to French content this way the entire interface will change to French, but for other languages the interface - such as the global navigation - will remain in English.
- Functions such as search will default to English.
- In pages that are lists of content - such as 'announcements' - that are not in English we will display a toggle for the end user to view content in all available languages. For blocks in sidebars (that are not the page's primary content) we will not show this toggle.
This is an approach that we will need to test a lot and to refine. We'll spend time observing users and seeking feedback on language support. It's not a perfect approach - there is no perfect approach. But it's a compromise that I hope will work for the vast majority of users. If it doesn't then we'll simply move the stake to a better lieu.
Dan Noyes on