FreeRecite Version 2.0
[FreeRecite.git] / README
bloba7420f7a9c8020594f6e446409fc2574b2947e20
1 一、Free Recite的特点
2   
3   1.Free Recite采用了记忆曲线的原理,在初次记忆中根据作者自己
4     的亲身体会,又加入有十分有效率的记忆循环。
6   2.支持自定义词汇背诵,使用单一字典,不需按照任何教材。
8   3.字典设计灵活,词汇量大:可随时修改字典,且现在已经有5万余
9     词汇。 此外,该字典模式不仅可以背诵英文单词,任何语言皆可
10     套用这种格式。
12   4.软件体积小,以来关系简单(shell 和标准C++)。
14   5.软件免费,开放代码,遵循GPLv3协议,是一款真正的自由软件。
16 二、如何安装
18 1.下载源码,进入源码目录:
19 $ cd FreeRecite
21 2.生成Makefile:
22 $ mkdir build
23 $ cd build
24 $ cmake -DCMAKE_INSTALL_PREFIX=/usr .. 
26 注释:
27       创建目录build。
29       进入build目录的目的是进行外部编译,将所有的编译中间文件都存放在build目录
30       下。这样,就不用"make distclean",而是直接删除build下所有文件就能删除中间
31       文件。
33       CMAKE_INSTALL_PREFIX变量指定了文件的安装目录,如果不指定,将会被安装到
34       /usr/local目录下。这里要注意,命令后面的两个句点号 ".." 不可以缺少。
36 3.编译程序:
37 $ make
39 4.安装程序:(需要超级用户权限)
40 # make install
42 5.卸载程序:(需要超级用户权限)
43 # make uninstall
45 三、如何使用
47 1.帮助:在命令行下输入frt命令,或者 frt --help 可以显示一个简单但很有用的帮助文
48   档。FreeRecite所有的用法都在这个文档中列出。如:
49   $ frt
50   usage: frt [--version]  [--help] COMMAND [ARGS]
51   The most commonly used git commands are:
52    all                   Show the detail of all the tasks
53    cls                   Clean the stress words
54    done                  Export the remembered words
55    export    <ID|file>   Export words in the task(file)
56    ls                    List the tasks that should be reviewed
57    new       <file>      Creat new tasks with the words in the file
58    merge     <file>      Merge the dictionary into the file
59    modify    [word]      Modify the word in the dictionary
60    recite    <ID|file>   Recite the words in the task(file)
61    rrecite   <ID|file>   Recite from the translationg to word
62    remove    <taskID>    Remove a task
63    stress                Show the stress words
64    status                Show how many words you are reciting
65    test      <ID|file>   Test the words in the task(file)
66    rtest     <ID|file>   Test from translation to word
67    --help                Show this help information
68    --version             Show the current version
69    
70   frt --help的结果与此相同。
72 3.新建一个任务:
73   FreeRecite的最大优点就是用户可自己定义需要记忆的词汇。方法很简单,把生词(或
74   词组)存放在一个文件中,以换行为分割,例如:
75   $ cat myfile 
76   hello
77   free
78   recite
79   $ frt new myfile 
80   Give a task name for it?
81   (Press Enter will give a default name): myfile
82   Creat a task SUCCESS!
83   $ 
84   注:为了方便以后复习,Free Recite要求你在新建任务时给任务起个名字。如果名字为
85       空,那么Free Recite将会按照创建任务时的时间产生默认任务名。
86       此外,你不用担心你的文件中有重复的单词,Free Recite会自动帮你把重复的单词
87       过滤出;并向你提示那些在字典中找不到的单词。你可以从任务中删除这个词,还可
88       以修改你的字典。事实上,这个导入的文件格式就是stardict中默认的 ~/dic.txt文
89       件的存放格式,你可以直接导入这个文件。
91 4.查看需要复习的任务:
92   $ frt ls
93   There's 1 tasks should review.
94   N  Name                Step     ID    
95   0  myfile              0    1233264782
96   我们刚才新建了一个任务,使用命令'frt ls'会把所有现在需要复习的任务显示出来,包
97   括任务名,复习阶段和一个ID。用户在对指定任务进行操作时必须引用其ID。
99 5.查看任务中都有那些单词:
100   用户在复习或者除此记忆的时候,总要知道这个任务中有那些单词,那么命令
101    'frt export <task ID>' 可以很容易地做到:
102   $ frt export 1233264782
103   free         [fri:] a. 自由的,免费的;vt. 使自由,使摆脱
104   hello        ['hʌ'lәu] int.英(美)喂,你好
105   recite       [ri'sait] vt.背(朗)诵;列举出vi.背诵,朗诵
106   注:第三个参数是任务的ID,就是4中显示的ID列的数字。
107   
108 6.使用recite命令加速记忆:
109   Free Recite为了让用户更加快速的完成初次记忆,在recite记忆功能里加入了记忆循环
110   系统,能有效地帮助对没有掌握的单词进行循环复习。例如:
111   $ frt recite 1233264782
112    Amount: 3 R_Num: 3 R_Times: 3
113    [M]: a. 自由的,免费的;vt. 使自由,使摆脱
114    **********************************************
115    *Input :_
117   注:recite和后面提到的test的界面是一样的。其中,Amount表示 该任务中包含单词的
118       总数;R_Num表示没有掌握的词数;R_Time表示在记忆循环中还要输入单词的总次数。
119       在Input: 后面输入答案后以回车结束,结果就会反馈到终端中。
121 7.使用test命令按时复习:
122   test的界面以及操作方法和recite基本一致:
123   $frt test 1233264782
124   他们的主要区别是:
125   a.test会把任务的分数结果提交给系统,看用户是否达到要求;recite只是测试用户记忆
126     该组单词的平均速度。
127   b.此外,test会把用户答错的单词放到系统中,使用stress命令可以将这些单词导出到终
128     端上帮助用户重点复习;而recite不会。
129   c.test中的单词是以随机顺序出现的,而recite是以字母顺序出现的。
130   *建议: 第一次(step = 0)背单词时使用recite; 
131           以后复习(step > 0) 时使用test。
133   注:和recite与test的原理相同,Free Recite 提供了从单词回忆解释的相关过程,使用
134       命令 rrecite 和 rtest。 前面的那个 'r' 代表单词 reverse,表示"反向"的意思。
136 8.recite和test中的转义命令:
137   recite和test中有五个转义命令: \hint  \modify  \add  \rm  \stop 这四个命令很有
138   用,在help文档中没有列出,这里有必要重点介绍一下。这些功能的具体好处只有用户体
139   验过才会知道。这些命令都是在*Input: 提示符后输入的,而且都没有参数。 
140   其中,\hint 命令不能用到rrecite和rtest中,它的作用是就当前单词向用户惊醒提示,
141   如首字母和单词长度以及音标;\modify用来改变当前正在测试的单词在字典中的解释或者
142   音标;\add可将一个新词添加到任务中;\rm可将当前正在测试的这个单词从任务中移除;
143   \stop中止测试循环,退出到shell。 
144   例如:
145   $ frt recite 1233264782
146    Amount: 3 R_Num: 3 R_Times: 3
147    [M]: a. 自由的,免费的;vt. 使自由,使摆脱
148    **********************************************
149    *Input :  \modify
150    θ_ɑ_ʌ_ә_є_æ_ɔ_ʃ_ð_ŋ_ʒ
151    0_1_2_3_4_5_6_7_8_9_=
152    [T]: fri:                (在这里输入音标)
153    [M]: 自由软件            (在这里输入解释)
154    
155   结束后,下次显示free这个单词就会把“自由软件”当作解释了。 上面那些奇怪的符号表
156   示的是音标中的特殊字符,大多数音标都可以找到相应的英文字母来代替,但也有些不
157   行。那么,就用上行符号对应的数字来代替他们,FreeRecite使用的utf-8编码会自动把
158   相应的字符转换成音标。
160 9.用stress命令查看难点单词:
161   在背单词的过程中,总会有一些词是难度较大,因此用户在复习中很容易答错。
162   FreeRecite会把用户答错的单词记录下来,使用'frt stress'命令会把所有这些单词输
163   出到终端上方便用户查看。下面是我自己复习过程中的难点单词输出结果:
164   $ frt stress
165   assistance   [ә'sistәns] n.help, aid 协作; 援助; 帮助
166   campaign     [kæm'pein] n.战役,运动;竞选运动 vi.领导,发起运动
167   capability   [,keipә'biliti] n.能力;才能;(pl)可发展的能力或特性等
168   decisively   [di'saisivli] ad. 决然地;断然
169   evacuation   [ivækju'eiʃәn] n.撤退,撤离
170   expulsion    [ik'spʌʃәn] n. 逐出, 开除, 驱逐, 排气
172 10.清空难点单词存档:
173   当你发现stress的词很多,或者你已经掌握了提示过的这些,那么使用'frt cls'命令可
174   以清空系统stress中的内容,下次会重新开始记忆。
176 11.修改字典中的单词:
177   除了可以在recite或者test的过程中使用\modify命令修改单词外,Free Recite还允许用
178   户直接指定要修改的单词,命令格式为:
179   $frt modify [word]
180   其中 word 是可选的参数,如果没有输入,那么FreeRecite会自动提示([W])你输入单
181   词,提示符为[W]。modify 的操作和test过程中的修改操作大致相同,这里不再重复。
184   至此,我们已经将FreeRecite大部分的使用方法介绍了,如果你有一些shell的基础,你会发现
185 FreeRecite结合shell能给你带来更多强大的功能。欢迎测试,如果遇到Bug,希望你能后及时反馈给我们:
186         Kermit Mei <kermit.mei@gmail.com>.
187         Jianjun Kong <kongjianjun@gmail.com>
189 如果你想使用FreeRecite的GUI版本,请关注QFreeRecite的开发,我们将会用Qt为FreeRecite开发一个可移植的GUI,并在GUI版本上为保留*nix系统保留CUI版本的全部功能。
190 感谢您的使用!