Source is under MIT license. Texts, images and audio files are under CC BY-NC 4.0 license.
This repository is for opening our data files to #opensource community. Our applications copy the data files as needed.
Our data is created and updated in Airtable (Phrases and Categories, login required).
We are providing translations from Ukraine to given languages
| Language | Dictionary | Alphabet |
|---|---|---|
| Ukraine (uk) | ✅ | ✅ |
| Czech (cs) | ✅ | ✅ |
| Slovak (sk) | ✅ | ✅ |
| Polish (pl) | ✅ | ✅ |
| English (en) | 🆘 | 🆘 |
What to add new language? Contact us at pryvit@movapp.cz
We have developed some tools to help us automate boring stuff using nodejs scripts written in Typescript.
At first install all dependencies.
npm install- We need to convert out Typescript code to nodejs Javascript using
ts-nodenpm run buildBuild oncenpm run watchBuild on changes
- We need to ensure same style of code using
npm run lint
- You can set environment variables by creating a
.envfile according to.env.example. - You can also use run configurations (PHPStorm or any other IDE). Set the environment in GUI and do not store the file to the repository.
- Alternatively, you can set environment variables using the command line:
export AIRTABLE_API_KEY=YOUR_SECRET_API_KEY
export AZURE_SUBSCRIPTION_KEY=KEY
export AZURE_REGION=REGION
#export DEBUG=trueFor showing debug logs use DEBUG=true environment (in file or by passing to cli)
npm run build:dictionary
npm run build:alphabet- Go to Actions / Build from AirTable
- Pres
Run workflowon the right side above "workflow runs table" button and selectmainbranch andRun workflow
- If you change the file structure (breaking changes), you must release a new version of
team.json,example:team.vX.json. - If you added new property in
team.jsonyou have to adjust team.schema.json. - If the changes contains only new additions (new name, new section) then we do not need to update the clients so no need of new version
The movapp website and apps have a separate vocabulary section for children (and a memory game). Phrases for these sections are stored the same way as any other phrase category. Use the recSHyEn6N0hAqUBp category id to retrieve the Kid's section phrases.
The idea is to manage stories in central repository that will be automatically distributed to client apps without any dev cost (just reviewing the PR).
- Create new folder in
data/storiesfolder. The name of the folder is a URL slug of the story.- In this folder add all story MP3s named by a language code:
uk.mp3,cs.mp3,pl.mp3and more. - Generate the
metadata.jsonfile, you can usestories_transformer.rbfor now, just open command line and typeruby stories_transformer.rb path_to_web_fileand move the file to this folder and rename it tometadata.json
- In this folder add all story MP3s named by a language code:
- Add your story to the
data/stories/metadata.json - Add new folder into
data/images/appleordata/images/androidfolder the name is the same as the URL slug of the story.- For apple use @1, @2, and @3 images (you can use resizer)
- For Android you have to use
webpfile.