Skip to content

pythonbrad/afrim-keyboard

 
 

Repository files navigation

Afrim Keyboard

Afrim IME for Android

License GitHub release F-Droid release Latest build

afrim-android.mp4

In development ⚠️

The project is in development and not ready to use.

About

Afrim Keyboard is a versatile keyboard for Android users who wish to use African languages to type messages, compose emails and generally prefer to use them in addition to English on their phone. You can use this application to type anywhere in your phone that you would normally type in English

Features:

  • 📚 Customizable dictionary
  • 🏠 Easy to use interface
  • 🥎 Adjustable keyboard height for more screen space
  • ⌨️ PC keyboard
  • 🎨 Custom theme colors
  • 📺 Ads-free
  • 😄 Emojis
  • GIFs
  • ☑️ Auto-suggestion / Auto-correction / Auto-completion
  • ☁️ Full immersion mode for non-latin languages. (🚧 Experimental 🚧)

What african languages (and layouts) are supported ?

  • 🇪🇹 Amharic Keyboard - Transliteration
  • 🇨🇲 Clafrica Keyboard - Transliteration
  • 🇪🇹 Geez Keyboard - Transliteration
  • 🇨🇲 Nufi Keyboard (Fe'efe'e) - Transliteration

What is a keyboard layout ?

Afrim keyboard provides multiple "keyboard layouts". This means that you will have different ways to type in your native language. Transliteration allows you to type out words using English characters, but will automatically transform the words to your native language. For example, if you type "Afrim" in English while using Amharic transliteration keyboard, it will transform it to ዐፍሪም correctly.

Downloads

  • Stable Channel
    Get it on F-Droid

  • Canary Channel Download

Getting Started for developer

About

Afrim Keyboard is an android IME based on the Afrim rust library. It is designed to protect the native language of various local dialects of Africa and is a universal phonetic-based input method engine.

Prepare

Android SDK and Android NDK should be correctly installed and configured. If you are new to Android development, please install Android Studio.

Build

Prerequisites for Windows

Symbolic links will be created according to current build configurations, developers need:

  • Enable Developer Mode so that symlinks can be created without administrator privilege.

  • Enable symlink support for git:

    git config --global core.symlinks true

If you cannot or wouldn't like to enable anything, it doesn't matter. Copying will be used instead when error on creating symbolic links.

  1. Clone this project and fetch all submodules:
git clone git@github.com:pythonbrad/afrim-keyboard.git
git submodule update --init --recursive
  1. Debug version without signature:

On Linux or macOS, you may run:

make debug

On Windows, run:

.\gradlew assembleDebug
  1. Release version with signature:

Create keystore.properties file which contains following contents for signing information:

storePassword=myStorePassword
keyPassword=mykeyPassword
keyAlias=myKeyAlias
storeFile=myStoreFileLocation

Then, on Linux or macOS, you may run:

make release

On Windows, run:

.\gradlew assembleRelease

Run make clean on Linux or macOS, or run .\gradlew clean on Windows.

Other issues:

  1. Try make clean
  2. Make sure your repo is up-to-date. If one or more submodules are modified, also make sure they are compatible with the current version.
  3. If the problem still exists(very unlikely), try to make a new clone.
  4. Check if this is there is an issue/PR related to your problem. If yes, try their solutions.
  5. If none of them works, you may make an issue to ask for help. (optional)

Contributing

Your contribution are welcome ~ ! 🎉

Credits

This keyboard is based on Simple keyboard. You can get the original source code from https://github.com/rkkr/simple-keyboard

About

afrim-keyboard/Afrim Input Method Engine for Android

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 98.3%
  • Rust 1.4%
  • Other 0.3%