{"id":13740695,"url":"https://github.com/divvun/giellakbd-android","last_synced_at":"2025-07-16T04:07:03.374Z","repository":{"id":21470636,"uuid":"24789155","full_name":"divvun/giellakbd-android","owner":"divvun","description":"A fork of LatinIME (by Google for Android), targeting marginalised languages that also deserve first-class status on mobile operating systems.","archived":false,"fork":false,"pushed_at":"2025-03-07T00:00:53.000Z","size":16203,"stargazers_count":12,"open_issues_count":17,"forks_count":6,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-05-08T20:43:49.380Z","etag":null,"topics":["android","android-app","ime","java","keyboard","keyboard-layout","minority-language","natural-language"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/divvun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-10-04T12:50:09.000Z","updated_at":"2025-03-07T00:00:57.000Z","dependencies_parsed_at":"2022-08-08T11:30:15.559Z","dependency_job_id":"fc85cf8f-9bba-4ad0-b333-8da5454ffb4c","html_url":"https://github.com/divvun/giellakbd-android","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/divvun/giellakbd-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divvun%2Fgiellakbd-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divvun%2Fgiellakbd-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divvun%2Fgiellakbd-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divvun%2Fgiellakbd-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/divvun","download_url":"https://codeload.github.com/divvun/giellakbd-android/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divvun%2Fgiellakbd-android/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265480764,"owners_count":23773781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-app","ime","java","keyboard","keyboard-layout","minority-language","natural-language"],"created_at":"2024-08-03T04:00:51.331Z","updated_at":"2025-07-16T04:07:03.318Z","avatar_url":"https://github.com/divvun.png","language":"Java","funding_links":[],"categories":["Software"],"sub_categories":["Utilities"],"readme":"# giellakbd-android\n\n\nA fork of LatinIME (by Google for Android), targeting marginalised languages that also deserve first-class status on mobile operating systems.\n\nNote. This project is the place where all the code is kept. It also has som basic configuration, but crucially - you can't open this project in Android Studio and run it (yes, you can. In a way, but it's no good. Look. Stop interrupting me and pay attention).\n\n## Backgound\n\nOn one hand, you have all the linguists and other related folks at UiT working on getting spellers and suggestions and reasonable keyboard layouts. They work in one repo per language.\n\nOn the other hand you have the android app that's supposed to be one single app that ships many languages. \n\nThe linguists don't only make the android app, they make ios, mac, windows etc. They shouldn't have to worry about android stores etc. To facilitate this, they create a yaml layout such as [this](https://github.com/giellalt/keyboard-sms/blob/main/sms.kbdgen/layouts/sms.yaml)\n\nIf you wanna build an android app though, that won't help you. You need layout xml:s. Introducing - [kbdgen](https://github.com/divvun/kbdgen). Kbdgen downloads layout files. It does it by cloning this repo and then meta-programming on some layouts and xmls. \n\nTo compile the problem slightly, we don't really want to distribute one keyboard per language. Hence, we combine multiple languages per keyboard. There are two repos for this. https://github.com/divvun/divvun-dev-keyboard and https://github.com/divvun/divvun-keyboard . Right? Right. \n\n\n## Building\n\nYou're gonna need [kbdgen](https://github.com/divvun/kbdgen). You can download it from pahkat. Technically.\n\n```\n$ wget https://pahkat.uit.no/devtools/download/kbdgen\\?channel\\=nightly\\\u0026platform\\=macos\n```\n\n\nThe following will download divvun-dev-keyboard and create you a runnable android project. \n\n```\ncd source/divvun\ngit clone git@github.com:divvun/kbdgen.git\ngit clone git@github.com:divvun/divvun-dev-keyboard.git \ncd kbdgen\ncargo run -- fetch -b /Users/srdkvr/source/divvun/divvun-dev-keyboard/divvun-dev.kbdgen #fetches deps since divvun-dev-keyboard is shallow\ncargo run -- target --bundle-path /Users/srdkvr/source/divvun/divvun-dev-keyboard/divvun-dev.kbdgen --output-path ~/source/divvun/android_keyboard android build\n```\n\nYou might need\n```bash\n$ brew install imagemagick@6\n$ echo 'export PATH=\"/opt/homebrew/opt/imagemagick@6/bin:$PATH\"' \u003e\u003e ~/.zshrc\n```\n\nIf you got this right, you can open `~/source/divvun/android_keyboard` in Android Studio and work on your project. If you make any code-changes, make sure to upload them in this repo and this repo alone. Don't upload all the files kbdgen put in this directory for you. \n\n\n## License\n\nApache 2 license. See LICENSE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivvun%2Fgiellakbd-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdivvun%2Fgiellakbd-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivvun%2Fgiellakbd-android/lists"}