Home

Awesome

<div align="center"> <a href="https://github.com/scribe-org/Scribe-Desktop"><img src="https://raw.githubusercontent.com/scribe-org/Organization/main/logo/ScribeGitHubOrgBanner.png" width=1024 alt="Scribe Logo"></a> </div>

platforms issues rust license coc weblate mastodon matrix

<!-- <a href='https://microsoft.com/store/apps/windows'><img alt='Get it from Microsoft' src='https://raw.githubusercontent.com/scribe-org/Scribe-Desktop/main/.github/resources/images/microsoft_store_badge.png' height='60px'/></a> <a href='https://apps.apple.com/app/scribe-language-keyboards/id1596613886'><img alt='Available on the App Store' src='https://raw.githubusercontent.com/scribe-org/Scribe-Desktop/main/.github/resources/images/app_store_badge.png' height='60px'/></a> <a href='https://flathub.org/home'><img src='https://raw.githubusercontent.com/scribe-org/Scribe-Desktop/main/.github/resources/images/flathub_badge.png' alt='Download on Flathub' height='60px' /></a> -->

Typing GUI for language learners on Windows, Mac and Linux

Planned port of Scribe-iOS: see Issues

Scribe-Desktop is a language learning interface for Windows, Mac and Linux operating systems. The Scribe GUI provides needed information as the user types and serves as a field for input commands. Features include translation (beta), verb conjugation and word annotation that give users the tools needed to communicate with confidence.

Scribe is fully open-source and does not collect usage data or ask for system access. Feature data is sourced from Wikidata and stored in-app, meaning Scribe is a highly responsive experience that does not require an internet connection.

[!NOTE]
The contributing section has information for those interested, with the articles and presentations in featured by also being good resources for learning more about Scribe.

Also available on iOS, Android (WIP) and for the data processes see Scribe-Data.

Check out Scribe's architecture diagrams for an overview of the organization including our applications, services and processes. It depicts the projects that Scribe is developing as well as the relationships between them and the external systems with which they interact.s

<a id="contents"></a>

Contents

<!-- - [Setup](#setup) - [Base Functionality](#base-functionality) -->

<a id="preview"></a>

Preview

The following is a mockup of the planned interface:

<div align="center"> <br> <a href="https://github.com/scribe-org/Scribe-Desktop/blob/main/.github/resources/images/scribe_desktop_example.png"><img height="350" src="https://raw.githubusercontent.com/scribe-org/Scribe-Desktop/main/.github/resources/images/scribe_desktop_example.png" alt="Scribe-Desktop Preview"></a> <br> </div>

<a id="contributing"></a>

Contributing

<a href="https://matrix.to/#/#scribe_community:matrix.org"><img src="https://raw.githubusercontent.com/scribe-org/Organization/main/resources/images/logos/MatrixLogoGrey.png" height="50" alt="Public Matrix Chat" align="right"></a>

Scribe uses Matrix for communications. You're more than welcome to join us in our public chat rooms to share ideas, ask questions or just say hi :)

Please see the contribution guidelines if you are interested in contributing to Scribe-Desktop. Work that is in progress or could be implemented is tracked in the issues and 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 and we can potentially reassign it to you.

Those interested can further check the -next release- and -priority- labels in the issues for those that are most important, as well as those marked good first issue that are tailored for first time contributors.

Ways to Help

Road Map

The Scribe road map can be followed in the organization's project board 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!

Designs

<a href="https://www.figma.com/file/c8945w2iyoPYVhsqW7vRn6/scribe_public_designs?node-id=405%3A464"><img src="https://raw.githubusercontent.com/scribe-org/Organization/main/resources/images/logos/FigmaLogo.png" height="50" alt="Public Figma Designs" align="right"></a>

The designs for Scribe are made using Figma. Those with interest in contributing can open a design issue to make suggestions! Design related issues are marked with the design label.

Data Edits

[!NOTE]
Please see the Wikidata and Scribe Guide for an overview of Wikidata and how Scribe uses it.

Scribe does not accept direct edits to the grammar JSON files as they are sourced from Wikidata. Edits can be discussed and the queries themselves will be changed and ran before an update. If there is a problem with one of the files, then the fix should be made on Wikidata and not on Scribe. Feel free to let us know that edits have been made by opening a data issue or contacting us in the issues for Scribe-Data and we'll be happy to integrate them!

<a id="environment-setup"></a>

Environment Setup

Those new to coding or wanting to develop their skills are more than welcome to contribute! The general steps to setting up a development environment are:

  1. Fork the Scribe-Desktop repo, clone your fork, and configure the remotes:

[!NOTE]

<details><summary>Consider using SSH</summary> <p>

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:....

GitHub also has their documentation on how to Generate a new SSH key 🔑

</p> </details>
# Clone your fork of the repo into the current directory.
git clone https://github.com/<your-username>/Scribe-Desktop.git
# Navigate to the newly cloned directory.
cd Scribe-Desktop
# Assign the original repo to a remote called "upstream".
git remote add upstream https://github.com/scribe-org/Scribe-Desktop.git
  1. (Optional) Install pre-commit and its hooks to check for and correct common errors in commits:
pip install pre-commit
pre-commit install
# pre-commit run --all-files
  1. Run the following to spin up a local copy of the Scribe-Desktop GUI:
cd scribe
cargo build
cargo run --bin scribe
  1. You may need to give your terminal or IDE permission for your keyboard strokes to be read
    • You may also need to restart the application and then run cargo run --bin scribe again

[!NOTE] Feel free to contact the team in the Desktop room on Matrix if you're having problems getting your environment setup!

<a id="featured-by"></a>

Featured By

<details open><summary><strong>Articles and Presentations on Scribe</strong></summary> <p>

<strong>2024</strong>

<strong>2023</strong>

<strong>2022</strong>

</p> </details> <div align="center"> <br> <a href="https://tech-news.wikimedia.de/en/2022/03/18/lexicographical-data-for-language-learners-the-wikidata-based-app-scribe/"><img height="120"src="https://raw.githubusercontent.com/scribe-org/Organization/main/resources/images/logos/WikimediaDeutschlandLogo.png" alt="Wikimedia Deutschland logo linking to an article on Scribe in the tech news blog."></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://www.mediawiki.org/wiki/New_Developers#Scribe"><img height="120" src="https://raw.githubusercontent.com/scribe-org/Organization/main/resources/images/logos/WikimediaFoundationLogo.png" alt="Wikimedia Foundation logo linking to the MediaWiki new developers page."></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br> </div> <div align="center"> <br> <a href="https://summerofcode.withgoogle.com/"><img height="120" src="https://raw.githubusercontent.com/scribe-org/Organization/main/resources/images/logos/GSoCLogo.png" alt="Google Summer of Code logo linking to its website."></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://www.outreachy.org/"><img height="90" src="https://raw.githubusercontent.com/scribe-org/Organization/main/resources/images/logos/OutreachyLogo.png" alt="Outreachy logo linking to its website."></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br> </div>

Powered By

Contributors

Many thanks to all the Scribe-Desktop contributors! 🚀

<a href="https://github.com/scribe-org/Scribe-Desktop/graphs/contributors"> <img src="https://contrib.rocks/image?repo=scribe-org/Scribe-Desktop" /> </a>

Wikimedia Communities

<div align="center"> <br> <a href="https://www.wikidata.org/"><img height="175" src="https://raw.githubusercontent.com/scribe-org/Organization/main/resources/images/logos/WikidataLogo.png" alt="Wikidata logo"></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://www.wikipedia.org/"><img height="190" src="https://raw.githubusercontent.com/scribe-org/Organization/main/resources/images/logos/WikipediaLogo.png" alt="Wikipedia logo"></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br> </div>