https://github.com/scribe-org/conjugate-ios
iOS verb conjugation app
https://github.com/scribe-org/conjugate-ios
app conjugation dictionary education grammar hacktoberfest ios ios-app ipad iphone language learning mobile open-source swift verb-conjugation verbs wikidata
Last synced: 7 months ago
JSON representation
iOS verb conjugation app
- Host: GitHub
- URL: https://github.com/scribe-org/conjugate-ios
- Owner: scribe-org
- License: gpl-3.0
- Created: 2025-01-04T16:58:52.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-02-09T22:24:10.000Z (8 months ago)
- Last Synced: 2025-02-09T22:27:56.434Z (8 months ago)
- Topics: app, conjugation, dictionary, education, grammar, hacktoberfest, ios, ios-app, ipad, iphone, language, learning, mobile, open-source, swift, verb-conjugation, verbs, wikidata
- Language: Shell
- Homepage:
- Size: 35.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://apps.apple.com/app/scribe-language-keyboards/id1596613886)
[](https://github.com/scribe-org/Conjugate-iOS/releases/)
[](https://github.com/scribe-org/Conjugate-iOS/issues)
[](https://github.com/scribe-org/Conjugate-iOS/blob/main/CONTRIBUTING.md)
[](https://github.com/scribe-org/Conjugate-iOS/blob/main/LICENSE.txt)
[](https://github.com/scribe-org/Conjugate-iOS/blob/main/.github/CODE_OF_CONDUCT.md)
[](https://hosted.weblate.org/projects/scribe/scribe-i18n)
[](https://wikis.world/@scribe)
[](https://matrix.to/#/#scribe_community:matrix.org)## iOS verb conjugation app
**Conjugate-iOS** is a verb conjugation app that leverages [Scribe](https://github.com/scribe-org) language data infrastructure. Packs of verb data can be downloaded into the app and the search functionality works across all languages that have been downloaded.
Conjugate is fully open-source and does not collect usage data or ask for system access. Feature data is sourced from [Wikidata](https://www.wikidata.org/) and stored in-app, meaning Conjugate is a highly responsive experience that does not require an internet connection.
> [!NOTE]\
> The [contributing](#contributing) section has information for those interested, with the articles and presentations in [featured by](#featured-by) also being good resources for learning more about Scribe.Check out Scribe's [architecture diagrams](https://github.com/scribe-org/Organization/blob/main/ARCHITECTURE.md) for an overview of the organization including our applications, services and processes. It depicts the projects that [Scribe](https://github.com/scribe-org) is developing as well as the relationships between them and the external systems with which they interact.
# **Contents**
- [Contributing](#contributing)
- [Environment Setup](#environment-setup)
- [Featured By](#featured-by)# Contributing [`⇧`](#contents)
Scribe uses [Matrix](https://matrix.org/) for communications. You're more than welcome to [join us in our public chat rooms](https://matrix.to/#/#scribe_community:matrix.org) to share ideas, ask questions or just say hi :)
Please also see the [contribution guidelines](https://github.com/scribe-org/Conjugate-iOS/blob/main/CONTRIBUTING.md) if you are interested in contributing to Conjugate-iOS. Work that is in progress or could be implemented is tracked in the [issues](https://github.com/scribe-org/Conjugate-iOS/issues) and [projects](https://github.com/scribe-org/Conjugate-iOS/projects).
> [!NOTE]\
> Just because an issue is assigned on GitHub doesn't mean that the team isn't interested in your contribution! Feel free to write [in the issues](https://github.com/scribe-org/Conjugate-iOS/issues) and we can potentially reassign it to you.Those interested can further check the [`-next release-`](https://github.com/scribe-org/Conjugate-iOS/labels/-next%20release-) and [`-priority-`](https://github.com/scribe-org/Conjugate-iOS/labels/-priority-) labels in the [issues](https://github.com/scribe-org/Conjugate-iOS/issues) for those that are most important, as well as those marked [`good first issue`](https://github.com/scribe-org/Conjugate-iOS/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) that are tailored for first time contributors. For those new to coding or our tech stack, we've collected [links to helpful documentation pages](https://github.com/scribe-org/Conjugate-iOS/blob/main/CONTRIBUTING.md#learning-the-tech) in the [contribution guidelines](https://github.com/scribe-org/Conjugate-iOS/blob/main/CONTRIBUTING.md).
After your first few pull requests organization members would be happy to discuss granting you further rights as a contributor, with a maintainer role then being possible after continued interest in the project. Scribe seeks to be an inclusive and supportive organization. We'd love to have you on the team!
### Ways to Help [`⇧`](#contents)
- [Reporting bugs](https://github.com/scribe-org/Conjugate-iOS/issues/new?assignees=&labels=bug&template=bug_report.yml) as they're found 🐞
- Working on [new features](https://github.com/scribe-org/Conjugate-iOS/issues?q=is%3Aissue+is%3Aopen+label%3Afeature) ✨
- [Localization](https://github.com/scribe-org/Scribe-i18n) for the app and App Store via our [Weblate project](https://hosted.weblate.org/projects/scribe/scribe-i18n) 🌐
- [Documentation](https://github.com/scribe-org/Conjugate-iOS/issues?q=is%3Aissue+is%3Aopen+label%3Adocumentation) for onboarding and project cohesion 📝
- Adding language data to [Scribe-Data](https://github.com/scribe-org/Scribe-Data/issues) via [Wikidata](https://www.wikidata.org/)! 🗃️
- [Sharing Conjugate-iOS](https://github.com/scribe-org/Conjugate-iOS/issues/181) with others! 🚀View Scribe-i18n localization progress
### Road Map [`⇧`](#contents)
The Scribe road map can be followed in the organization's [project board](https://github.com/orgs/scribe-org/projects/1) where we list the most important issues along with their priority, status and an indication of which sub projects they're included in (if applicable).
> [!NOTE]\
> Consider joining our [bi-weekly developer syncs](https://etherpad.wikimedia.org/p/scribe-dev-sync)!### Designs [`⇧`](#contents)
The [designs for Scribe](https://www.figma.com/file/c8945w2iyoPYVhsqW7vRn6/scribe_public_designs?node-id=405%3A464) are made using [Figma](https://www.figma.com). Those with interest in contributing can [open a design issue](https://github.com/scribe-org/Conjugate-iOS/issues/new?assignees=&labels=design&template=design_improvement.yml) to make suggestions! Design related issues are marked with the [`design`](https://github.com/scribe-org/Conjugate-iOS/issues?q=is%3Aopen+is%3Aissue+label%3Adesign) label.
### Data Edits [`⇧`](#contents)
> [!NOTE]\
> Please see the [Wikidata and Scribe Guide](https://github.com/scribe-org/Organization/blob/main/WIKIDATAGUIDE.md) for an overview of [Wikidata](https://www.wikidata.org/) and how Scribe uses it.Scribe does not accept direct edits to the grammar files as they are sourced from [Wikidata](https://www.wikidata.org/). Edits can be discussed and the [Scribe-Data](https://github.com/scribe-org/Scribe-Data) queries will be changed. If there is a problem with one of the files, then the fix should be made on [Wikidata](https://www.wikidata.org/) and not on Scribe. Feel free to let us know that edits have been made by [opening a data issue](https://github.com/scribe-org/Conjugate-iOS/issues/new?assignees=&labels=data&template=data_wikidata.yml) or contacting us in the [issues for Scribe-Data](https://github.com/scribe-org/Scribe-Data/issues) and we'll be happy to integrate them!
# Environment Setup [`⇧`](#contents)
Conjugate-iOS is developed using the [Swift](https://developer.apple.com/swift/) coding language. Those new to Swift or wanting to develop their skills are more than welcome to contribute! The first step on your Swift journey would be to read through the [Swift documentation](https://docs.swift.org/swift-book/index.html). The general steps to setting up a development environment are:
1. Download [Xcode](https://apps.apple.com/us/app/xcode/id497799835?mt=12)
2. [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the [Conjugate-iOS repo](https://github.com/scribe-org/Conjugate-iOS), clone your fork, and configure the remotes:
> [!NOTE]
>
> Consider using SSH
>
>
>
> Alternatively to using HTTPS as in the instructions below, consider SSH to interact with GitHub from the terminal. SSH allows you to connect without a user-pass authentication flow.
>
> To run git commands with SSH, remember then to substitute the HTTPS URL, `https://github.com/...`, with the SSH one, `git@github.com:...`.
>
> - e.g. Cloning now becomes `git clone git@github.com:/Conjugate-iOS.git`
>
> GitHub also has their documentation on how to [Generate a new SSH key](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) 🔑
>
>
>```bash
# Clone your fork of the repo into the current directory.
git clone https://github.com//Conjugate-iOS.git
# Navigate to the newly cloned directory.
cd Conjugate-iOS
# Assign the original repo to a remote called "upstream".
git remote add upstream https://github.com/scribe-org/Conjugate-iOS.git
```- Now, if you run `git remote -v` you should see two remote repositories named:
- `origin` (forked repository)
- `upstream` (Conjugate-iOS repository)3. (Optional) Install [pre-commit](https://pre-commit.com/) and its hooks to check for and correct common errors in commits:
```bash
pip install pre-commit
pre-commit install
# pre-commit run --all-files
```4. Open the Conjugate-iOS directory in Xcode
5. In order to run Conjugate on an emulator:
- Read the [documentation from Apple](https://developer.apple.com/documentation/xcode/running-your-app-in-the-simulator-or-on-a-device) if need be
- In the top bar select Conjugate as the scheme
- Select a device to run the app on
- Press the run button marked `Start the active scheme`
- From here code edits that are made will be reflected in the app each time the active scheme is restarted6. Build the developer documentation by selecting `Product` > `Build Documentation` (^⇧⌘D)
> [!NOTE]
> Feel free to contact the team in the [iOS room on Matrix](https://matrix.to/#/#ScribeiOS:matrix.org) if you're having problems getting your environment setup!# Featured By [`⇧`](#contents)
Articles and Presentations on Scribe
2024
- October: [Blog post on Medium](https://medium.com/@arpita151103/scribe-an-open-source-solution-for-language-learning-and-data-accessibility-092dab026fd6) discussing the [Scribe-Data](https://github.com/scribe-org/Scribe-Data) development process, community and features
- October: [Blog post on medium](https://medium.com/@mhmohona/ins-and-outs-of-scribe-data-cli-bd51202aa7c6) describing the main features of [Scribe-Data](https://github.com/scribe-org/Scribe-Data)
- September: [Final Google Summer of Code report](https://medium.com/@mhmohona/the-final-stretch-gsoc-journey-with-scribe-data-1740084c958d) on the creation of the [Scribe-Data](https://github.com/scribe-org/Scribe-Data) CLI
- August: [Final Google Summer of Code report](https://jagmarcel.hashnode.dev/gsoc-2024-final-report) on the creation of Scribe's cross-language translation functionality
- July: [Blog post on Medium](https://medium.com/@mhmohona/halfway-there-my-gsoc-adventure-with-scribe-data-cli-2ffe6d727ecb) about the progress on creating the [Scribe-Data](https://github.com/scribe-org/Scribe-Data) CLI
- July: [Blog post on Hashnode](https://jagmarcel.hashnode.dev/gsoc-2024-midterm-report) providing an midterm report on the localization and translation expansion for [Conjugate-iOS](https://github.com/scribe-org/Conjugate-iOS)
- July: [Blog post on Hashnode](https://jagmarcel.hashnode.dev/my-first-experiences-with-gsoc) about the initial steps towards the localization of [Conjugate-iOS](https://github.com/scribe-org/Conjugate-iOS)
- June: [Blog post on Medium](https://medium.com/@mhmohona/first-month-as-a-gsoc-intern-building-scribe-data-cli-d0c12c9e8371) about the planned [Scribe-Data](https://github.com/scribe-org/Scribe-Data) CLI
- April: [Blog post on Medium](https://medium.com/@mhmohona/scribe-data-a-guide-to-open-source-language-data-a801c59db4c9) about [Scribe-Data](https://github.com/scribe-org/Scribe-Data) and its functionalities
- February: [Presentation slides](https://docs.google.com/presentation/d/1lMhYiQx1R99SVGhbikUGjOVaFgPPASvbzM2Bsu3NXSg/edit?usp=sharing) for Scribe's participation at the [Wikimedia Tech Safari Program](https://www.mediawiki.org/wiki/Wikimedia_Tech_Safari_Program)2023
- August: [Conjugate-iOS final submission report for Google Summer of Code 2023](https://saurabhjamadagni.hashnode.dev/gsoc-23-final-work-submission)
- June: [Conjugate-iOS development blog post on Nested UITableViews & Apple's built-in ViewControllers in app menu](https://saurabhjamadagni.hashnode.dev/nested-uitableviews-apples-built-in-viewcontrollers) for [GSoC '23](https://www.mediawiki.org/wiki/Google_Summer_of_Code/2023#Accepted_projects:~:text=links%3A%20Phabricator%20issue-,3.%20Adding%20a%20Menu%20and%20Keyboards%20to%20Scribe%2DiOS,-%5Bedit%5D)
- March: [Presentation slides](https://docs.google.com/presentation/d/1W4ZkGi9UDDiTxM_silEij0gTE8YEubluHxe78xoqEP0/edit?usp=sharing) for a talk at [Berlin Hack and Tell](https://bhnt.c-base.org/) ([Hack of the month winner 🏆](https://bhnt.c-base.org/2023-03-28-no87-moore-hacks))2022
- August: [Presentation slides](https://docs.google.com/presentation/d/12WNSt5xgNIAmSxPfvjno9-sBMGlvxG_xSaAxmHQDRNQ/edit?usp=sharing) for a session at the [2022 Wikimania Hackathon](https://wikimania.wikimedia.org/wiki/2022:Hackathon)
- July: [Presentation slides](https://docs.google.com/presentation/d/10Ai0-b8XUj5u9Hw4UgBtB7ufiPhvfFrb1vEUEyXYr5w/edit?usp=sharing) for a talk at [CocoaHeads Berlin](https://www.meetup.com/cocoaheads-berlin/)
- July: [Video on Scribe](https://www.youtube.com/watch?v=4GpFN0gGmy4&list=PL66MRMNlLyR7p9wsYVfuqJOjKZpbuwp8U&index=6) for [Wikimedia Celtic Knot 2022](https://meta.wikimedia.org/wiki/Celtic_Knot_Conference_2022)
- June: [Presentation slides](https://docs.google.com/presentation/d/1K2lj8PPgdx12I-xuhm--CBLrGm-Cz50NJmbp96zpGrk/edit?usp=sharing) for a talk with the [LD4 Wikidata Affinity Group](https://www.wikidata.org/wiki/Wikidata:WikiProject_LD4_Wikidata_Affinity_Group)
- June: [Scribe](https://github.com/scribe-org) featured for new developers on [MediaWiki](https://www.mediawiki.org/wiki/New_Developers#Scribe)
- May: [Presentation slides](https://docs.google.com/presentation/d/1Cu3VwQ3lJUp5W84YDe0AFYS-6zfBxKsm0MI-OMl_IzY/edit?usp=sharing) for [Wikimedia Hackathon 2022](https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2022)
- March: [Blog post](https://tech-news.wikimedia.de/en/2022/03/18/lexicographical-data-for-language-learners-the-wikidata-based-app-scribe/) on [Conjugate-iOS](https://github.com/scribe-org/Conjugate-iOS) for [Wikimedia Tech News](https://tech-news.wikimedia.de/en/homepage/) ([DE](https://tech-news.wikimedia.de/2022/03/18/sprachenlernen-mit-lexikografische-daten-die-wikidata-basierte-app-scribe/) / [Tweet](https://twitter.com/wikidata/status/1507335538596106257?s=20&t=YGRGamftI-5B_VwQ_bFRhA))
- March: [Presentation slides](https://docs.google.com/presentation/d/16ld_rCbwJCiAdRrfhF-Fq9Wm_ciHCbk_HCzGQs6TB1Q/edit?usp=sharing) for [Wikidata Data Reuse Days 2022](https://diff.wikimedia.org/event/wikidata-data-reuse-days-2022/)# Powered By [`⇧`](#contents)
### Contributors
Many thanks to all the [Conjugate-iOS contributors](https://github.com/scribe-org/Conjugate-iOS/graphs/contributors)! 🚀
### Code and Dependencies
The Conjugate team would like to thank all the great software that made Conjugate-iOS' development possible 💙
- [GRDB](https://github.com/groue/GRDB.swift) by [groue](https://github.com/groue) ([License](https://github.com/groue/GRDB.swift/blob/master/LICENSE))
- [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) by [marcosgriselli](https://github.com/marcosgriselli) ([License](https://github.com/marcosgriselli/SwipeableTabBarController/blob/master/LICENSE))
- [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) by [SwiftyJSON](https://github.com/SwiftyJSON) ([License](https://github.com/SwiftyJSON/SwiftyJSON/blob/master/LICENSE))### Wikimedia Communities