update dict
[QFreeRecite.git] / README
blob36d7c9d223e6a20ebf955bc6f8d1340d6d30ace7
1 --------------------------------------声明------------------------------------------
2 QFreeRecite(以及FreeRecite)软件是一款基于GPLv3授权的自由软件,你可以在遵循GPLv3的前
3 提下自由地使用、修改、和发布自己的FreeRecite版本。但是,未经作者同意,你不可将本软件
4 以及所有相关的衍生产品用于商业用途。典型的不被允许的商业行为是重连接QFreeRecite的在
5 线帮助模块到其他商业网站进行发布,对于违反此声明的商业行为,作者将依法维护自己的权益。
7 对此声明的解释权归FreeRecite(或QFreeRecite)的作者所有。
8 ------------------------------------------------------------------------------------
12 -----------------------------------使用说明------------------------------------
13 一、Free Recite的特点
14   
15   1. *可以自己定义自己要复习的词汇;
16   2. *字典设计灵活,词汇量大:可随时修改字典,且现在已经有近5万
17       词汇量,足以满足绝大多数用户的需求。
18   3. *加入了短路记忆循环,也就是在背诵的时候按照一定时间回顾,对
19       提高效率很有帮助;
20   4. *自动抓取难点词汇,帮助用户重点复习(Stress功能);
21   5. *能够显示当前的记忆状态,显示用户的学习速度;
22   
23   6. 利用了记忆曲线,定期复习。
24   7. 支持双向记忆和复习,汉-英(反向模式)和英-汉(普通模式);
25   8. 背景音效和发音功能齐全,单词发音需要安装WyabdcRealPeopleTTS词库;
26   9. 可以修改路径和字体,更加方便灵活;
27   10.软件体积小,依赖关系简单(CUI版需要shell和C++,GUI版需要Qt4)。
28   11.软件免费,代码开放,且遵循GPLv3协议,可跨平台使用,是一款真正的
29      自由软件。
31 二、如何安装(这里只介绍*nix系统下从源代码安装,Windows下有相应的安装包)
33 1.下载源码,进入源码目录:
34 $ cd QFreeRecite
36 2.生成Makefile:
37 $ cd build
38 $ cmake -DCMAKE_INSTALL_PREFIX=/usr .. 
40 注释:
41       创建目录build。
43       进入build目录的目的是进行外部编译,将所有的编译中间文件都存放在build目录
44       下。这样,就不用"make distclean",而是直接删除build下所有文件就能删除中间
45       文件。
47       CMAKE_INSTALL_PREFIX变量指定了文件的安装目录,如果不指定,将会被安装到
48       /usr/local目录下。这里要注意,命令后面的两个句点号 ".." 不可以缺少。
50 3.编译程序:
51 $ make
53 4.安装程序:(需要超级用户权限)
54 # make install
56 5.卸载程序:(需要超级用户权限)
57 # make uninstall
59 6.下载单词发音文件(需要超级用户权限)
60 $ wget http://nchc.dl.sourceforge.net/sourceforge/stardict/WyabdcRealPeopleTTS.tar.bz2
61 # tar xvfj WyabdcRealPeopleTTS.tar.bz2 /usr/share
63 三、如何使用(此处只介绍命令行界面版本,GUI版本有随软件发布的在线帮助)
65 1.帮助:在命令行下输入frt命令,或者 frt --help 可以显示一个简单但很有用的帮助文
66   档。FreeRecite所有的用法都在这个文档中列出。如:
67   $ frt
68    usage: frt [--version]  [--help] COMMAND [ARGS]
69    The most commonly used git commands are:
70    all             显示所有任务信息
71    cls             清楚stress中的内容(敬告:stress中的信息很有用,请甚用此功能)
72    done            输出已经记住的单词
73    export   <ID>   输出相应ID的任务中的单词
74    ls              显示当前需要复习的任务信息
75    new      <file> 从文件file中取词新建一个任务
76    merge    <file> 把本地字典和全局字典合并到file中
77    modify   [word] 改变单词在字典中的词义
78    remove   <ID>   移出一个相应ID的任务
79    recite   <ID>   背诵ID对应的任务,recite使用了循环记忆系统,帮助你快速记忆
80    rrecite  <ID>   反向背诵,即按照由英文到中文的提示方式背诵,下同
81    test     <ID>   测试ID对应的人物,测试过程没有溶于的循环,结果会被系统记录
82    rtest    <ID>   反向测试
83    stress          复习那些比较难的单词,在测试过程中错误的单词会被stress记录
84    rstress         反向复习
85    status          显示当先的学习进度,包括单词总数,平均记忆速度等
87    --help          显示此菜单的英文帮助文档
88    --version       显示当前版本号
90 3.新建一个任务:
91   FreeRecite的最大优点就是用户可自己定义需要记忆的词汇。方法很简单,把生词(或
92   词组)存放在一个文件中,以换行为分割,例如:
93   $ cat myfile 
94   hello
95   free
96   recite
97   $ frt new myfile 
98   Give a task name for it?
99   (Press Enter will give a default name): myfile
100   Creat a task SUCCESS!
101   $ 
102   注:为了方便以后复习,Free Recite要求你在新建任务时给任务起个名字。如果名字为
103       空,那么Free Recite将会按照创建任务时的时间产生默认任务名。
104       此外,你不用担心你的文件中有重复的单词,Free Recite会自动帮你把重复的单词
105       过滤出;并向你提示那些在字典中找不到的单词。你可以从任务中删除这个词,还可
106       以修改你的字典。事实上,这个导入的文件格式就是stardict中默认的 ~/dic.txt文
107       件的存放格式,你可以直接导入这个文件。
109 4.查看需要复习的任务:
110   $ frt ls
111   There's 1 tasks should review.
112   N  Name                Step     ID    
113   0  myfile              0    1233264782
114   我们刚才新建了一个任务,使用命令'frt ls'会把所有现在需要复习的任务显示出来,包
115   括任务名,复习阶段和一个ID。用户在对指定任务进行操作时必须引用其ID。
117 5.查看任务中都有那些单词:
118   用户在复习或者除此记忆的时候,总要知道这个任务中有那些单词,那么命令
119    'frt export <task ID>' 可以很容易地做到:
120   $ frt export 1233264782
121   free         [fri:] a. 自由的,免费的;vt. 使自由,使摆脱
122   hello        ['hʌ'lәu] int.英(美)喂,你好
123   recite       [ri'sait] vt.背(朗)诵;列举出vi.背诵,朗诵
124   注:第三个参数是任务的ID,就是4中显示的ID列的数字。
125   
126 6.使用recite命令加速记忆:
127   Free Recite为了让用户更加快速的完成初次记忆,在recite记忆功能里加入了记忆循环
128   系统,能有效地帮助对没有掌握的单词进行循环复习。例如:
129   $ frt recite 1233264782
130    Amount: 3 R_Num: 3 R_Times: 3
131    [M]: a. 自由的,免费的;vt. 使自由,使摆脱
132    **********************************************
133    *Input :_
135   注:recite和后面提到的test的界面是一样的。其中,Amount表示 该任务中包含单词的
136       总数;R_Num表示没有掌握的词数;R_Time表示在记忆循环中还要输入单词的总次数。
137       在Input: 后面输入答案后以回车结束,结果就会反馈到终端中。
139 7.使用test命令按时复习:
140   test的界面以及操作方法和recite基本一致:
141   $frt test 1233264782
142   他们的主要区别是:
143   a.test会把任务的分数结果提交给系统,看用户是否达到要求;recite只是测试用户记忆
144     该组单词的平均速度。
145   b.此外,test会把用户答错的单词放到系统中,使用stress命令可以将这些单词导出到终
146     端上帮助用户重点复习;而recite不会。
147   c.test中的单词是以随机顺序出现的,而recite是以字母顺序出现的。
148   *建议: 第一次(step = 0)背单词时使用recite; 
149           以后复习(step > 0) 时使用test。
151   注:和recite与test的原理相同,Free Recite 提供了从单词回忆解释的相关过程,使用
152       命令 rrecite 和 rtest。 前面的那个 'r' 代表单词 reverse,表示"反向"的意思。
154 8.recite和test中的转义命令:
155   recite和test中有五个转义命令: \hint  \modify  \add  \rm  \stop 这四个命令很有
156   用,在help文档中没有列出,这里有必要重点介绍一下。这些功能的具体好处只有用户体
157   验过才会知道。这些命令都是在*Input: 提示符后输入的,而且都没有参数。 
158   其中,\hint 命令不能用到rrecite和rtest中,它的作用是就当前单词向用户惊醒提示,
159   如首字母和单词长度以及音标;\modify用来改变当前正在测试的单词在字典中的解释或者
160   音标;\add可将一个新词添加到任务中;\rm可将当前正在测试的这个单词从任务中移除;
161   \stop中止测试循环,退出到shell。 
162   例如:
163   $ frt recite 1233264782
164    Amount: 3 R_Num: 3 R_Times: 3
165    [M]: a. 自由的,免费的;vt. 使自由,使摆脱
166    **********************************************
167    *Input :  \modify
168    θ_ɑ_ʌ_ә_є_æ_ɔ_ʃ_ð_ŋ_ʒ
169    0_1_2_3_4_5_6_7_8_9_=
170    [T]: fri:                (在这里输入音标)
171    [M]: 自由软件            (在这里输入解释)
172    
173   结束后,下次显示free这个单词就会把“自由软件”当作解释了。 上面那些奇怪的符号表
174   示的是音标中的特殊字符,大多数音标都可以找到相应的英文字母来代替,但也有些不
175   行。那么,就用上行符号对应的数字来代替他们,FreeRecite使用的utf-8编码会自动把
176   相应的字符转换成音标。
178 9.用stress命令查看难点单词:
179   在背单词的过程中,总会有一些词是难度较大,因此用户在复习中很容易答错。
180   FreeRecite会把用户答错的单词记录下来,使用'frt stress'命令会把所有这些单词输
181   出到终端上方便用户查看。下面是我自己复习过程中的难点单词输出结果:
182   $ frt stress
183   assistance   [ә'sistәns] n.help, aid 协作; 援助; 帮助
184   campaign     [kæm'pein] n.战役,运动;竞选运动 vi.领导,发起运动
185   capability   [,keipә'biliti] n.能力;才能;(pl)可发展的能力或特性等
186   decisively   [di'saisivli] ad. 决然地;断然
187   evacuation   [ivækju'eiʃәn] n.撤退,撤离
188   expulsion    [ik'spʌʃәn] n. 逐出, 开除, 驱逐, 排气
190 10.清空难点单词存档:
191   当你发现stress的词很多,或者你已经掌握了提示过的这些,那么使用'frt cls'命令可
192   以清空系统stress中的内容,下次会重新开始记忆。
194 11.修改字典中的单词:
195   除了可以在recite或者test的过程中使用\modify命令修改单词外,Free Recite还允许用
196   户直接指定要修改的单词,命令格式为:
197   $frt modify [word]
198   其中 word 是可选的参数,如果没有输入,那么FreeRecite会自动提示([W])你输入单
199   词,提示符为[W]。modify 的操作和test过程中的修改操作大致相同,这里不再重复。
202 四、图形界面版本(QFreeRecite)
203   为了方便更多非计算机用户和Windows用户使用,我们利用Qt4强大的的可移植性设计了
204 这个图形界面版本,目前已经开发完成。关于QFreeRecite的使用更加简单明了,可以说
205 一目了然,所以这里就不再赘述。
207   至此,我们已经将FreeRecite大部分的使用方法介绍了,如果你有一些shell的基础,你
208 会发现FreeRecite结合shell能给你带来更多强大的功能。欢迎测试,如果遇到Bug,希望你
209 能后及时反馈给我们:
210         Kermit Mei <kermit.mei@gmail.com>.
211         Jianjun Kong <kongjianjun@gmail.com>
213 如果我们可以帮助你,那将是我们最大的收获!
214 感谢您的使用!