# Intro

We currently natively support the following languages:

  • English
  • French
  • German
  • Italian
  • Polish

This means those languages are available as a configuration, and the entire system can run with them.

Beside these languages, we provide support for nearly all languages in the world, for skills only, for as long as you do not set Alice as offline only. We can use Google Translate free services to obtain a good result when sending the request to our NLU.

You can add easily add a new language support for either the entire system or some skills or both

WARNING

Alice is a friend of yours, she's familiar and not impersonal. She uses the familiar "you" and not the formal "you". In french she uses "tu" and not "vous", in german "du" and not "Sie" etc etc

# What means "Adding a new language support"

We speak of translation, but it's not really a translation, it's basically adding the language support. It's of no use to translate word for word what's in the files. It's really about creating a new language support for the skill. Don't just translate, but add new ways of saying, remove those that are not used in your language, turn utterances around, make it lively. Same goes for the talk files, just use your imagination to make Alice sound natural in your language!

# How to add a new language support

You will need a Github(opens new window) account to translate skills or the system. Once you have your account and are logged in, simply Fork(opens new window) the skill you want to translate. Clone(opens new window) your fork on your computer and do the translation.

Commit your changes every now and then and Push(opens new window) them on your repository. When translated, do not forget to increment the version number in the .installfile. Once everything is done, and you successfully ran the basic verifications, you can create a Pull request(opens new window) which we will review and merge if possible and otherwise inform you of what's still needed.

The sections talk files and dialog templates provide further information about the files that need to be translated.

# Adding a new system language support

If you feel like adding a new system language support, we strongly encourage you to first get in touch with us. It's easy to add a new language support, but requires some Alice knowledge to better grasp the context in which the language strings are used. Again, it's not about translating, it's about adding a new language. Make it feel real, lively, familiar! There are quite a few files to translate, let's list them!

# Basic skills

  • AliceCore
  • ContextSensitive
  • DateDayTimeYear
  • RedQueen
  • Telemetry

Skills can have language files in the following directories:

  • talks
  • dialogTemplate
  • widgets
  • devices

Don't forget to:

  • Add yourself in the maintainers in the install file
  • Add your language code as supported in the install file

# System

  • ProjectAlice/system/manager/LanguageManager/strings.json
  • ProjectAlice/system/manager/TalkManager/talks
  • ProjectAlice/system/manager/WebUIManager/*.json

Once these files are made, please contact us so that we can add the language as supported on the core side!