Emacs Annotation and Language Learning tool

(package! paw :recipe (:host github :repo "junghan0611/paw" :branch "ko" :files ("*")))

Study for a life in Emacs. Emacs에서의 삶을 위해 공부하세요.

paw.el was created in 2021 as an annotation tool, but I was not used it a lot at that time. Recently I picked it up and dramatically changed its usage. Now it is a complete solution of making annotations and language learning tools, right inside Emacs.

paw.el 은 주석 도구로 2021년에 만들어졌지만 당시에는 많이 사용되지 않았습니다. 최근에 나는 그것을 집어들고 사용법을 극적으로 바꾸었습니다. 이제는 Emacs 내에서 바로 주석 작성 및 언어 학습 도구를 제공하는 완벽한 솔루션입니다.

paw relies on sqlite. All annotations are saved inside a database, which means it can be easily backup and you can read and make annotation right inside Emacs (PC/mobile) using same database. 발은 sqlite에 의존합니다. 모든 주석은 데이터베이스 내부에 저장되므로 쉽게 백업할 수 있으며 동일한 데이터베이스를 사용하여 Emacs(PC/모바일) 내에서 바로 주석을 읽고 작성할 수 있습니다.

paw is not a just a dictionary tool. paw was created with in mind that: 발은 단순한 사전 도구가 아닙니다. 발은 다음 사항을 염두에 두고 만들어졌습니다.

Query word as easy as possible, even no need to click. 클릭할 필요 없이 최대한 쉽게 검색어를 검색하세요. Save and trace all known/unknown words and wordlist support, online or offline. 온라인 또는 오프라인으로 알려진/알 수 없는 모든 단어와 단어 목록 지원을 저장하고 추적합니다. Integrate with other great open source tools, libraries, and dictionaries. 다른 훌륭한 오픈 소스 도구, 라이브러리 및 사전과 통합하세요. Integrate with external dictionary tools. 외부 사전 도구와 통합합니다. Support many languages. 다양한 언어를 지원합니다. Multi-Platform Support, including Mobile/e-link devices. 모바일/e-링크 장치를 포함한 다중 플랫폼 지원. Use AI as assistant. AI를 보조자로 사용하세요. The standout feature of Paw is the ability to scan an entire buffer, tokenize all words, batch-query them, and filter them out according to user-provided tags, ultimately applying overlays alongside meanings to all discovered words. In essence, Paw proactively queries the dictionary on your behalf, making the highlighted word’s meaning immediately available. Paw의 뛰어난 기능은 전체 버퍼를 스캔하고, 모든 단어를 토큰화하고, 일괄 쿼리하고, 사용자가 제공한 태그에 따라 필터링하여 궁극적으로 발견된 모든 단어에 의미와 함께 오버레이를 적용하는 기능입니다. 본질적으로 Paw는 사용자를 대신하여 사전에 사전에 쿼리하여 강조 표시된 단어의 의미를 즉시 사용할 수 있도록 합니다.

This means that you can simply hover your mouse over a word to view its definition, without having to click on it. 즉, 단어를 클릭할 필요 없이 단어 위에 마우스를 올리기만 하면 단어의 정의를 볼 수 있습니다. This package is mainly used along with: 이 패키지는 주로 다음과 함께 사용됩니다.

nov-mode 노브 모드 org-mode 조직 모드 eaf-mode 귀가 모드 eww-mode eww 모드 pdf-view-mode PDF 보기 모드 But it is able to work with all modes (defined in paw-annotation-mode-supported-modes) in Emacs. 그러나 Emacs의 모든 모드( paw-annotation-mode-supported-modes 에 정의됨)에서 작동할 수 있습니다.

I’ll update the doc in the future, there are too much to cover. But I’ll show you the most useful cases first: 앞으로 문서를 업데이트할 예정입니다. 다루어야 할 내용이 너무 많습니다. 하지만 가장 유용한 사례를 먼저 보여 드리겠습니다.

Reading and annotation 읽기 및 주석 Open an epub file using nov.el or open an org file or browse web with eww nov.el을 사용하여 epub 파일을 열거나 org 파일을 열거나 eww로 웹을 탐색하세요. Enable paw-annotation-mode (buffer will be turned into read-only if paw-annotation-read-only-enable is t to avoid accidental alternation) paw-annotation-mode 활성화(우발적인 변경을 방지하기 위해 paw-annotation-read-only-enable 이 t인 경우 버퍼가 읽기 전용으로 전환됨) Use paw add word/highlight/bookmark/todo/, for example, paw-add-word, paw-add-highlight… Please check M-x paw-add-* related commands for all type of supported annotations. paw add word/highlight/bookmark/todo/를 사용하세요. 예를 들어 paw-add-word , paw-add-highlight ... M-x paw-add-* 관련 명령을 확인하세요. 지원되는 모든 유형의 주석. Annotations will be highlighted via overlay. Under the annotation, you can do various of operations. For example, to edit the annotation, under the annotation, press i, paw-find-note. It will create an temporary org file dedicated for this annotation, then save by C-c C-c, changes will be saved in the database respectively. 주석은 오버레이를 통해 강조표시됩니다. 주석 아래에서 다양한 작업을 수행할 수 있습니다. 예를 들어 주석을 편집하려면 주석 아래에서 i , paw-find-note 을 누르세요. 이 주석 전용 임시 조직 파일을 생성한 다음 C-c C-c 로 저장하면 변경 사항이 각각 데이터베이스에 저장됩니다. Call paw, paw-list-all-annotations or paw-list-all-links to manage or jump to annotation location (One useful case is that make highlight or create bookmark on eww, and jump back to the exact same annotation location simply pressing Enter) 주석 위치를 관리하거나 이동하려면 paw , paw-list-all-annotations 또는 paw-list-all-links 를 호출하세요(유용한 사례 중 하나는 eww 에서 강조 표시를 하거나 북마크를 만드는 것입니다). , 간단히 Enter를 누르면 정확히 동일한 주석 위치로 돌아갑니다) Under the annotation, M-x paw-view-notes, all notes under the same path will be shown, giving you an overview on all notes you’ve made for the same file. M-x paw-view-notes 주석 아래에는 동일한 경로에 있는 모든 메모가 표시되어 동일한 파일에 대해 작성한 모든 메모에 대한 개요를 제공합니다. paw-add-bookmark works great on eww-mode/eaf-mode (browser or pdf-viewer) paw-add-bookmark 은 eww-mode/eaf-mode(브라우저 또는 pdf 뷰어)에서 잘 작동합니다. Language Learning 언어 학습 Copy a text you want to learn to an org file or browse a page with eww. 배우고 싶은 텍스트를 org 파일에 복사하거나 eww로 페이지를 탐색하세요. Enable paw-annotation-mode paw-annotation-mode 활성화 Click/Select word/sentence with paw-view-note, it will show you an informative buffer of the word/sentence. It has dictionary, translation, notes and also able to search by external browser. paw-view-note 으로 단어/문장을 클릭/선택하면 해당 단어/문장의 정보 버퍼가 표시됩니다. 사전, 번역, 메모 기능이 있으며 외부 브라우저로 검색도 가능합니다. Use paw-add-offline-word or paw-add-online-word to add a new word. For online word, currently only support Eudic, apply Authorization key on https://my.eudic.net/OpenAPI/Authorization, and fill it into paw-authorization-keys before adding online words. All offline/online words appeared on any buffers that were enabled paw-annoation-mode will be highlighted, useful for language learners using the important method: Repetition. 새 단어를 추가하려면 paw-add-offline-word 또는 paw-add-online-word 을 사용하세요. 온라인 단어의 경우 현재 Eudic만 지원하므로 https://my.eudic.net/OpenAPI/Authorization%EC%97%90%EC%84%9C Authorization key를 적용한 후 paw-authorization-keys 에 입력한 후 온라인 단어를 추가하세요. 활성화된 모든 버퍼에 나타나는 모든 오프라인/온라인 단어는 paw-annoation-mode 강조 표시되며 중요한 방법인 반복을 사용하는 언어 학습자에게 유용합니다. For offline words, please setup paw-offline-studylist before using it. By default we have two offline studylists: English Studylist and Japanese Studylist. 오프라인 단어의 경우 사용하기 전에 paw-offline-studylist 을 설정하세요. 기본적으로 English Studylist 및 Japanese Studylist 라는 두 개의 오프라인 학습 목록이 있습니다. You can also use paw-add-word. Unlike offline/online word, the word added by paw-add-word is linked with an unique id, it is only highlighted at the location where we added it. paw-add-word 을 사용할 수도 있습니다. 오프라인/온라인 단어와 달리 paw-add-word 에 의해 추가된 단어는 고유한 ID로 연결되며, 추가한 위치에만 강조 표시됩니다. Under any annotation, click or press v to invoke paw-view-note, a buffer with saved meanings, dictionary, translation, notes is shown. 주석 아래에서 v 을 클릭하거나 눌러 paw-view-note 을 호출하면 저장된 의미, 사전, 번역, 메모가 포함된 버퍼가 표시됩니다. Under any annotation, click or press c to invoke paw-change-word-learning-level, select from level 1~5. 1~4 are controlled by paw-level-1-word-face to paw-level-4-word-face for online words, paw-level-1-offline-word-face to paw-level-4-offline-word-face for offline words, while 5 is considered as Known word, skipping adding overlay face (just hiding). You can change the word to level 5 while keep it hiding, but if you don’t need it anymore, simply run paw-delete-word to delete it. 주석 아래에서 c 을 클릭하거나 눌러 paw-change-word-learning-level 을 호출하고 레벨 1~5 중에서 선택하세요. 1~4는 온라인 단어의 경우 paw-level-1-word-face ~ paw-level-4-word-face , 오프라인 단어의 경우 paw-level-1-offline-word-face ~ paw-level-4-offline-word-face 에 의해 제어되며 5는 알려진 것으로 간주됩니다. 즉, 오버레이 면 추가를 건너뛰는 것입니다(숨기기만 함). 단어를 숨긴 채로 레벨 5로 변경할 수 있지만 더 이상 필요하지 않은 경우 paw-delete-word 을 실행하여 삭제하면 됩니다. Click/Select word/sentence with paw-view-note-current-thing, paw-view-note-next-thing, paw-view-note-prev-thing, it will do segmentation using kagome (Japanese), and ECDICT (English). paw-view-note-current-thing , paw-view-note-next-thing , paw-view-note-prev-thing 로 단어/문장을 클릭/선택하면 kagome(일본어) 및 ECDICT(영어)를 사용하여 분할이 수행됩니다. Check https://www.lingq.com/en/, you know more ideas how to learn a foreign language with paw.el. https://www.lingq.com/en/%EC%9D%84 확인하세요. paw.el 으로 외국어를 배우는 방법에 대한 더 많은 아이디어를 얻으실 수 있습니다. Run paw-export-notes-to-csv, check the csv file under paw-csv-file, import it to Anki for further studying. paw-export-notes-to-csv 을 실행하고, paw-csv-file 아래의 csv 파일을 확인하고, 추가 연구를 위해 Anki로 가져옵니다. Both paw-add-word and paw-add-online-word will capture the context sentence and save it into Notes field. paw-add-word 및 paw-add-online-word 모두 문맥 문장을 캡처하여 메모 필드에 저장합니다. Tip: Find some interesting contents on LingQ, and browse using eww, enable paw-annotation-mode, enjoy language studying! 팁: LingQ에서 흥미로운 콘텐츠를 찾고, eww를 사용하여 탐색하고, paw-annotation-mode 을 활성화하고, 언어 공부를 즐겨보세요!

Search a word/sentence 단어/문장 검색 Select/Under a word/sentence 단어/문장 선택/아래 Run paw-view-note (no segmentation, good for word) or paw-view-note-current-thing (segmentation, good for sentence) paw-view-note (분할 없음, 단어에 적합) 또는 paw-view-note-current-thing (분할, 문장에 적합) 실행 Optimized for eaf-mode, nov-mode, eww-mode, focus-mode Eaf 모드, nov 모드, eww 모드, 포커스 모드에 최적화됨 Installation 설치 Please install sdcv, kagome (For Japanese segmentation), ecdict(for English learning), focus, edge-tts (pronunciation), gptel, go-translate, goldendict, If you want to make use all power of it. sdcv, kagome(일본어 분할용), ecdict(영어 학습용), focus, edge-tts(발음), gptel, go-translate, Goldendict 등을 모두 설치해 보세요.

You may also need to install shrface, wallabag, eaf, popweb, pdf-tools, and more (Please check the source code what are missing, I’ll organize them better in the future.) shrface, wallabag, eaf, popweb, pdf-tools 등을 설치해야 할 수도 있습니다. (누락된 소스 코드를 확인하세요. 앞으로 더 잘 정리하겠습니다.)

Install paw 발을 설치하다 (package! paw :recipe (:host github :repo "chenyanming/paw" :files ("*"))) Language Detection 언어 감지 Set paw-detect-language-p to t, and run pip install gcld3, paw will use gcld3 (may use others tools in the future, check paw-detect-language-program) to detect the language for more accurate tts pronunciation and translation. paw-detect-language-p 을 t로 설정하고 pip install gcld3 을 실행하면 Paw는 gcld3을 사용하여(나중에 다른 도구를 사용할 수도 있습니다. paw-detect-language-program 확인) 더 정확한 언어를 감지합니다. tts 발음과 번역.

If you don’t want to use language detection program, paw use simple ascii rate: paw-ascii-rate to detect the language, if the rate is greater than paw-ascii-rate, then it is considered as English, otherwise use paw-detect-language-program to detect the language of the TEXT, if paw-detect-language-p is t, or return as paw-non-ascii-language if paw-detect-language-p is nil. 언어 감지 프로그램을 사용하고 싶지 않다면, 발은 간단한 ASCII 속도( paw-ascii-rate )를 사용하여 언어를 감지하고, 속도가 paw-ascii-rate 보다 크면 영어로 간주됩니다. , 그렇지 않으면 paw-detect-language-p 이 t인 경우 paw-detect-language-program 를 사용하여 TEXT의 언어를 감지하고, paw-detect-language-p 가 nil인 경우 paw-non-ascii-language 로 반환합니다.

Setup paw-python-program if necessary, if the pip module is installed with different python version pip 모듈이 다른 Python 버전으로 설치된 경우 필요한 경우 paw-python-program 설정

Supported edge-tts voice: 지원되는 edge-tts 음성:

paw-tts-english-voice paw-tts-zh-cn-voice paw-tts-zh-tw-voice paw-tts-japanese-voice paw-tts-korean-voice Other languages: paw-tts-multilingual-voice 기타 언어: paw-tts-multilingual-voice Welcome PRs to add more languages :) 더 많은 언어를 추가하려면 PR을 환영합니다 :)

English Configuration 영어 구성 Japanese Configuration 일본어 구성

Related-Notes

References

JunghanKim. (2024) 2024. “Junghan0611/Paw.” https://github.com/junghan0611/paw.