Skip to content

Latest commit

 

History

History
222 lines (166 loc) · 10.2 KB

README.md

File metadata and controls

222 lines (166 loc) · 10.2 KB

Duolingo Solution Viewer

Chrome Web Store Mozilla Add-on

A browser extension providing access to the complete lists of accepted solutions for Duolingo's translation / listening challenges, and restoring the correction of typos for listening challenges.

Table of contents

Download

Features

  • Provides a link to the list of solutions of the current challenge, once you have submitted your answer:

    • By default, the solutions are sorted by their similarity with your answer:

    • But you can also switch to an alphabetical sort:

    • Click on your answer to edit it. The similarity scores of the solutions will be refreshed accordingly:

    • Click on the thumbtack button to pin your reference answer, and easily compare it with all the solutions:

    • Filter the solutions by entering one or more words in the filter input (click on the icons on the left of a filter to refine it):

    • Select a word (or just a part of it) in any solution to quickly add a new filter:

  • Remembers the lists of solutions of each challenge, to also make them available from the corresponding forum discussions:

  • Displays the closest solution when the answer you submitted is incorrect:

  • Outlines typos in answers to listening challenges:

  • Strives to blend seamlessly in Duolingo's UI, and to be compatible with custom themes such as Darklingo++:

Keyboard shortcuts

After having submitted an answer to a challenge, use:

  • s to open the solution window, and Esc to close it,
  • r to open the report window,
  • d to open the forum discussion in a new tab.

When a list of solutions is available, use:

  • f to focus the filter input, and Esc to leave it,
  • / to scroll up / down the list,
  • / to navigate through the pages one by one,
  • Ctrl + / to go directly to the first / last page.

When the filter input is focused:

  • enter a word, then use Enter to add a filter (see the filter shortcuts below),
  • use Backspace to remove the last added filter,
  • .. and suggestions are available:
    • use / to select a suggestion,
    • use Enter to add a filter based on the selected suggestion (shortcuts will be preserved).

Filter shortcuts

For most languages, enter:

  • " word " for solutions that include the exact word,
  • " * example " for solutions that include a word ending with "example",
  • " example * " for solutions that include a word beginning with "example",
  • " * example * " for solutions that include a word containing "example",
  • " - word " for solutions that do not include the exact word (wildcard variants above are also available).

For languages that do not use space-separated words (such as Japanese), enter:

  • " word " for solutions that include the word anywhere,
  • " * example " for solutions ending with "example",
  • " example * " for solutions beginning with "example",
  • " = example " for exact solutions,
  • " - word " for solutions that do not include the word (again, all variants above are available).

Limitations

  • The extension is deeply tied to how the UI components are "named", meaning that significant changes on Duolingo's side could (temporarily) break it. If that happens, you can either:

    • wait for me to fix it,
    • try to fix it yourself, then open a related PR.
  • The lists of solutions are built by flattening the original solution graphs, which are not optimized against redundancies (they actually don't need to be). This can lead to lists of solutions containing lots of very similar sentences.

  • "Fill in the blank" challenges are based on "normal" translation challenges. The lists of solutions provided for them may therefore include sentences that do not match the blanks.

Contributions

Translations

The extension falls back to English when translations for the current UI language are not available.

The currently supported languages are:

Language Thanks to
English
French
German suoxons
Polish hanyu222
Portuguese Marlon Passos
Ukrainian unickq
Russian Rustam Rasimovich

If you wish to contribute a new language, or to improve on existing translations, please update the translations file, then open a PR!

Bug reports and feature requests

If you encounter a bug, or if you have a suggestion regarding a new feature, don't hesitate to post a new issue!


The country flags on this page were taken from this project: https://yammadev.github.io/flag-icons/ (MIT license).

License

MIT, see LICENSE

Duolingo is a registered trademark of Duolingo, Inc. This extension is not affiliated with Duolingo in any way.