Develop Smart Home Skills for Multiple Languages
You can create Alexa skills that respond to customer utterances in different languages. For each language that you support, Alexa automatically interprets the customer utterance and sends a corresponding directive to the appropriate Amazon Web Services (AWS) Lambda function to handle the request.
- Determine language support
- Create multiple language versions of a skill in the developer console
- 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 customer guidance for multiple languages
- Enable, account link and test your skill in multiple languages
- Provide privacy and compliance, availability, and testing information 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 details, see List of Alexa Interfaces and Supported Languages.
Create multiple language versions of a skill in the developer console
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 Alexa skill store in a later step.
- Select the Default language for the skill
- Choose the Smart Home pre-built model, and 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 supports. 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. To account-link your skill to a device cloud and test your skill, you must allow each of the Redirect URLs with your OAuth provider. For details, see Alexa Redirect URLs.
Provide launch information for each language
Configure the settings for each language on the Distribution page. To pass certification, you must provide values for these fields in the same language that your offer the skill.
- 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. For example, you must deploy Arabic skills to both US East and EU regions.
The following table lists the Alexa endpoint region and associated AWS Lambda region that you must use.
|Endpoint region||Skill language||AWS Lambda region|
|North America||Arabic (SA), English (CA), English (US), French (CA), Portuguese (BR), Spanish (MX), Spanish (US)||US East (N. Virginia)|
|Europe||Arabic (SA), 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 add the 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 you host your Lambda function. 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 Alexa 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 AWS Lambda region where you host your Lambda function.
- 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 customer guidance for multiple languages
Amazon provides example smart home phrases to customers 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. Make sure that your skill works with the example phrases relevant to your skill and target language provided at the links in the previous section.
Provide privacy and compliance, availability, and testing information 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 plan to distribute your skill.
For Privacy & Compliance:
- Answer the questions. For more details, use the tooltips.
- 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 or region even if it doesn't 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 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 the requested information for each language version of your skill, to submit the skill for certification, click Submit for review.
To help the certification team, respond promptly to requests for more information .