Creating a Multilingual Solution via WordPress
Storm the Castle
We’ve all been there before — a project drops from the sky like that ACME Corporation anvil on your work day’s Wile E. Coyote. The project is due ASAP but the content won’t be ready until late Friday. In this instance, you’ll need to spin up an accessible, responsive solution with information on a ballot measure in California for November’s election in the next four business days.
After you take a deep, diaphragmatic breath and wrap your mind around the long days, you seek answers to the following unique challenges:
- All site information must reside on one website/URL and not separate sites;
- Analytics tracking, social media cards meta and advertising pixels additions;
- Generate custom templates, top and footer menus for each native language; and
- Create an interactive SVG map with detailed region-specific multilingual information on projects
Nine Languages Under One Roof
In addition to a standard English site, ballot measure information must be presented in nine languages to ensure maximum coverage to target audiences in ethnically diverse Southern California:
- Armenian, Chinese, Japanese, Khmer, Korean, Russian, Spanish, Thai and Vietnamese
In a static world circa 1999, this would be that proverbial all hands on deck moment, complete with elbow grease and some long days of keyboard input — blah! But fortunately, we can’t turn back time. How do we technically accomplish this?
The Road to the Tower of Babel
With WordPress (.com or .org) as the solution you know there is a full complement of free and premium themes and plugins that provide the various look and feel and functionality but no one theme offers EVERYTHING you want. A more rigid theme framework like Elegant’s Divi or Themify offers visual drag and drop builder options but no true customization of templates.
Here’s the path I chose:
- An open premium WordPress (referred to henceforth as WP) theme; Open meaning that said theme should not possess an extra admin on top of the WP’s core or key features locked without upselling or additional fees;
- A one-page style theme with video background, WP portfolio feature and the ability to child-theme or customize template parts. Our intent was to have users access the messaging from one page and not have to drill down too many levels for the best user-experience;
- The option to add additional functionality via .org or .com plugins as needed; and
- Content flexibility – editors and administrators will be updating, moving story order often leading up to and post-election day
I developed using MAMP with a local install of WordPress (download from .org), I wanted to create and test one group of template files with a wordy language THEN (and only then) adjust for each additional language. Khmer, Thai and Spanish met this criteria.
TIP: Once content including these features (interactive maps and infographics) is set, create your templates including post types and taxonomies. Being as focused and decisive as possible will optimize development time in a crunch.
For optimal visual exposure, an alert band linking to the various languages atop the main page.
Finally, here is a list of the skills used in the solution described above. In case you’re wondering, the ballot measure passed.
- Cascading Style Sheets
- Child Theming
- Custom Post Types and Taxonomies
- Custom Templates and Menus
- Foreign Language
- jQuery Library Enqueuing
- HTML 5
- PHP Customization via WordPress Codex
- Sublime Text