Over the past year I've led a team that launched 3 different Drupal multilingual projects and during that time I have come to the conclusion that doing a multilingual site is a difficult undertaking. In fact, I would say that converting your site to a new language is probably more challenging that building your initial site, especially if you can't read the additional languages. Looking back, I was just naive enough during the sales process to say "oh yea, Drupal handles multilingual sites no problem;" and while that statement is 100% true, today I probably would be a little more cautious in my approach. Anyway, this isn't going to be some massive tutorial on how to setup and configure a multilingual site in Drupal, there are numerous videos and tutorials out there that do just exactly that; but I will hit some of the pain points I experienced and give you a feel for what you're getting into.
First, let me start by saying there is tons and tons of information online to help you through the process of setting up your multilingual Drupal site; that's both a blessing and a curse. The blessing is that odds are someone has experienced your problem and most likely there is a posted solution; on the other hand it's often like finding a needle in a haystack because the information is not well organized. When issues arose during my projects, I would often find myself going down the Google search rabbit hole and steadily hitting the back button. The point here is simply to give yourself time to research things when you run into issues and on average figure that it's going to take 2-3 times as long the first go around. The information is probably out there, but it might not be that easy to find.
Second, find a translation workflow that works best for your team to minimize the overhead during the translation process. I recommend, establishing a gatekeeper for all content translation to ensure all content is input properly. To support this, make sure you're using several of the translation overview modules that will help keep track of what has and has not been translated. This does not need to be a single person, but could be multiple individuals assigned to their respective translation; in the end this will provide a higher level of consistency for your project. Remember that it's not just content you'll have to translate, but views configurations, blocks and sidebar items, navigation and other miscellaneous items you might have forgotten about.
Third, QA, QA, QA because no matter what, you're going to find little strings here and there that didn't get translated properly; areas where a view isn't filtering by language or a block title is still listed in the default language. Spotting those issues is rather easy, fixing them is time consuming; so if the content has to be flawless on launch, then it will be vital that your team has the necessary time to review. Now, if you're a little more agile and 90-95% completion will suffice, let your community or team help QA after you go live; in my opinion, that's the best approach since your team could move on to other tasks if need be.
Finally, if you really want to take your experience to the next level, consider using localized imagery as well. Obviously this can be a little trickier but putting in images of Hong Kong instead of New York for your Mandarin translation or even photos of Asian models when appropriate can help the site to better connect with your audience. Another factor to consider for internationalization is the difference colors mean in other cultures, it might be a good idea to modify the design slightly based upon the targeted region.
Here are 3 simple takeaways about building a multilingual site in Drupal:
- Give yourself plenty of time to complete, test and double check the work
- Utilize the numerous multilingual module add-ons to maximize your efforts and reduce headaches
- Put a plan together on how you'll roll out each language and establish which team mates are responsible
Photo Attribution: ZapPowBang