Coder Social home page Coder Social logo

troggy / anki-leo Goto Github PK

View Code? Open in Web Editor NEW
39.0 39.0 8.0 4.59 MB

Chrome extension to export dictionary from LinguaLeo to CSV/Anki

Home Page: http://troggy.github.io/anki-leo/

License: ISC License

JavaScript 96.28% CSS 3.72%
anki chrome-extension lingualeo

anki-leo's People

Contributors

bariskisir avatar daviddetorres avatar dependabot[bot] avatar greenkeeper[bot] avatar lagunovsky avatar troggy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

anki-leo's Issues

Thanks!

I'm totally happy with the plugin!

Learned more than 1000 English words so far...
image

The only issue I've found is that "donation" button allows only 100 RUB, I had to change the code from browser to send more :) :)
image

Дублирование слов

Выходной файл имеет дублирования. Большинство слов просто отсутствует. Пишет, что экспорт на 3000 слов, а на деле в 10 раз меньше.

Видео: https://youtu.be/hbaCBGVCCz8

Correct export for media

As per anki documentation, you should not use [sound] and [img] elements in card templates. This is unsupported behaviour, and while it works in Linux and (probably) Windows, it is definitely not working in MacOS — sounds are not playing, images are not visible.

Correct solution: both cover image and sound link should be enclosed in respective tags directly in a card fields. I've already verified that this fixes the problem on MacOS.

  • update the code and make a new release
  • update documentation (card template change)
  • notify existing users that they need to change card layout

Протестировал версию 3.3.5

Попробовал выгрузить все слова (3291 в словаре), выгрузилось 2541, попробвал выбрать все и выгрузить выбранные, но тоже выгрузилось 2541 слово (и заметил, выбранные выгружаются помедленнее). Раньше при выгрузке процесс отображался как итерация по 300 слов, а сейчас проходит в данной последовательности: 295, 595, 895, 1195, 1495, 1795, 1808, 2108, 2408, 2541. В остальном вроде всё нормально.

Плагин перестал работать. Похоже сайт Leo обновился.

Спасибо за ваше прекрасное расширение.

К сожалению сегодня плагин перестал работать. Перестала отображаться кнопка экспорта.
Скрин:
http://prntscr.com/ltlbhe

Похоже что проблема в том, что сайт обновился.

Используется плагин 2.5.4
Chrome 70.0.3538.110 (Официальная сборка), (64 бит)

Stop working

2 weeks it worked nice but now I can not find the download button on the Lingualeo dictionary page.
So what I have got in the console when I launched a page with the extension:
image
The first error says: Failed to load resource: the server responded with a status of 400 (Bad Request) "{"Type":"NotAllowed","Message":"[NotAllowed] Method not allowed"}"

React on lingualeo filters

Build-in word filtering like "learning/learned/new" and "phrases/words/sentences" should be also used while exporting

Порядок полей -- "метки" удобнее сделать последними.

Сейчас последними являются cloze-карточки, которые используются не всеми. Более того, Anki по умолчанию считает, что метки размещены именно в последнем поле, что может вызвать у кого-то замешательство, если он вручную не поменяет интерпретацию полей. Суммируя, сколько бы полей не было, теги -- в конце. Благодарю за нужное дело, юзаю во всю.

Добавить reverse-карточки

Было бы хорошо, если бы был тип записей "Lingualeo words basic+reversed". Можно добавить возможность при вызгрузке с Lingualeo выбрать тип записей для карточек.
Сейчас модификация существующего шаблона происходит так:
https://www.reddit.com/r/Anki/comments/csbn82/how_to_add_reverse_option_to_existing_note_type/exed8t7?utm_source=share&utm_medium=web2x&context=3
А вот пример такой карточки:
image

Site redesign

1. Main page

  • Language switch: Russian (default), Portuguese, Spanish, Turkish, English (fallback for everyone else). 9% of the visits are from China (!?)
  • Donate / Support
  • TOC
  • What it is
  • How to install
  • How to use
  • How to import to Anki
  • Troubleshooting
    • Garbled Russian text in CSV. Solution: re-open in UTF-8 encoding
    • Anything else? Contact form / Telegram

2. "Thanks" page (for those who donated)

Уникальный стиль/класс/id для каждого перевода.

Было бы славно, если бы при парсинге каждому из переводов присваивался уникальный стиль/класс/id, используя html-разметку. Так, это можно было бы использовать потом при должном форматировании карточек. Например, каждый из переводов выделить новым цветом, чтобы разграничть смыслы между собой или расположить их в удобной для отображения форме, используя CSS. Мелочь, но помогла бы радикально.

Cloze-контекстные карточки: известная беда.

В общем, раз уж запостил целый ряд предложений, повешу и это. Как минимум, наличие проблемы таким образом не забудется.

В нынешнем варианте поле cloze/context содержит в себе {{c1::word}} только в том случае, если оно посимвольно повторяет первое поле с английским словом. В остальных случаях, если форма другая, поле заполняется контекстом без пропусков. Очень хочется использовать эту функцию ввиду её уникальности и отсутствия на львином сервисе, но пока проскальзывают карточки без пропусков, но будто бы сразу с ответами, это невозможно использовать для обучения. Если будет на это время, предлагаю решить это пусть даже самым простым и грубым образом -- проверять эти карточки на наличие слов из первого поля, и только потом обрабатывать их, добавляя {{c1::_}}. Таким образом, там где это условие не выполнено, эти поля просто не будут использоваться в карточках, не создавая тем самым конфузов. Более трудоемкий вариант, как я уже говорил, с чем-то вроде выявления нужного слова при достижении порога посимвольного совпадения с обрезкой по пробелам, но это и дольше, и, разумеется, не будет работать с неправильными глаголами (хотя, на мой взгляд, черт с ними).

Экспорт словаря для тренировок «Cloze Deletion».

Собственно, открываю отдельный тред по прежде упомянутому поводу – по поводу полезности запиливания специфического экспорта под тренировки в духе «конструктор слов», но в Anki. Вот здесь на русском языке можно подробнее узнать о том, как такие карточки оформляются. В общем и целом, нужно чтобы в настройке типа карточек были прописаны такие вещи как {{cloze::Word}} и {{type:cloze:Word}}. В результате можно получить на выходе нечто (превью), что заменит одну из наименее неоправданных – прошу простить за двойное отрицание – тренировок на веб-сервисе.

К сожалению, уровень моего знакомства с Anki позволяет предположить, что одних только настроек карточек типа «пропуски» не хватает, чтобы использовать в данном ключе уже загруженные слова. По крайней мере, мне удавалось решить вопрос только засчет ручной замены первого поля с SomeWord на {{c1::SomeWord}}, потому как именно тегом {{сN::__}} обозначается та часть карточки, которую нужно скрыть, иначе она не будет работать.

Саджест в следующем: насколько я понимаю, проблема должна катастрофически легко решаться засчет добавления нового поля в CSV, которое будет заключать в себя оригинальное слово, заключенное в фигурные скобки c1. Если кому-то это нужно, он просто использует это поле в этом контексте, а если нет – его можно игнорировать при импорте. Если вместо добавления нового поля сделать замену первого, то это породит массу дубликатов.

В том виде, в котором я себе это представляю, оно реализуется быстрее, чем написание этого репорта.

Новое поле -- cloze-карточки вариантов переводов.

Было бы неплохо иметь такое поле, которое бы содержала в себе варианты переводов с cloze-нотациями. Зачем: допустим, у слова пять переводов. Это нормально при углубленном изучении обращать внимание на самые разнообразные значения слов. Особенно это может быть актуальным для фразовых глаголов, у которых этих значений масса. Что нужно: {{с1::перевод_первый}}, {{с2::перевод_второй}} и так далее. Что получится: если у слова пять переводов, Anki создаст пять разных карточек к такой записи. Таким образом, на каждой из карточек будут видны все варианты переводов кроме одного. Мне это видится чертовски удобным и, надо сказать, это ещё одна функция, которой нет в оригинальном сервисе.

И, да. Если перевод всего один, разумно было бы оставить поле пустым. Иначе это будет ещё один, правда, слегка отличающийся внешне вариант самой обычной карточки слово-перевод. Само собой, кому это не нужно, можно не импортировать. Если импортировать, но не создавать специальный тип карточки к колоде, то тоже мешать не будет.

An in-range update of standard is breaking the build 🚨


☝️ Important announcement: Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! Find out how to migrate to Snyk and more at greenkeeper.io


The devDependency standard was updated from 14.3.1 to 14.3.2.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

standard is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).
  • Travis CI - Branch: The build failed.

Commits

The new version differs by 26 commits.

  • 558df00 14.3.2
  • a8e318e Add changelog entry for 14.3.2
  • 133a4c9 Merge pull request #1492 from standard/eslint68
  • a2df23b Upgrade ESLint to 6.8.x
  • fb7e2a3 remove sponsor
  • ecda198 Update README.md
  • 4bc1671 Update README.md
  • e514626 add sponsor
  • 2b86c68 spacing
  • a702d2e Reposition CodeFund sponsorship link (#1446)
  • a28b5d0 Reposition CodeFund sponsorship link
  • 0f86fb9 Merge pull request #1445 from ZY2071/master
  • b4726d7 perf: Change the examples for rule 'No octal literals' .
  • 4bdaa2f perf: make the rule 'No octal literals' more specific.
  • f5d758e Update README-ja.md for d901c54 (#1435)

There are 26 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Для удобства и читабельности: новый перевод с новой строки.

Собственно, всё в заголовке. Когда несколько переводов следуют друг за другом водной строке, восприятие перестает быть последовательным, а запоминать всегда проще частями.

Для владельцев маленьких дисплеев, вероятно, потребовалась бы возможность выбора, т.е., опять же, флажок переключения.

Парсинг сторонних переводчиков на предмет переводов и контекста.

Наверняка, это будет уже совсем другой уровень сложности и качества сего расширения, однако же просто поясню суть проблемы, которая, наверняка, есть не только у меня. Состоит из двух частей:

  1. Многие из слов на сервисе переведены весьма однобоко и требуют ручных коррекций. Коррекции, в свою очередь, весьма рутинны. Зашел на сайт качественного переводчика, прочел, перенес руками.

  2. Также есть масса слов, к которым по умолчанию не указан контекст. Опять-таки, для лучшего понимания употребления слова контекст желательно держать при себе. Снова заходим на сторонний сервис, переносим варианты употребления.

Всё это отнимает ну просто прорву времени. Было бы чертовски замечательно, если бы хотя бы частично это автоматизировалось. Если в списке переводов одно и то же слово значится несколько раз, то его можно делать жирным или подчеркивать -- так было бы наглядно и понятно, какое значение слова наиболее вероятно.

Option to export only words from specified word set

Original request:

Я слова добавляю в свои наборы (Слова и фразы -> Создать набор), когда прорабатываю какой-либо текст.

Нельзя ли сделать возможность выгрузки не всех слов, а только заданного набора слов?

Реквест: считывание таблиц с сервиса duolingo.

Да, я понимаю, это выходит за рамки anki-leo, но проекты очень похожи (примеры: 1, 2). На гитхабе есть нечто похожее, но оно не считывает аудио, не импортирует пол и, насколько я понял, не берет из сервиса имеющиеся примеры.

Support LinguaLeo API 1.0.1

Today or yesterday Lingualeo changed the API they use. Old one still partially works, but paging is broken now leading to issues like #39.

Allow to download shared word sets

Добавьте пожалуйста возможность скачивания списка слов не только из своего словаря, но также из рекомендуемых наборов слов с данного сайта.

Неправильно стали выгружаться все слова.

На данный момент выгружается неправильно, сейчас выгрузил весь свой словарь, около 3000 слов, проверил csv файл, в нём каждое слово дублируется по 11 раз. Такое чувство что выгрузились 300 слов, каждое слово по 11 раз.
Попробовал выделить все слова (с помощью галочки выбрать все слова) и выгрузить выбранные, но выгрузились только те которые отображены на экране (28 слов), попробовал проскролить страницу вниз чтобы подгрузились и отобразились ещё слова на экране (около 100), нажал выгрузить выделенные (все слова в моём словаре), выгрузились только 100 отображенных на экране.

Рандомайзер для озвучивания слов.

Чтобы сделать изучение слов более разнообразным, можно прикрутить генератор случайной озвучки для женского и мужских вариантов британского и английского произношения. К частью, ссылки в грандиозных коррекциях нуждаться не будут. Все четыре варианта:

picturesque:

http://audiocdn.lingualeo.com/v2/**_0_**/30571-631152008.mp3
http://audiocdn.lingualeo.com/v2/**_1_**/30571-631152008.mp3
http://audiocdn.lingualeo.com/v2/**_2_**/30571-631152008.mp3
http://audiocdn.lingualeo.com/v2/**_3_**/30571-631152008.mp3

В сплывающем меню можно прикрутить галочки включения или отключения конкретных вариаций. Опять-таки, встроенной в сервис фичи такого образца, увы, нет. При запиливании всего упомянутого за последние пол часа, сей плагин, вероятно, будет достоин доната куда больше, чем текущий львиный функционал.

Get rid of dependency on Lingualeo cookies

As of now, anki-leo needs remember cookie set by Lingualeo to get the API token from. Some users might have cookies blocked, so it's better to get the token elsewhere

Реквест: возможность импорта меток.

Было бы здорово и, я так полагаю, относительно несложно добавить эту фичу. В словарях некоторых из моих знакомых, в том числе и моем, есть обилие меток, присвоенных словам. Это делало обучение в лингволео поэтапным. В анки это тоже пришлось бы удобным -- учить те или иные слова по уже присвоенным меткам, например, по наборам из разговорников и всяком таком прочем.

К слову сказать, насколько реально осуществить некое подобие обратной синхронизации? Например, если карточка повторялась N количество раз и отложена на месяц вперед, то переводить это слово в разряд изученных на сервисе.

upd: а ещё было бы здорово, раз уж инвестированное время экспортировать, прихватить статус слова в тэге (новое, четверть, половина, почти, выученное).

Информации по дате последнего повторения слова

Здравствуйте, Константин!

Спасибо за расширение, оно очень полезное! Хотелось бы добавить возможность переноса слов вместе с информацией о дате их последнего повторения (хотя бы примерной), чтобы потом была возможность каким-то образом добавлять слова в Anki без необходимости разучивать их "с нуля".

Error for certain words

index.js:519 Uncaught (in promise) TypeError: Cannot read property 'ctx' of undefined
    at wordContext (index.js:519)
    at extractWordData (index.js:548)
    at wordToCSV (index.js:588)
    at index.js:603
    at Array.map (<anonymous>)
    at toCsv (index.js:602)
    at index.js:753

Reported by multiple people

Support Spanish

  • add locale
  • Create web store assets
  • Create web store description. Translate this file to Spanish
  • Create Anki import instruction

Support Portuguese

It was reported the extension is not working for Portugese as a base language

  • add locale
  • Create web store assets
  • Create web store description

Support Turkish

  • add locale
  • Create web store assets
  • Create web store description
  • Create Anki import instruction

Export words in Anki deck format

..so that resulting file could be opened by directly by Anki

  • Research Anki deck format and JS libraries available to work with it
  • Make proof-of-concept
  • Refactor and publish release

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.