Develop Smart Home Skills for Multiple Languages
You can create smart home skills that respond to customer utterances in different languages. For each language that you support, the Smart Home Skill API automatically interprets the customer utterance and sends a corresponding directive to the appropriate Lambda function to handle the request.
- Determine Language Support
- Create Multiple Language Versions of a Skill in the Developer Portal
- Allow Additional URLs With Your OAuth Provider
- Provide Launch Information for Each Language
- Deploy Your Lambda Function to Multiple Regions
- Send Events to the Correct URL
- Provide the ARN numbers for Your Skill in the Developer Console
- Example phrases and consumer guidance for multiple languages
- Enable, Account Link and Test Your Skill in Multiple Languages
- Provide Testing Instructions, Privacy & Compliance and Availability for Your Skill
- Skill Submission
- Related Topics
Determine Language Support
Language support varies by interface. Before you target a new language, verify that each interface that you implement in your skill is supported for the new language. For more information, see List of Capability Interfaces and Supported Locales.
Create Multiple Language Versions of a Skill in the Developer Portal
Add a language to an existing skill
- Sign in to the developer console, navigate to your list of skills and select the skill you want to add additional language support for.
- You use the language drop-down at the top of the sidebar to add a new language and switch between languages. Click the drop-down and then click Language settings, and + Add new Language.
- Choose new languages and click Save.
- Configure the settings for each language on the Build and Distribution pages.
Add a new skill that supports one or more languages
- Open the Alexa developer console and log in.
- Click Create Skill. The Create a new skill page appears.
- Enter the name for your skill. You can configure language-specific names for the skill store in a later step.
- Select the Default language for the skill
- Choose the Smart Home pre-built model, then select Create Skill.
- In the upper left corner, click the language drop-down and select Language settings.
- Select + Add new Language, and select the languages your skill will support. Click Save.
Allow Additional URLs With Your OAuth Provider
On the Build page of the Alexa developer console, the information you provide for Account Linking is global across different language versions of your skill. However, each AWS Lambda region for a multi-language skill has a different redirect URL, which appears on the Account Linking page. You must allow each of the Redirect URLs with your OAuth provider. You need this to account-link your skill to a device cloud and test your skill. For more information, see Alexa Redirect URLs.
Provide Launch Information for Each Language
- Configure the settings for each language on the Distribution page. To pass certification, values for these fields must be provided in the same language the skill is offered in.
- One Sentence Description
- Detailed Description
- Small and Large Icons
Deploy Your Lambda Function to Multiple Regions
Alexa interprets a customer request for you whether it's in German or English, and sends the correct directive to your skill. You write code that receives these directives from Alexa and communicates with the cloud-connected devices that your skill supports. Your code is hosted as an AWS Lambda Function. To enable multiple language support, you must deploy your AWS Lambda function code to multiple AWS regions. Deploying to multiple regions is required and also helps ensure your skill is responsive to requests.
The following table lists the endpoint region and associated AWS region you must use.
|Endpoint Region||Skill language||Lambda Function Region|
|North America||English (CA), English (US), French (CA), Portuguese (BR), Spanish (MX), Spanish (US)||US East (N. Virginia)|
|Europe||English (UK), French (FR), German, Italian, Spanish (ES)||EU (Ireland)|
|India||English (IN), Hindi (IN)||EU (Ireland)|
|Far East||English (AU), Japanese||US West (Oregon)|
Make a note of the ARN for each region. You will add an ARN for each region when you configure the skill.
For detailed steps to create a skill, see Add a Lambda Function.
Send Events to the Correct URL
If you send asynchronous and change report events, you must send them to the correct Alexa event gateway. The event gateway varied depending where your Lambda function is hosted. Following is the list of URLs by region.
- North America:
- Far East:
Provide the ARN numbers for Your Skill in the Developer Console
Add the ARN number for each geographic region to the Build page in the developer console. To enable this:
- In the Developer Console, select the skill and click the Build tab.
- Choose the geographic regions that apply, such as Europe, India.
- Enter the ARN or the Lambda endpoints in the text boxes provided. See the table in the Deploy Your Lambda Function section for the association between the skill language, endpoint region and region that Lambda function must be hosted.
- If your skill only supports one language/region, provide the same ARN for the default ARN and the selected regional ARN.
- If your skill supports multiple languages/regions, you must provide ARNs for each region. Provide one of the regional ARNs for the default.
Example phrases and consumer guidance for multiple languages
Amazon provides example smart home phrases to consumers at the following links:
- English (en-GB): Control smart home devices
- English (en-IN): Use the Alexa App to Speak to Alexa in Hindi and English
- English (en-US): Control smart home devices
- French (fr-CA): Utiliser votre appareil connecté avec Alexa
- French (fr-FR): Utiliser votre appareil domotique avec Alexa
- German (de-DE): Smart Home-Geräte steuern
- Hindi (hi-IN): Use the Alexa App to Speak to Alexa in Hindi and English
- Italian (it-IT): Utilizzare il dispositivo Casa Intelligente con Alexa
- Japanese (ja-JP): Using Smart Home Skills with Alexa
- Portugese (pt-BR): Use seu dispositivo de Casa inteligente com a Alexa
- Spanish (es-ES): Usar mi dispositivo de hogar digital con Alexa
- Spanish (es-MX): Usar mi dispositivo de hogar digital con Alexa
Enable, Account Link and Test Your Skill in Multiple Languages
Test your skill with an account for each language that you support. You can find your skill by browsing to Skills the Alexa app, and choosing Your Skills in the upper right corner. To test, you need cloud-connected devices that your skill is designed to work with that can be discovered by the Alexa-enabled device.
Although Alexa provides the language handling for you, you should test your skill in all languages that it supports. Ensure that your skill works with the example phrases relevant to your skill and target language provided at the links in the previous section.
Provide Testing Instructions, Privacy & Compliance and Availability for Your Skill
The final steps to publishing your skill are to provide test instructions for the certification team, answer privacy questions, and choose where you will distribute your skill.
For Privacy & Compliance:
- Answer the questions, using the tooltips for more information
- Choose the option to distribute your skill in all countries where Amazon distributes skills or choose specific countries and regions. The distribution is independent of language—a skill can be available in a particular country/region even if it does not support languages commonly spoken in that region.
Note that this option applies to all language versions of your skill.
Because a smart home skill relies on cloud-connected devices, you should consider whether the devices that accompany your skill are available to customers and will function correctly in a particular country/region.
Provide testing instructions including test credentials for each language version of your skill.
When you've completed these items, click Save and continue to move to the next page.
When you have completed all of the requested information for each language version of your skill, the Submit for review button will be enabled, and you can submit the skill for certification.
To help the certification team, you should respond to any requests for more information promptly.