Skip to content

Latest commit

 

History

History
95 lines (60 loc) · 5.04 KB

LOCALIZATION.md

File metadata and controls

95 lines (60 loc) · 5.04 KB

elimu.ai Localization 🇺🇸🇵🇭🇮🇳

Software Architecture

The elimu.ai software is architected such that a collection of infrastructural and educational Android apps can be re-used across a variety of languages. One webapp can be configured per language for hosting the educational content:

Software Architecture

Currently Supported Languages

A list of the currently supported languages is available at https://github.com/elimu-ai/model/blob/main/src/main/java/ai/elimu/model/enums/Language.java

How to Add Support for a New Language

When adding support for a new language to the elimu.ai platform, there are two types of activities that need to be handled:

  1. Software Engineering: Add support for the new language to the code (webapp & Android apps/games)
  2. Content Creation: Add the educational content for the new language (using the webapp)

Introduction

When adding support for a new language, there are 6 infrastructure components that need to be updated:

Component Description
model Common Java classes shared amongst the webapp and appstore
webapp Web application for uploading and hosting Android apps and educational content
appstore Android Appstore application for downloading Android apps to tablets and installing them
launcher Android application providing a structured path when accessing the educational apps
content-provider Android application which downloads educational content from the webapp's REST API to the device and provides it to other apps
analytics Android application which collects usage activity from the educational apps and uploads it to the webapp's REST API

Update Infrastructure Apps: Step-by-Step Guide

Perform the following steps in order to add a new language:

1. model: Add the Language Code to the List of Supported Languages

Time estimate: 30-60 minutes

2. webapp: Update the Model Library in the Webapp to the Latest Version

Time estimate: 1-2 hours

  • The webapp needs to update its model dependency version to get access to use the newly added Language enum.
  • Adjust the model version in pom.xml by updating the <model.version> attribute (see example).
  • Add Subdomain for the New Language
    • Next, we need to configure a subdomain for the new language, e.g. https://hin.elimu.ai for Hindi.
    • This subdomain will be used when visitors want to navigate the webapp using another content language than the default English. Also, the appstore Android application will be using this subdomain when downloading applications and content for the new language. Similarly, the analytics Android application will be uploading usage data to the same subdomain.
    • To initiate this domain and server configuration, notify us via [email protected] or contact us via Discord.

Update Existing Educational Apps/Games: Step-by-Step Guide

...

Upload New Educational Apps/Games: Step-by-Step Guide

...

Add Educational Content: Step-by-Step Guide

...

Using Website

Using Crowdsourcing App

...


About the elimu.ai Community

elimu ai-tagline