=== Brief summary ===
The [Scribe](https://github.com/scribe-org) community uses Wikimedia based data to create software for language learners. The main user facing application that the community makes is [Scribe-iOS](https://github.com/scribe-org/Scribe-iOS) – a collection of keyboards for second language learners that can be used in any app to translate words, conjugate verbs and much more! The community is now also working on [Scribe-Android](https://github.com/scribe-org/Scribe-Android) and [Scribe-Desktop](https://github.com/scribe-org/Scribe-Desktop).
The processes by which the Scribe community derives Wikimedia data are found in the project [Scribe-Data](https://github.com/scribe-org/Scribe-Data), which till now have been [Wikidata](https://wikidata.org/) [lexicographical data](https://www.wikidata.org/wiki/Wikidata:Lexicographical_data) and [Wikipedia](https://www.wikipedia.org/) texts based. Scribe-Data is a [Python](https://www.python.org/) based command line interface, with usage examples including:
- Getting all nouns, their genders and their plurals for a given language from Wikidata
- Getting all verbs and needed conjugations from Wikidata
- Generating autosuggestions for Scribe keyboards via Wikipedia dumps
This project will focus on adding [Wiktionary](https://www.wiktionary.org/) based functionality to Scribe-Data, which will then be used to add functionality to downstream Scribe applications as well as others making use of Scribe-Data. Specifically this project will add the following commands to the Scribe-Data command line interface:
- An improved version of the translate functionality that will parse Wiktionary for all translations for any language
- Data outputs should be formatted both for Scribe-Data end users and Scribe-iOS/Android (we'll explain)
- Similar functionality for deriving synonyms of words
The above processes will need to have unit tests written for them to make sure that future changes to the code to not cause breaking changes. Efficiency of parsing Wiktionary dumps or other Wiktionary based data sources will also be key to the success of this project. The tasks above are the confirmed goals for this project, with aspirational goals being set by mentors and the mentee once the program starts. Further considerations also include making sure that Scribe-Data's data notices are updated to assure that Wiktionary's license is respected.
=== Skills required ===
- Skills in the [Python](https://www.python.org/)
- Prior experience working with Wikimedia information would be a plus
- Project tag: #affects-scribe-org
=== Possible mentor(s) ===
- @AndrewTavis
- @wkyoshida
- @Henrikt93
=== Microtasks ===
- Issues for [Scribe-Data](https://github.com/scribe-org/Scribe-Data/issues)
- We'll be making more issues in the coming weeks to add more languages to the CLI's functionality
- Any issues for [other Scribe projects](https://github.com/orgs/scribe-org/repositories)
- Note that working on Scribe-iOS requires coding on macOS so that you'll have access to [Xcode](https://developer.apple.com/xcode/)
Please look for the `good first issue` or `help wanted` tag in all projects! We'll be happy to help you onboard :)