{"id":13740707,"url":"https://github.com/divvun/giellakbd-ios","last_synced_at":"2025-07-16T04:06:47.570Z","repository":{"id":23199347,"uuid":"89442098","full_name":"divvun/giellakbd-ios","owner":"divvun","description":"Open source reimplementation of iOS keyboard with localisation support","archived":false,"fork":false,"pushed_at":"2025-06-17T16:32:32.000Z","size":3541,"stargazers_count":38,"open_issues_count":36,"forks_count":5,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-06-17T17:41:48.007Z","etag":null,"topics":["ios","keyboard","localisation","localization"],"latest_commit_sha":null,"homepage":"","language":"Swift","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-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"Support/Strings/en.yaml","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-04-26T05:36:54.000Z","updated_at":"2025-06-17T16:32:36.000Z","dependencies_parsed_at":"2023-09-27T18:45:44.878Z","dependency_job_id":"c4ebb569-98c0-4657-b3fd-808e5dedc536","html_url":"https://github.com/divvun/giellakbd-ios","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/divvun/giellakbd-ios","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divvun%2Fgiellakbd-ios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divvun%2Fgiellakbd-ios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divvun%2Fgiellakbd-ios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divvun%2Fgiellakbd-ios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/divvun","download_url":"https://codeload.github.com/divvun/giellakbd-ios/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divvun%2Fgiellakbd-ios/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265480751,"owners_count":23773780,"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":["ios","keyboard","localisation","localization"],"created_at":"2024-08-03T04:00:51.432Z","updated_at":"2025-07-16T04:06:47.511Z","avatar_url":"https://github.com/divvun.png","language":"Swift","funding_links":[],"categories":["Software"],"sub_categories":["Utilities"],"readme":"# giellakbd-ios\n\nAn open source reimplementation of Apple's native iOS keyboard with a specific focus on support for localised keyboards and support for minority and indigenous languages.\n\n\n## Building \u0026 Running\n\n##### Note: the first build will take a while.\n\n1. [Install Cocoapods](https://cocoapods.org/)\n2. `pod install`. This may fail. If it does - see rexml solution below\n3. Open `GiellaKeyboard.xcworkspace`\n4. From the target menu in Xcode, select `HostingApp`\n5. Run\n6. Follow the instructions to enable the keyboard on your device/simulator\n7. After enabling, open an app that uses the keyboard, such as Messages, and tap a text field to bring up the keyboard\n8. Tap and hold the globe button in the bottom left corner of the keyboard and select \"Template Keyboard\"\n9. Done. You should now see the Divvun nordsamisk keyboard\n\n### Building Locally in Xcode 16.1\n\n1. Apply all the changes found in [this commit](https://github.com/divvun/giellakbd-ios/commit/a9d0112d2b710130e82c17801b0b5315e8cae0d2#diff-53c0193e8eb071b0f176311374cb19a7ce0dce7cdfe1a11cd986989ca835ce63L1) (remove Sentry, typealias SQLite.Expression)\n2. Remove the `-framework` and `\"Sentry\"` flags from the Other Linker Flags section in the project build settings\n\nNow it should build. You may need to run `pod install` as well. Remember not to commit these changes. An actual fix will need to happen when the build system's version of Xcode is upgraded.\n\n### rexml\n\nMacos ships with a \"broken\" version of rexml.\n\nIf you error is \"REXML::ParseException - #\u003cTypeError: wrong argument type String (expected Regexp)\u003e\", you can try:\n\n```bash\nsudo gem install rexml -v 3.2.6\nsudo gem uninstall rexml -v 3.2.9\n```\n\n\n## Sentry\n\nTo enable Sentry, add a `SentryDSN` key to the `HostingApp/Supporting Files/Info.plist` file.\n\n### Updating localisations\n\n```\nnpm i -g technocreatives/i18n-eller\ni18n-eller generate swift Support/Strings/en.yaml Support/Strings/*.yaml -o HostingApp\n```\n\nIf you add a new locale, please open an issue to have it added to the language list inside the app.\n\n## Localization\n\nLocalization is automated via [Mozilla Pontoon](https://pontoon.mozilla.org/) and GitHub Actions. Translators use Pontoon to localize the strings in the app, which are synced automatically to the [giellakbd-ios-l10n repo](https://github.com/divvun/giellakbd-ios-l10n). A GitHub Action periodically imports new strings found in the giellakbd-ios-l10n into the Xcode project in this repo using [divvun/LocalizationTools](https://github.com/divvun/LocalizationTools). Likewise, a separate GitHub Action in the giellakbd-ios-l10n repo preiodically checks for any new strings added by a developer in the Xcode project and imports them into giellakbd-ios-l10n so they show up in Pontoon.\n\n## Keyboard layouts\n\nThis repo does not include any keyboard layouts. It is intended to be used as a template for [kbdgen](https://github.com/divvun/kbdgen), which consumes among other things this codebase, as well as layouts as listed in e.g. [divvun-keyboard](https://github.com/divvun/divvun-keyboard) to produce the actual keyboard app. The keyboard layout specifications are found in the [GiellaLT](https://github.com/giellalt?q=keyboard-\u0026type=\u0026language=) organisation.\n\n## Deploying\n\nBuilds can be deployed using the [divvun-keyboard repo](https://github.com/divvun/divvun-keyboard)\n\n## License\n\n`giellakbd-ios` is licensed under either of\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivvun%2Fgiellakbd-ios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdivvun%2Fgiellakbd-ios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivvun%2Fgiellakbd-ios/lists"}