Creating a Multi-language Alexa Skill
Did you know that Alexa can speak English, German, Spanish, French, Hindi, Portuguese, Italian, and Japanese? Furthermore, Alexa recognizes linguistic differences / languages variations by country. For example, Alexa has language variations for English for the countries: USA, UK, Australia, India, and Canada.
Let’s start with a fun exercise with your Alexa. For this exercise, ideally you’ll need your Amazon Echo and your phone with the Alexa app installed.
If you don’t have an Amazon Echo nearby, you can perform this exercise on your phone with the Alexa app.
Fun fact: You can speak to the Alexa app on your phone as an Alexa device. Open the app and touch the circle icon on the middle bottom of the screen.
Say, “Alexa, what languages do you speak?”
Spoiler: Alexa will instruct you to go to languages within device settings in your Alexa app.
This post is just one in a series on Alexa Skills (Similar to apps for your phone, Alexa has apps, called Alexa Skills, mostly created by 3rd party developers such as myself). For a bit of background, you may way to start with Alexa FAQs here.
In this post, I will discuss Alexa Skills from a multi-language perspective from the perspective of an Alexa Skill developer. My intent is to help tech innovators writing functional requirements for their company’s Alexa skill to better communicate with their development team.
One common question I receive about creating an Alexa Skill is how does it handle languages? How can I reach the most number of people and create the most amount of impact?
Let’s start with the user’s side of Alexa.
- User buys/obtains an Amazon Echo / Echo Dot / Echo Show / Echo Spot, etc…
- User sets up their Amazon Echo device with the same credentials as their Amazon shopping account and on their Wi-Fi.
- As a user is setting up his/her Amazon Echo device, they can select their language.
- Users can at any point change their language on their Amazon Echo device via desktop browser at alexa.amazon.com or their mobile / tablet app.
As of the writing of this post, Amazon Echo is available in many countries across 6 continents in English, Spanish, German, Italian, Hindi, Japanese, Chinese, and Portuguese. More languages are added often.
Creating a multi-language Alexa Skill
From the business perspective of creating an Alexa Skill, you will need to determine which countries and languages you would like to make your skill available in. If you are planning to monetize an Alexa Skill with in-skill purchases, then you need to work within the countries that Amazon has allowed for in-skill purchases. (Separate topic for a separate day.)
Your countries and languages will be determined by the countries in which you already operate in, languages of your customers, your in-house language expertise, and your budget.
Start by creating a table for each country/language variation with the invocation name, skill name, and description.
Next, you’ll need to create your script for Alexa in each language and draw up test scenarios. I go into depth on scripting for Alexa skill development here. Next, you’ll need to translate your script for each language. While working with a fluent speaker (as I did for my skill Training Plans in German) is best, I heavily utilized Google Translate when I added Japanese, French, Hindi, Portuguese, and Spanish to my skill, Cat Food.
At minimum, you will need to add a response for “help” and “unhandled” in each language/country variation. “Unhandled” is when the user’s utterance is not recognized by any of the programmed intents. “Help” is when the user utters, “Help” while your skill is open. “Unhandled” and “Help” responses are required for certification. If you are creating an Alexa Skill for a device with a screen, i.e. Echo Show, and plan to include text on the screen, then you will need to define the text per country/language in your requirements.
Amazon Certification for Multi-Language Skills
Here’s the secret to the certification team. The certification team can be a different person per country/language.
I learned this when I made a mistake in the code on my skill and it was approved by testers in 3 countries/languages, but not approved by the tester for one language. My mistake was on all languages of the skill, but only one tester noticed my error.
If a single tester rejects your skill, the entire skill is rejected.
To work through this problem, I would resubmit for only the countries/languages where my skill passed certification and then resubmit each rejected country/language at a later date. To rephrase, I would remove the languages where the skill was rejected and resubmit. Then wait for certification approval (usually fairly quickly since they were approved previously). While waiting for certification approval, I would consult my friends with language skills for help. Once my skill was approved, I would resubmit one language/country at a time, wait for approval before adding another language.
Using this methodology, I eventually added Japanese and Hindi to my cat food skill.
Thanks for learning more about multi-language Alexa Skills. If you have any questions about creating your company’s Alexa Skill, please schedule time with me via Calendly.