Dicio assistant
Dicio is a free and open source (voice) assistant running on Android. It supports many different skills and input/output methods, and it provides both speech and graphical feedback to a question. It has multilanguage support, and is currently available in these languages: English (en) and Italian (it). Open to contributions :-D
Skills
Currently Dicio answers questions about:
- search: looks up information on Qwant or DuckDuckGo - Search for Dicio
- weather: collects weather information from OpenWeatherMap - What's the weather like?
- lyrics: shows Genius lyrics for songs - What's the song that goes we will we will rock you?
- open: opens an app on your device - Open NewPipe
Contributing
Dicio's code is not only here! The repository with the compiler for sentences language files is at dicio-sentences-compiler and the repository which takes care of input matching and provides component (i.e. skill) interfaces is at dicio-assistance-component
Translating
If you want to translate Dicio to a new language you have to take these manual steps. In the future a custom translation system will hopefully be used.
- Translate the strings used inside the app via Android Studio's translation editor. To do this open the project in Android Studio, on the left panel open
app -> res -> values -> strings -> strings.xmland on the notification about the translation editor at the top of the file content press onOpen editor. Then press on theAdd localebutton (the icon is a globe with a plus) on the top-left of the file content and start translating. - Translate the sentences used by Dicio to identify a user's request and to feed it to the correct skill. To do this open the repository root and navigate to
app/src/main/sentences/. Copy-paste theenfolder (i.e. the one containing English translations) and call the new folder with the 2- or 3-letter name of your language (in particular, anyISO-639-compliant language ID is supported). Then open the newly created folder: inside there should be some files with the.dslfextension and in English language. Open each one of them and translate the English content; feel free to add/remove sentences if their translation does not fit into your language and remember those sentences need to identify as better as possible what the user said. Do NOT edit the name of the copied files or the first line in them (i.e. theID: SPECIFICITYline, likeweather: high): they should remain English. To learn about the Dicio sentences language syntax, please refer to the documentation and the example indicio-sentences-compiler

