├── .gitignore
├── README.md
├── gplv3.txt
├── manifest.json
├── test
├── 测试.html
└── 释义处理测试.js
├── 功用
└── 文本处理.js
├── 加载词典.js
├── 图标
├── 项目.xcf
├── 项目_32.png
├── 项目_48.png
└── 项目_96.png
├── 弹窗
├── 主界面.html
├── 主界面.js
└── 页面操作.js
├── 截图
├── 640_400_1.png
└── 640_400_gitee.png
├── 查词.js
├── 源码翻译
├── 常用词典.js
├── 词典常量.js
├── 语言关键词词典.js
└── 释义处理.js
├── 词典数据
├── 词典0.json
└── 词形变化.json
└── 选项
├── 选项.html
└── 选项.js
/.gitignore:
--------------------------------------------------------------------------------
1 | web-ext-artifacts
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [火狐插件地址](https://addons.mozilla.org/zh-CN/firefox/addon/%E4%B8%80%E9%A9%AC-%E5%9C%A8%E7%BA%BF%E4%BB%A3%E7%A0%81%E7%BF%BB%E8%AF%91/)
2 | [Chrome插件地址](https://chrome.google.com/webstore/detail/%E4%B8%80%E9%A9%AC-%E5%9C%A8%E7%BA%BF%E4%BB%A3%E7%A0%81%E7%BF%BB%E8%AF%91/inicknfojohdbgekdffgcdfiheflpnbh)
3 |
4 | #### 注意: 插件内置词库仅有三千最常用词. 为保证翻译效果, 请安装包含77万词条的离线英汉词典插件 [火狐版](https://addons.mozilla.org/zh-CN/firefox/addon/%E7%A6%BB%E7%BA%BF%E8%8B%B1%E6%B1%89%E8%AF%8D%E5%85%B8/) [Chrome版](https://chrome.google.com/webstore/detail/%E7%A6%BB%E7%BA%BF%E8%8B%B1%E6%B1%89%E8%AF%8D%E5%85%B8/ndifefelacmidghjaehmhicbchbidhpe?hl=en)
5 |
6 | 在任何GitHub的源码网页([例如](https://github.com/shekhargulati/java8-the-missing-tutorial/blob/master/code/src/main/java/com/shekhargulati/java8_tutorial/ch01/BasicCalculator.java))或码云源码网页([例如](https://gitee.com/didispace/SpringBoot-Learning/blob/master/Chapter3-1-1/src/main/java/com/didispace/domain/User.java)), 点击工具栏按钮后, 弹窗中显示将源码的命名进行翻译后的对应代码段.
7 |
8 | 0.0.14
9 | - 添加基本词库(三千左右), 以避免单独安装无法进行任何翻译的情况. 改进提示信息
10 |
11 | 0.0.12 & 0.0.13
12 | - 如果翻译失败, 提示用户需安装离线英汉词典插件
13 |
14 | 0.0.11
15 | - 提供用户选项是否翻译关键词和核心API, 默认不翻译
16 |
17 | 0.0.10
18 | - 修正#12
19 | - 小调整界面
20 |
21 | 0.0.9
22 | - #17 常用命名/缩写的手工翻译 (仅前30个高频词); 部分词汇不予翻译(to, of, bean)
23 | - #12 所有词如有原型, 则使用原型的释义, 包括第三人称, 复数等
24 |
25 | 0.0.8
26 | - 初步支持码云代码翻译
27 |
28 | [中文编程知乎专栏](https://zhuanlan.zhihu.com/c_140193266)相关文章:
29 |
30 | - [在线代码离线翻译Chrome插件"一马"v0.0.8](https://zhuanlan.zhihu.com/p/48120706)
31 | - [Chrome插件实现GitHub代码离线翻译v0.0.4](https://zhuanlan.zhihu.com/p/47215777)
32 | - [Chrome插件实现GitHub代码翻译v0.0.3](https://zhuanlan.zhihu.com/p/47071729)
33 | - [浏览器插件实现GitHub代码翻译原型演示](https://zhuanlan.zhihu.com/p/43304088)
34 |
35 | 生成安装包:
36 | ```
37 | $ web-ext build --ignore-files=test 截图 图标/*.xcf --overwrite-dest
38 | ```
39 |
--------------------------------------------------------------------------------
/gplv3.txt:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU General Public License is a free, copyleft license for
11 | software and other kinds of works.
12 |
13 | The licenses for most software and other practical works are designed
14 | to take away your freedom to share and change the works. By contrast,
15 | the GNU General Public License is intended to guarantee your freedom to
16 | share and change all versions of a program--to make sure it remains free
17 | software for all its users. We, the Free Software Foundation, use the
18 | GNU General Public License for most of our software; it applies also to
19 | any other work released this way by its authors. You can apply it to
20 | your programs, too.
21 |
22 | When we speak of free software, we are referring to freedom, not
23 | price. Our General Public Licenses are designed to make sure that you
24 | have the freedom to distribute copies of free software (and charge for
25 | them if you wish), that you receive source code or can get it if you
26 | want it, that you can change the software or use pieces of it in new
27 | free programs, and that you know you can do these things.
28 |
29 | To protect your rights, we need to prevent others from denying you
30 | these rights or asking you to surrender the rights. Therefore, you have
31 | certain responsibilities if you distribute copies of the software, or if
32 | you modify it: responsibilities to respect the freedom of others.
33 |
34 | For example, if you distribute copies of such a program, whether
35 | gratis or for a fee, you must pass on to the recipients the same
36 | freedoms that you received. You must make sure that they, too, receive
37 | or can get the source code. And you must show them these terms so they
38 | know their rights.
39 |
40 | Developers that use the GNU GPL protect your rights with two steps:
41 | (1) assert copyright on the software, and (2) offer you this License
42 | giving you legal permission to copy, distribute and/or modify it.
43 |
44 | For the developers' and authors' protection, the GPL clearly explains
45 | that there is no warranty for this free software. For both users' and
46 | authors' sake, the GPL requires that modified versions be marked as
47 | changed, so that their problems will not be attributed erroneously to
48 | authors of previous versions.
49 |
50 | Some devices are designed to deny users access to install or run
51 | modified versions of the software inside them, although the manufacturer
52 | can do so. This is fundamentally incompatible with the aim of
53 | protecting users' freedom to change the software. The systematic
54 | pattern of such abuse occurs in the area of products for individuals to
55 | use, which is precisely where it is most unacceptable. Therefore, we
56 | have designed this version of the GPL to prohibit the practice for those
57 | products. If such problems arise substantially in other domains, we
58 | stand ready to extend this provision to those domains in future versions
59 | of the GPL, as needed to protect the freedom of users.
60 |
61 | Finally, every program is threatened constantly by software patents.
62 | States should not allow patents to restrict development and use of
63 | software on general-purpose computers, but in those that do, we wish to
64 | avoid the special danger that patents applied to a free program could
65 | make it effectively proprietary. To prevent this, the GPL assures that
66 | patents cannot be used to render the program non-free.
67 |
68 | The precise terms and conditions for copying, distribution and
69 | modification follow.
70 |
71 | TERMS AND CONDITIONS
72 |
73 | 0. Definitions.
74 |
75 | "This License" refers to version 3 of the GNU General Public License.
76 |
77 | "Copyright" also means copyright-like laws that apply to other kinds of
78 | works, such as semiconductor masks.
79 |
80 | "The Program" refers to any copyrightable work licensed under this
81 | License. Each licensee is addressed as "you". "Licensees" and
82 | "recipients" may be individuals or organizations.
83 |
84 | To "modify" a work means to copy from or adapt all or part of the work
85 | in a fashion requiring copyright permission, other than the making of an
86 | exact copy. The resulting work is called a "modified version" of the
87 | earlier work or a work "based on" the earlier work.
88 |
89 | A "covered work" means either the unmodified Program or a work based
90 | on the Program.
91 |
92 | To "propagate" a work means to do anything with it that, without
93 | permission, would make you directly or secondarily liable for
94 | infringement under applicable copyright law, except executing it on a
95 | computer or modifying a private copy. Propagation includes copying,
96 | distribution (with or without modification), making available to the
97 | public, and in some countries other activities as well.
98 |
99 | To "convey" a work means any kind of propagation that enables other
100 | parties to make or receive copies. Mere interaction with a user through
101 | a computer network, with no transfer of a copy, is not conveying.
102 |
103 | An interactive user interface displays "Appropriate Legal Notices"
104 | to the extent that it includes a convenient and prominently visible
105 | feature that (1) displays an appropriate copyright notice, and (2)
106 | tells the user that there is no warranty for the work (except to the
107 | extent that warranties are provided), that licensees may convey the
108 | work under this License, and how to view a copy of this License. If
109 | the interface presents a list of user commands or options, such as a
110 | menu, a prominent item in the list meets this criterion.
111 |
112 | 1. Source Code.
113 |
114 | The "source code" for a work means the preferred form of the work
115 | for making modifications to it. "Object code" means any non-source
116 | form of a work.
117 |
118 | A "Standard Interface" means an interface that either is an official
119 | standard defined by a recognized standards body, or, in the case of
120 | interfaces specified for a particular programming language, one that
121 | is widely used among developers working in that language.
122 |
123 | The "System Libraries" of an executable work include anything, other
124 | than the work as a whole, that (a) is included in the normal form of
125 | packaging a Major Component, but which is not part of that Major
126 | Component, and (b) serves only to enable use of the work with that
127 | Major Component, or to implement a Standard Interface for which an
128 | implementation is available to the public in source code form. A
129 | "Major Component", in this context, means a major essential component
130 | (kernel, window system, and so on) of the specific operating system
131 | (if any) on which the executable work runs, or a compiler used to
132 | produce the work, or an object code interpreter used to run it.
133 |
134 | The "Corresponding Source" for a work in object code form means all
135 | the source code needed to generate, install, and (for an executable
136 | work) run the object code and to modify the work, including scripts to
137 | control those activities. However, it does not include the work's
138 | System Libraries, or general-purpose tools or generally available free
139 | programs which are used unmodified in performing those activities but
140 | which are not part of the work. For example, Corresponding Source
141 | includes interface definition files associated with source files for
142 | the work, and the source code for shared libraries and dynamically
143 | linked subprograms that the work is specifically designed to require,
144 | such as by intimate data communication or control flow between those
145 | subprograms and other parts of the work.
146 |
147 | The Corresponding Source need not include anything that users
148 | can regenerate automatically from other parts of the Corresponding
149 | Source.
150 |
151 | The Corresponding Source for a work in source code form is that
152 | same work.
153 |
154 | 2. Basic Permissions.
155 |
156 | All rights granted under this License are granted for the term of
157 | copyright on the Program, and are irrevocable provided the stated
158 | conditions are met. This License explicitly affirms your unlimited
159 | permission to run the unmodified Program. The output from running a
160 | covered work is covered by this License only if the output, given its
161 | content, constitutes a covered work. This License acknowledges your
162 | rights of fair use or other equivalent, as provided by copyright law.
163 |
164 | You may make, run and propagate covered works that you do not
165 | convey, without conditions so long as your license otherwise remains
166 | in force. You may convey covered works to others for the sole purpose
167 | of having them make modifications exclusively for you, or provide you
168 | with facilities for running those works, provided that you comply with
169 | the terms of this License in conveying all material for which you do
170 | not control copyright. Those thus making or running the covered works
171 | for you must do so exclusively on your behalf, under your direction
172 | and control, on terms that prohibit them from making any copies of
173 | your copyrighted material outside their relationship with you.
174 |
175 | Conveying under any other circumstances is permitted solely under
176 | the conditions stated below. Sublicensing is not allowed; section 10
177 | makes it unnecessary.
178 |
179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180 |
181 | No covered work shall be deemed part of an effective technological
182 | measure under any applicable law fulfilling obligations under article
183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184 | similar laws prohibiting or restricting circumvention of such
185 | measures.
186 |
187 | When you convey a covered work, you waive any legal power to forbid
188 | circumvention of technological measures to the extent such circumvention
189 | is effected by exercising rights under this License with respect to
190 | the covered work, and you disclaim any intention to limit operation or
191 | modification of the work as a means of enforcing, against the work's
192 | users, your or third parties' legal rights to forbid circumvention of
193 | technological measures.
194 |
195 | 4. Conveying Verbatim Copies.
196 |
197 | You may convey verbatim copies of the Program's source code as you
198 | receive it, in any medium, provided that you conspicuously and
199 | appropriately publish on each copy an appropriate copyright notice;
200 | keep intact all notices stating that this License and any
201 | non-permissive terms added in accord with section 7 apply to the code;
202 | keep intact all notices of the absence of any warranty; and give all
203 | recipients a copy of this License along with the Program.
204 |
205 | You may charge any price or no price for each copy that you convey,
206 | and you may offer support or warranty protection for a fee.
207 |
208 | 5. Conveying Modified Source Versions.
209 |
210 | You may convey a work based on the Program, or the modifications to
211 | produce it from the Program, in the form of source code under the
212 | terms of section 4, provided that you also meet all of these conditions:
213 |
214 | a) The work must carry prominent notices stating that you modified
215 | it, and giving a relevant date.
216 |
217 | b) The work must carry prominent notices stating that it is
218 | released under this License and any conditions added under section
219 | 7. This requirement modifies the requirement in section 4 to
220 | "keep intact all notices".
221 |
222 | c) You must license the entire work, as a whole, under this
223 | License to anyone who comes into possession of a copy. This
224 | License will therefore apply, along with any applicable section 7
225 | additional terms, to the whole of the work, and all its parts,
226 | regardless of how they are packaged. This License gives no
227 | permission to license the work in any other way, but it does not
228 | invalidate such permission if you have separately received it.
229 |
230 | d) If the work has interactive user interfaces, each must display
231 | Appropriate Legal Notices; however, if the Program has interactive
232 | interfaces that do not display Appropriate Legal Notices, your
233 | work need not make them do so.
234 |
235 | A compilation of a covered work with other separate and independent
236 | works, which are not by their nature extensions of the covered work,
237 | and which are not combined with it such as to form a larger program,
238 | in or on a volume of a storage or distribution medium, is called an
239 | "aggregate" if the compilation and its resulting copyright are not
240 | used to limit the access or legal rights of the compilation's users
241 | beyond what the individual works permit. Inclusion of a covered work
242 | in an aggregate does not cause this License to apply to the other
243 | parts of the aggregate.
244 |
245 | 6. Conveying Non-Source Forms.
246 |
247 | You may convey a covered work in object code form under the terms
248 | of sections 4 and 5, provided that you also convey the
249 | machine-readable Corresponding Source under the terms of this License,
250 | in one of these ways:
251 |
252 | a) Convey the object code in, or embodied in, a physical product
253 | (including a physical distribution medium), accompanied by the
254 | Corresponding Source fixed on a durable physical medium
255 | customarily used for software interchange.
256 |
257 | b) Convey the object code in, or embodied in, a physical product
258 | (including a physical distribution medium), accompanied by a
259 | written offer, valid for at least three years and valid for as
260 | long as you offer spare parts or customer support for that product
261 | model, to give anyone who possesses the object code either (1) a
262 | copy of the Corresponding Source for all the software in the
263 | product that is covered by this License, on a durable physical
264 | medium customarily used for software interchange, for a price no
265 | more than your reasonable cost of physically performing this
266 | conveying of source, or (2) access to copy the
267 | Corresponding Source from a network server at no charge.
268 |
269 | c) Convey individual copies of the object code with a copy of the
270 | written offer to provide the Corresponding Source. This
271 | alternative is allowed only occasionally and noncommercially, and
272 | only if you received the object code with such an offer, in accord
273 | with subsection 6b.
274 |
275 | d) Convey the object code by offering access from a designated
276 | place (gratis or for a charge), and offer equivalent access to the
277 | Corresponding Source in the same way through the same place at no
278 | further charge. You need not require recipients to copy the
279 | Corresponding Source along with the object code. If the place to
280 | copy the object code is a network server, the Corresponding Source
281 | may be on a different server (operated by you or a third party)
282 | that supports equivalent copying facilities, provided you maintain
283 | clear directions next to the object code saying where to find the
284 | Corresponding Source. Regardless of what server hosts the
285 | Corresponding Source, you remain obligated to ensure that it is
286 | available for as long as needed to satisfy these requirements.
287 |
288 | e) Convey the object code using peer-to-peer transmission, provided
289 | you inform other peers where the object code and Corresponding
290 | Source of the work are being offered to the general public at no
291 | charge under subsection 6d.
292 |
293 | A separable portion of the object code, whose source code is excluded
294 | from the Corresponding Source as a System Library, need not be
295 | included in conveying the object code work.
296 |
297 | A "User Product" is either (1) a "consumer product", which means any
298 | tangible personal property which is normally used for personal, family,
299 | or household purposes, or (2) anything designed or sold for incorporation
300 | into a dwelling. In determining whether a product is a consumer product,
301 | doubtful cases shall be resolved in favor of coverage. For a particular
302 | product received by a particular user, "normally used" refers to a
303 | typical or common use of that class of product, regardless of the status
304 | of the particular user or of the way in which the particular user
305 | actually uses, or expects or is expected to use, the product. A product
306 | is a consumer product regardless of whether the product has substantial
307 | commercial, industrial or non-consumer uses, unless such uses represent
308 | the only significant mode of use of the product.
309 |
310 | "Installation Information" for a User Product means any methods,
311 | procedures, authorization keys, or other information required to install
312 | and execute modified versions of a covered work in that User Product from
313 | a modified version of its Corresponding Source. The information must
314 | suffice to ensure that the continued functioning of the modified object
315 | code is in no case prevented or interfered with solely because
316 | modification has been made.
317 |
318 | If you convey an object code work under this section in, or with, or
319 | specifically for use in, a User Product, and the conveying occurs as
320 | part of a transaction in which the right of possession and use of the
321 | User Product is transferred to the recipient in perpetuity or for a
322 | fixed term (regardless of how the transaction is characterized), the
323 | Corresponding Source conveyed under this section must be accompanied
324 | by the Installation Information. But this requirement does not apply
325 | if neither you nor any third party retains the ability to install
326 | modified object code on the User Product (for example, the work has
327 | been installed in ROM).
328 |
329 | The requirement to provide Installation Information does not include a
330 | requirement to continue to provide support service, warranty, or updates
331 | for a work that has been modified or installed by the recipient, or for
332 | the User Product in which it has been modified or installed. Access to a
333 | network may be denied when the modification itself materially and
334 | adversely affects the operation of the network or violates the rules and
335 | protocols for communication across the network.
336 |
337 | Corresponding Source conveyed, and Installation Information provided,
338 | in accord with this section must be in a format that is publicly
339 | documented (and with an implementation available to the public in
340 | source code form), and must require no special password or key for
341 | unpacking, reading or copying.
342 |
343 | 7. Additional Terms.
344 |
345 | "Additional permissions" are terms that supplement the terms of this
346 | License by making exceptions from one or more of its conditions.
347 | Additional permissions that are applicable to the entire Program shall
348 | be treated as though they were included in this License, to the extent
349 | that they are valid under applicable law. If additional permissions
350 | apply only to part of the Program, that part may be used separately
351 | under those permissions, but the entire Program remains governed by
352 | this License without regard to the additional permissions.
353 |
354 | When you convey a copy of a covered work, you may at your option
355 | remove any additional permissions from that copy, or from any part of
356 | it. (Additional permissions may be written to require their own
357 | removal in certain cases when you modify the work.) You may place
358 | additional permissions on material, added by you to a covered work,
359 | for which you have or can give appropriate copyright permission.
360 |
361 | Notwithstanding any other provision of this License, for material you
362 | add to a covered work, you may (if authorized by the copyright holders of
363 | that material) supplement the terms of this License with terms:
364 |
365 | a) Disclaiming warranty or limiting liability differently from the
366 | terms of sections 15 and 16 of this License; or
367 |
368 | b) Requiring preservation of specified reasonable legal notices or
369 | author attributions in that material or in the Appropriate Legal
370 | Notices displayed by works containing it; or
371 |
372 | c) Prohibiting misrepresentation of the origin of that material, or
373 | requiring that modified versions of such material be marked in
374 | reasonable ways as different from the original version; or
375 |
376 | d) Limiting the use for publicity purposes of names of licensors or
377 | authors of the material; or
378 |
379 | e) Declining to grant rights under trademark law for use of some
380 | trade names, trademarks, or service marks; or
381 |
382 | f) Requiring indemnification of licensors and authors of that
383 | material by anyone who conveys the material (or modified versions of
384 | it) with contractual assumptions of liability to the recipient, for
385 | any liability that these contractual assumptions directly impose on
386 | those licensors and authors.
387 |
388 | All other non-permissive additional terms are considered "further
389 | restrictions" within the meaning of section 10. If the Program as you
390 | received it, or any part of it, contains a notice stating that it is
391 | governed by this License along with a term that is a further
392 | restriction, you may remove that term. If a license document contains
393 | a further restriction but permits relicensing or conveying under this
394 | License, you may add to a covered work material governed by the terms
395 | of that license document, provided that the further restriction does
396 | not survive such relicensing or conveying.
397 |
398 | If you add terms to a covered work in accord with this section, you
399 | must place, in the relevant source files, a statement of the
400 | additional terms that apply to those files, or a notice indicating
401 | where to find the applicable terms.
402 |
403 | Additional terms, permissive or non-permissive, may be stated in the
404 | form of a separately written license, or stated as exceptions;
405 | the above requirements apply either way.
406 |
407 | 8. Termination.
408 |
409 | You may not propagate or modify a covered work except as expressly
410 | provided under this License. Any attempt otherwise to propagate or
411 | modify it is void, and will automatically terminate your rights under
412 | this License (including any patent licenses granted under the third
413 | paragraph of section 11).
414 |
415 | However, if you cease all violation of this License, then your
416 | license from a particular copyright holder is reinstated (a)
417 | provisionally, unless and until the copyright holder explicitly and
418 | finally terminates your license, and (b) permanently, if the copyright
419 | holder fails to notify you of the violation by some reasonable means
420 | prior to 60 days after the cessation.
421 |
422 | Moreover, your license from a particular copyright holder is
423 | reinstated permanently if the copyright holder notifies you of the
424 | violation by some reasonable means, this is the first time you have
425 | received notice of violation of this License (for any work) from that
426 | copyright holder, and you cure the violation prior to 30 days after
427 | your receipt of the notice.
428 |
429 | Termination of your rights under this section does not terminate the
430 | licenses of parties who have received copies or rights from you under
431 | this License. If your rights have been terminated and not permanently
432 | reinstated, you do not qualify to receive new licenses for the same
433 | material under section 10.
434 |
435 | 9. Acceptance Not Required for Having Copies.
436 |
437 | You are not required to accept this License in order to receive or
438 | run a copy of the Program. Ancillary propagation of a covered work
439 | occurring solely as a consequence of using peer-to-peer transmission
440 | to receive a copy likewise does not require acceptance. However,
441 | nothing other than this License grants you permission to propagate or
442 | modify any covered work. These actions infringe copyright if you do
443 | not accept this License. Therefore, by modifying or propagating a
444 | covered work, you indicate your acceptance of this License to do so.
445 |
446 | 10. Automatic Licensing of Downstream Recipients.
447 |
448 | Each time you convey a covered work, the recipient automatically
449 | receives a license from the original licensors, to run, modify and
450 | propagate that work, subject to this License. You are not responsible
451 | for enforcing compliance by third parties with this License.
452 |
453 | An "entity transaction" is a transaction transferring control of an
454 | organization, or substantially all assets of one, or subdividing an
455 | organization, or merging organizations. If propagation of a covered
456 | work results from an entity transaction, each party to that
457 | transaction who receives a copy of the work also receives whatever
458 | licenses to the work the party's predecessor in interest had or could
459 | give under the previous paragraph, plus a right to possession of the
460 | Corresponding Source of the work from the predecessor in interest, if
461 | the predecessor has it or can get it with reasonable efforts.
462 |
463 | You may not impose any further restrictions on the exercise of the
464 | rights granted or affirmed under this License. For example, you may
465 | not impose a license fee, royalty, or other charge for exercise of
466 | rights granted under this License, and you may not initiate litigation
467 | (including a cross-claim or counterclaim in a lawsuit) alleging that
468 | any patent claim is infringed by making, using, selling, offering for
469 | sale, or importing the Program or any portion of it.
470 |
471 | 11. Patents.
472 |
473 | A "contributor" is a copyright holder who authorizes use under this
474 | License of the Program or a work on which the Program is based. The
475 | work thus licensed is called the contributor's "contributor version".
476 |
477 | A contributor's "essential patent claims" are all patent claims
478 | owned or controlled by the contributor, whether already acquired or
479 | hereafter acquired, that would be infringed by some manner, permitted
480 | by this License, of making, using, or selling its contributor version,
481 | but do not include claims that would be infringed only as a
482 | consequence of further modification of the contributor version. For
483 | purposes of this definition, "control" includes the right to grant
484 | patent sublicenses in a manner consistent with the requirements of
485 | this License.
486 |
487 | Each contributor grants you a non-exclusive, worldwide, royalty-free
488 | patent license under the contributor's essential patent claims, to
489 | make, use, sell, offer for sale, import and otherwise run, modify and
490 | propagate the contents of its contributor version.
491 |
492 | In the following three paragraphs, a "patent license" is any express
493 | agreement or commitment, however denominated, not to enforce a patent
494 | (such as an express permission to practice a patent or covenant not to
495 | sue for patent infringement). To "grant" such a patent license to a
496 | party means to make such an agreement or commitment not to enforce a
497 | patent against the party.
498 |
499 | If you convey a covered work, knowingly relying on a patent license,
500 | and the Corresponding Source of the work is not available for anyone
501 | to copy, free of charge and under the terms of this License, through a
502 | publicly available network server or other readily accessible means,
503 | then you must either (1) cause the Corresponding Source to be so
504 | available, or (2) arrange to deprive yourself of the benefit of the
505 | patent license for this particular work, or (3) arrange, in a manner
506 | consistent with the requirements of this License, to extend the patent
507 | license to downstream recipients. "Knowingly relying" means you have
508 | actual knowledge that, but for the patent license, your conveying the
509 | covered work in a country, or your recipient's use of the covered work
510 | in a country, would infringe one or more identifiable patents in that
511 | country that you have reason to believe are valid.
512 |
513 | If, pursuant to or in connection with a single transaction or
514 | arrangement, you convey, or propagate by procuring conveyance of, a
515 | covered work, and grant a patent license to some of the parties
516 | receiving the covered work authorizing them to use, propagate, modify
517 | or convey a specific copy of the covered work, then the patent license
518 | you grant is automatically extended to all recipients of the covered
519 | work and works based on it.
520 |
521 | A patent license is "discriminatory" if it does not include within
522 | the scope of its coverage, prohibits the exercise of, or is
523 | conditioned on the non-exercise of one or more of the rights that are
524 | specifically granted under this License. You may not convey a covered
525 | work if you are a party to an arrangement with a third party that is
526 | in the business of distributing software, under which you make payment
527 | to the third party based on the extent of your activity of conveying
528 | the work, and under which the third party grants, to any of the
529 | parties who would receive the covered work from you, a discriminatory
530 | patent license (a) in connection with copies of the covered work
531 | conveyed by you (or copies made from those copies), or (b) primarily
532 | for and in connection with specific products or compilations that
533 | contain the covered work, unless you entered into that arrangement,
534 | or that patent license was granted, prior to 28 March 2007.
535 |
536 | Nothing in this License shall be construed as excluding or limiting
537 | any implied license or other defenses to infringement that may
538 | otherwise be available to you under applicable patent law.
539 |
540 | 12. No Surrender of Others' Freedom.
541 |
542 | If conditions are imposed on you (whether by court order, agreement or
543 | otherwise) that contradict the conditions of this License, they do not
544 | excuse you from the conditions of this License. If you cannot convey a
545 | covered work so as to satisfy simultaneously your obligations under this
546 | License and any other pertinent obligations, then as a consequence you may
547 | not convey it at all. For example, if you agree to terms that obligate you
548 | to collect a royalty for further conveying from those to whom you convey
549 | the Program, the only way you could satisfy both those terms and this
550 | License would be to refrain entirely from conveying the Program.
551 |
552 | 13. Use with the GNU Affero General Public License.
553 |
554 | Notwithstanding any other provision of this License, you have
555 | permission to link or combine any covered work with a work licensed
556 | under version 3 of the GNU Affero General Public License into a single
557 | combined work, and to convey the resulting work. The terms of this
558 | License will continue to apply to the part which is the covered work,
559 | but the special requirements of the GNU Affero General Public License,
560 | section 13, concerning interaction through a network will apply to the
561 | combination as such.
562 |
563 | 14. Revised Versions of this License.
564 |
565 | The Free Software Foundation may publish revised and/or new versions of
566 | the GNU General Public License from time to time. Such new versions will
567 | be similar in spirit to the present version, but may differ in detail to
568 | address new problems or concerns.
569 |
570 | Each version is given a distinguishing version number. If the
571 | Program specifies that a certain numbered version of the GNU General
572 | Public License "or any later version" applies to it, you have the
573 | option of following the terms and conditions either of that numbered
574 | version or of any later version published by the Free Software
575 | Foundation. If the Program does not specify a version number of the
576 | GNU General Public License, you may choose any version ever published
577 | by the Free Software Foundation.
578 |
579 | If the Program specifies that a proxy can decide which future
580 | versions of the GNU General Public License can be used, that proxy's
581 | public statement of acceptance of a version permanently authorizes you
582 | to choose that version for the Program.
583 |
584 | Later license versions may give you additional or different
585 | permissions. However, no additional obligations are imposed on any
586 | author or copyright holder as a result of your choosing to follow a
587 | later version.
588 |
589 | 15. Disclaimer of Warranty.
590 |
591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599 |
600 | 16. Limitation of Liability.
601 |
602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610 | SUCH DAMAGES.
611 |
612 | 17. Interpretation of Sections 15 and 16.
613 |
614 | If the disclaimer of warranty and limitation of liability provided
615 | above cannot be given local legal effect according to their terms,
616 | reviewing courts shall apply local law that most closely approximates
617 | an absolute waiver of all civil liability in connection with the
618 | Program, unless a warranty or assumption of liability accompanies a
619 | copy of the Program in return for a fee.
620 |
621 | END OF TERMS AND CONDITIONS
622 |
623 | How to Apply These Terms to Your New Programs
624 |
625 | If you develop a new program, and you want it to be of the greatest
626 | possible use to the public, the best way to achieve this is to make it
627 | free software which everyone can redistribute and change under these terms.
628 |
629 | To do so, attach the following notices to the program. It is safest
630 | to attach them to the start of each source file to most effectively
631 | state the exclusion of warranty; and each file should have at least
632 | the "copyright" line and a pointer to where the full notice is found.
633 |
634 |
635 | Copyright (C)
636 |
637 | This program is free software: you can redistribute it and/or modify
638 | it under the terms of the GNU General Public License as published by
639 | the Free Software Foundation, either version 3 of the License, or
640 | (at your option) any later version.
641 |
642 | This program is distributed in the hope that it will be useful,
643 | but WITHOUT ANY WARRANTY; without even the implied warranty of
644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645 | GNU General Public License for more details.
646 |
647 | You should have received a copy of the GNU General Public License
648 | along with this program. If not, see .
649 |
650 | Also add information on how to contact you by electronic and paper mail.
651 |
652 | If the program does terminal interaction, make it output a short
653 | notice like this when it starts in an interactive mode:
654 |
655 | Copyright (C)
656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657 | This is free software, and you are welcome to redistribute it
658 | under certain conditions; type `show c' for details.
659 |
660 | The hypothetical commands `show w' and `show c' should show the appropriate
661 | parts of the General Public License. Of course, your program's commands
662 | might be different; for a GUI interface, you would use an "about box".
663 |
664 | You should also get your employer (if you work as a programmer) or school,
665 | if any, to sign a "copyright disclaimer" for the program, if necessary.
666 | For more information on this, and how to apply and follow the GNU GPL, see
667 | .
668 |
669 | The GNU General Public License does not permit incorporating your program
670 | into proprietary programs. If your program is a subroutine library, you
671 | may consider it more useful to permit linking proprietary applications with
672 | the library. If this is what you want to do, use the GNU Lesser General
673 | Public License instead of this License. But first, please read
674 | .
675 |
--------------------------------------------------------------------------------
/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 |
3 | "manifest_version": 2,
4 | "name": "一马: 在线代码翻译",
5 | "version": "0.0.15",
6 |
7 | "description": "工具栏按钮, 弹窗为在线代码的翻译. 现支持GitHub, 码云.",
8 | "homepage_url": "https://github.com/program-in-chinese/webextension_github_code_translator",
9 |
10 | "permissions": [
11 | "storage",
12 | "activeTab"
13 | ],
14 | "icons": {
15 | "48": "图标/项目_48.png",
16 | "96": "图标/项目_96.png"
17 | },
18 | "background": {
19 | "scripts": ["加载词典.js", "查词.js"]
20 | },
21 | "options_page": "选项/选项.html",
22 | "browser_action": {
23 | "default_icon": {
24 | "32": "图标/项目_32.png"
25 | },
26 | "default_title": "代码翻译",
27 | "default_popup": "弹窗/主界面.html"
28 | }
29 | }
--------------------------------------------------------------------------------
/test/测试.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | QUnit Example
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/test/释义处理测试.js:
--------------------------------------------------------------------------------
1 |
2 | QUnit.test("分词性", function (assert) {
3 | assert.deepEqual(
4 | 分词性("n. 种类, 方式\\nvt. 分类", 词性),
5 | {"n.": ["种类", "方式"], "vt.": ["分类"]},
6 | "");
7 | });
8 |
9 | QUnit.test("首选sort", function (assert) {
10 | assert.deepEqual(
11 | 首选("n. 种类, 方式, 品质, 态度, 举止\\nvt. 分类, 排序, 挑选\\nvi. 交往, 协调" +
12 | "\\n[计] 排序; DOS外部命令:从标准输入设备接收数据, 整个数据输入完后" +
13 | "\\n对它以行为单位进行排序, 然后在标准输出设备上输出", 词性),
14 | "排序",
15 | "");
16 | });
17 |
18 | https://github.com/program-in-chinese/webextension_github_code_translator/issues/8
19 | QUnit.test("首选[计][法]", function (assert) {
20 | assert.deepEqual(
21 | 首选(
22 | "n. [计][法] 授权;授权书(authorization的复数)", 词性),
23 | "授权",
24 | "");
25 | });
26 |
27 | QUnit.test("首选[计]", function (assert) {
28 | assert.deepEqual(
29 | 首选(
30 | "n. [计]由字母或数字组成的用户名称, 以标明用户的身份", 词性),
31 | "由字母或数字组成的用户名称",
32 | "");
33 | });
34 |
35 | QUnit.test("首选_带中文括号", function (assert) {
36 | assert.deepEqual(
37 | 首选("n. 小时(hour的复数形式)", 词性),
38 | "小时",
39 | "");
40 | });
41 |
42 | QUnit.test("首选_消除括号", function (assert) {
43 | assert.deepEqual(
44 | 消除括号内容("小时(hour的复数形式)", "(", ")"),
45 | "小时",
46 | "");
47 | });
48 |
49 | QUnit.test("首选_消除括号", function (assert) {
50 | assert.deepEqual(
51 | 消除所有括号内容("小时(hour的复数形式)"),
52 | "小时",
53 | "");
54 | });
55 |
56 | QUnit.test("取词_首字母大写", function (assert) {
57 | assert.deepEqual(
58 | 取字段中所有词("Apple"),
59 | ["Apple"],
60 | "");
61 | });
62 |
63 | QUnit.test("取词_单个", function (assert) {
64 | assert.deepEqual(
65 | 取字段中所有词("apple"),
66 | ["apple"],
67 | "");
68 | });
69 |
70 | QUnit.test("取词_带前后空格", function (assert) {
71 | assert.deepEqual(
72 | 取字段中所有词(" apple "),
73 | ["apple"],
74 | "");
75 | });
76 |
77 | QUnit.test("取词_两个词", function (assert) {
78 | assert.deepEqual(
79 | 取字段中所有词("apple_orange"),
80 | ["apple", "orange"],
81 | "");
82 | });
83 |
84 | QUnit.test("取词_两个词", function (assert) {
85 | assert.deepEqual(
86 | 取字段中所有词("appleOrange"),
87 | ["apple", "Orange"],
88 | "");
89 | });
90 |
91 | QUnit.test("取词_多个词", function (assert) {
92 | assert.deepEqual(
93 | 取字段中所有词("apple_orangePear"),
94 | ["apple", "orange", "Pear"],
95 | "");
96 | });
97 |
98 | QUnit.test("取词_中间带空格", function (assert) {
99 | assert.deepEqual(
100 | 取字段中所有词("apple orange"),
101 | [],
102 | "");
103 | });
104 |
105 | QUnit.test("拆分骆驼命名_小写单词", function (assert) {
106 | assert.deepEqual(
107 | 拆分骆驼命名("apple"),
108 | ["apple"],
109 | "");
110 | });
111 |
112 | QUnit.test("拆分骆驼命名_多个单词", function (assert) {
113 | assert.deepEqual(
114 | 拆分骆驼命名("appleOrange"),
115 | ["apple", "Orange"],
116 | "");
117 | });
118 |
119 | QUnit.test("拆分骆驼命名_全大写单词", function (assert) {
120 | assert.deepEqual(
121 | 拆分骆驼命名("READING"),
122 | ["READING"],
123 | "");
124 | });
125 |
126 | QUnit.test("拆分骆驼命名_部分连续大写单词", function (assert) {
127 | assert.deepEqual(
128 | 拆分骆驼命名("HTMLElement"),
129 | ["HTML", "Element"],
130 | "");
131 | });
132 |
--------------------------------------------------------------------------------
/功用/文本处理.js:
--------------------------------------------------------------------------------
1 |
2 | // 假设每个字段除了词, 其他都是非英文字符.
3 | // 仅翻译无空格的片段
4 | function 取字段中所有词(字段文本) {
5 | // 删去所有前后空格后再提取单词
6 | var 删除前后空格 = 字段文本.trim();
7 | // 确认无空格
8 | if (!删除前后空格.match(/^[^\s]+$/g)) {
9 | return [];
10 | }
11 | var 单词 = 删除前后空格.match(/[a-zA-Z]+/g);
12 | if (单词) {
13 | var 分词 = [];
14 | for (某单词 of 单词) {
15 | 分词 = 分词.concat(拆分骆驼命名(某单词))
16 | }
17 | return 分词;
18 | }
19 | return [];
20 | }
21 |
22 | function 取字段中最长句(字段) {
23 | var 句 = 字段.match(/[a-zA-Z\s]+/g);
24 | if (句 && 句.length > 0) {
25 | return 句[0].trim();
26 | }
27 | return 字段;
28 | }
29 |
30 | function 拆分骆驼命名(命名) {
31 | // 参考: https://stackoverflow.com/a/46409373/1536803
32 | // Firefox仍不支持lookbehinds: https://stackoverflow.com/questions/49816707/firefox-invalid-regex-group
33 | // 不知为何结果中有空字符串, 暂时过滤即可
34 | return 命名.split(/([A-Z]+|[A-Z]?[a-z]+)(?=[A-Z]|\b)/).filter(词 => 词);
35 | }
36 |
37 | function 消除所有括号内容(中文释义) {
38 | // 不确定是否存在多个括号的情况: 清理后.replace(/ *([^)]*) */g, ""); //
39 | let 清理后 = 消除括号内容(中文释义, "(", ")");
40 | 清理后 = 清理后.replace(/ *\([^)]*\) */g, "");
41 | 清理后 = 清理后.replace(/ *\[[^)]*\] */g, "");
42 | return 清理后.trim();
43 | }
44 |
45 | function 消除括号内容(中文释义, 开括号, 闭括号) {
46 | let 开括号位置 = 中文释义.indexOf(开括号);
47 | let 闭括号位置 = 中文释义.indexOf(闭括号);
48 | if (开括号位置 == -1 || 闭括号位置 == -1) {
49 | return 中文释义;
50 | }
51 | let 括号内容 = 中文释义.substring(开括号位置, 闭括号位置 + 1);
52 | return 中文释义.replace(括号内容, "");
53 | }
--------------------------------------------------------------------------------
/加载词典.js:
--------------------------------------------------------------------------------
1 | // 此文件拷贝自https://github.com/program-in-chinese/webextension_english_chinese_dictionary
2 | // 尽量勿手动修改
3 |
4 | const 词典路径 = '词典数据/词典'
5 | const 词形变化 = '词典数据/词形变化'
6 | const 文件扩展 = '.json'
7 | var 词典文件 = {};
8 | var 词形文件 = {};
9 | for (var 文件序号 = 0; 文件序号 < 1; 文件序号++) { // 16改为1
10 | 词典文件[文件序号] = false;
11 | }
12 | 词形文件[词形变化] = false;
13 |
14 | var 词典数据 = {};
15 | var 词形变化数据 = {};
16 |
17 | function 载入部分词典(文件) {
18 | return function () {
19 | var 文件路径 = 词典路径 + 文件 + 文件扩展;
20 | fetch(chrome.runtime.getURL(文件路径))
21 | .then((响应) => 响应.json())
22 | .then((数据) => {
23 | for (var 英文 in 数据) {
24 | 词典数据[英文] = 数据[英文];
25 | }
26 | 词典文件[文件] = true;
27 | });
28 | }
29 | }
30 |
31 | fetch(chrome.runtime.getURL(词形变化 + 文件扩展))
32 | .then((响应) => 响应.json())
33 | .then((数据) => {
34 | for (var 英文 in 数据) {
35 | 词形变化数据[英文] = 数据[英文];
36 | }
37 | 词形文件[词形变化] = true;
38 |
39 | for (var 文件 in 词典文件) {
40 | 载入部分词典(文件)();
41 | }
42 | });
43 |
44 | function 已载入词典() {
45 | for (var 文件 in 词典文件) {
46 | if (!词典文件[文件]) {
47 | return false;
48 | }
49 | }
50 | return 词形文件[词形变化];
51 | }
52 |
53 | function 查词(英文) {
54 | return { "中文": 取释义(词典数据, 英文), "词形": 提取词形(词形变化数据[英文]) };
55 | }
56 |
57 | /**
58 | * 注意: 此接口为外部调用!
59 | * @param {*} 待查词 {词1: 默认值, 词2: 默认值}
60 | * @param {*} 发送者
61 | * @param {*} 返回释义 {所有释义: {词1: "某词义1"}, {词2: "某词义2"}} }
62 | */
63 | function 查词接口(待查词, 发送者, 返回释义) {
64 | for (var 英文词 in 待查词) {
65 | 待查词[英文词] = 查词(英文词);
66 | }
67 | 返回释义({ 所有释义: 待查词 });
68 | return true;
69 | }
70 |
71 | chrome.runtime.onMessageExternal.addListener(查词接口);
--------------------------------------------------------------------------------
/图标/项目.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/program-in-chinese/webextension_github_code_translator/c9eb55237a64c2df684fd71e3acff2206e7bff2c/图标/项目.xcf
--------------------------------------------------------------------------------
/图标/项目_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/program-in-chinese/webextension_github_code_translator/c9eb55237a64c2df684fd71e3acff2206e7bff2c/图标/项目_32.png
--------------------------------------------------------------------------------
/图标/项目_48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/program-in-chinese/webextension_github_code_translator/c9eb55237a64c2df684fd71e3acff2206e7bff2c/图标/项目_48.png
--------------------------------------------------------------------------------
/图标/项目_96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/program-in-chinese/webextension_github_code_translator/c9eb55237a64c2df684fd71e3acff2206e7bff2c/图标/项目_96.png
--------------------------------------------------------------------------------
/弹窗/主界面.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/弹窗/主界面.js:
--------------------------------------------------------------------------------
1 | /* 尽量仅对命名进行翻译, 中间带空格的部分不翻译
2 | */
3 | var 词典插件链接 = "https://chrome.google.com/webstore/detail/%E7%A6%BB%E7%BA%BF%E8%8B%B1%E6%B1%89%E8%AF%8D%E5%85%B8/ndifefelacmidghjaehmhicbchbidhpe";
4 | var 命名词典 = {};
5 |
6 | var 字段中的词 = {};
7 |
8 | var 词典接口 = chrome.extension.getBackgroundPage();
9 |
10 | function 添加所有待查词(字段列表) {
11 | for (var i = 0; i < 字段列表.length; i++) {
12 | var 字段文本 = 字段列表[i].textContent;
13 | var 字段中单词 = 取字段中所有词(字段文本);
14 | 字段中的词[字段文本] = 字段中单词;
15 | for (单词 of 字段中单词) {
16 | // 如果非全大写, 则改为全小写(驼峰)
17 | if (单词 != 单词.toUpperCase()) {
18 | 单词 = 单词.toLowerCase();
19 | }
20 | 命名词典[单词] = false;
21 | }
22 | }
23 | }
24 |
25 | function 翻译(当前域名) {
26 | // TODO: 避免与`获取代码段()`重复
27 | var 编程语言 = "";
28 | var 原代码拷贝 = null;
29 | var 顶节点 = null;
30 | if (为码云页面(当前域名)) {
31 | 原代码拷贝 = document.body.getElementsByClassName('file_content')[0];
32 | 顶节点 = document.body;
33 | } else {
34 | 原代码拷贝 = document.getElementsByTagName('table')[0];
35 | 顶节点 = 原代码拷贝.parentElement;
36 | 编程语言 = 取编程语言(顶节点);
37 | }
38 | var 文本字段列表 = 取子文本节点(document);
39 |
40 | var 关键词词典 = 取所有关键词(编程语言);
41 | 添加所有待查词(文本字段列表);
42 |
43 | var 不在本地词汇 = [];
44 | for (var 英文词 in 命名词典) {
45 | var 词条 = 词典接口.查词(英文词);
46 | if (!词条.中文 && !(英文词 in 常用命名) && !(英文词 in 关键词词典) && !(英文词 in API词典)) {
47 | 不在本地词汇.push(英文词);
48 | }
49 | 命名词典[英文词] = 词条;
50 | }
51 | 不在本地词汇.sort(function (a, b) { return b.length - a.length });
52 |
53 | // TODO: 如果本地词库已满足查询, 不再查询外部词库
54 | chrome.runtime.sendMessage(
55 | "ndifefelacmidghjaehmhicbchbidhpe",
56 | 命名词典,
57 | function (返回值) {
58 | if (!返回值 && 不在本地词汇.length > 0) {
59 | 顶节点.insertBefore(添加链接元素("离线英汉词典插件", 词典插件链接), 顶节点.firstChild);
60 | var 文本元素 = document.createElement('span');
61 | 文本元素.style.fontSize = "18px";
62 | 文本元素.textContent = "未找到"
63 | + (不在本地词汇.length > 3 ? 不在本地词汇.slice(0, 3) + "等" : 不在本地词汇)
64 | + 不在本地词汇.length + "个词, 为更佳效果请安装77万词条的";
65 | 顶节点.insertBefore(文本元素, 顶节点.firstChild);
66 | } else {
67 | 命名词典 = 返回值.所有释义;
68 | }
69 |
70 | var 追查原词 = {};
71 | for (var 词 in 命名词典) {
72 |
73 | // TODO: 将词->原词缓冲到表, 避免翻译时重复检验是否有原型
74 | for (某词形 of 命名词典[词].词形) {
75 | if (某词形.类型 == "原型") {
76 | 追查原词[某词形.变化] = false;
77 | }
78 | }
79 |
80 | 命名词典[词] = 常用命名[词]
81 | ? { "中文": 常用命名[词] }
82 | : { "中文": 首选(命名词典[词].中文, 词性), "词形": 命名词典[词].词形 };
83 | }
84 |
85 | // TODO: 重构, 避免重复嵌套
86 | // 假设牛津三千词中都是原型词汇, 加入之前未查到, 原词也查不到; 如果之前都查到了, 原词不需再查.
87 | chrome.runtime.sendMessage(
88 | "ndifefelacmidghjaehmhicbchbidhpe",
89 | 追查原词,
90 | function (返回值) {
91 | if (返回值) {
92 | 追查原词 = 返回值.所有释义;
93 | for (var 词 in 追查原词) {
94 | 命名词典[词] = 常用命名[词]
95 | ? { "中文": 常用命名[词] }
96 | : { "中文": 首选(追查原词[词].中文, 词性), "词形": 追查原词[词].词形 };
97 | }
98 | }
99 |
100 | chrome.storage.sync.get({
101 | 翻译关键词: false
102 | }, function(结果) {
103 | 翻译字段列表(文本字段列表, 关键词词典, 结果.翻译关键词, 当前域名);
104 | });
105 |
106 | if (!为码云页面(当前域名)) {
107 | 顶节点.appendChild(document.createTextNode("编程语言: " + 编程语言), 原代码拷贝);
108 | }
109 | });
110 | }
111 | );
112 | }
113 |
114 | function 翻译字段(字段文本, 关键词词典) {
115 | var 所有单词 = 字段中的词[字段文本];
116 | for (单词 of 所有单词) {
117 | var 处理后词 = 单词;
118 |
119 | // TODO: 避免两次处理大小写
120 | if (处理后词 != 单词.toUpperCase()) {
121 | 处理后词 = 单词.toLowerCase();
122 | }
123 | if (处理后词 in 不翻译) {
124 | continue;
125 | }
126 | var 对应中文词 = 关键词词典[处理后词]
127 | || API词典[处理后词]
128 | || 命名词典[取复数原型(处理后词)].中文;
129 | if (对应中文词) {
130 | 字段文本 = 字段文本.replace(单词, 对应中文词);
131 | }
132 | }
133 | return 字段文本;
134 | }
135 |
136 | function 翻译字段列表(字段列表, 关键词词典, 翻译关键词, 当前域名) {
137 | for (字段 of 字段列表) {
138 |
139 | if (!翻译关键词 && 为关键词或核心API节点(字段.parentElement, 当前域名)) {
140 | continue;
141 | }
142 | // TODO: 避免某些文本中出现个别可识别的单词. 今后需进行语法分析.
143 | 字段.textContent = 翻译字段(字段.textContent, 关键词词典);
144 | }
145 | }
146 |
147 | function 获取代码段() {
148 | var 当前域名 = window.location.host;
149 |
150 | // TODO: 改为querySelector
151 | var 代码段节点 = 当前域名 == "gitee.com"
152 | ? document.body.getElementsByClassName('file_content')[0]
153 | : document.body.getElementsByTagName('table')[0]; // 默认, 适用于GitHub
154 |
155 | // GitHub: 父节点的class包含编程语言信息, 如class="blob-wrapper data type-python "
156 | return [当前域名, 代码段节点.parentElement.outerHTML];
157 | }
158 |
159 | // 需允许访问activeTab, 才能调用chrome.tabs.executeScript:
160 | function 翻译代码段() {
161 | chrome.tabs.executeScript({
162 | code: '(' + 获取代码段 + ')();'
163 | }, (结果) => {
164 | // 仅有代码段的HTML码, 非DOM结构
165 | var 当前域名 = 结果[0][0];
166 | if (为码云页面(当前域名)) {
167 | 添加CSS(码云css);
168 | }
169 | document.body.innerHTML = 结果[0][1];
170 | 翻译(当前域名);
171 | });
172 | }
173 |
174 | 翻译代码段();
175 |
--------------------------------------------------------------------------------
/弹窗/页面操作.js:
--------------------------------------------------------------------------------
1 | var 码云css = ["https://gitee.com/assets/application-e5df8140372297eda15f23497886ffdb.css"];
2 |
3 | function 添加CSS(链接) {
4 | for (某链接 of 链接) {
5 | var css资源 = document.createElement("link");
6 | css资源.rel = "stylesheet";
7 | css资源.type = "text/css";
8 | css资源.href = 某链接;
9 | document.getElementsByTagName("head")[0].appendChild(css资源);
10 | }
11 | }
12 |
13 | function 添加链接元素(显示, url) {
14 | var 链接 = document.createElement("a");
15 | 链接.href = url;
16 | 链接.text = 显示;
17 | return 链接;
18 | }
19 |
20 | function 取子文本节点(元素) {
21 | var 节点, 所有节点 = [], 遍历 = document.createTreeWalker(元素, NodeFilter.SHOW_TEXT, null, false);
22 | while (节点 = 遍历.nextNode()) 所有节点.push(节点);
23 | return 所有节点;
24 | }
25 |
26 | function 取编程语言(顶节点) {
27 | var 节点类型 = 顶节点.classList;
28 | if (节点类型.length == 3 && 节点类型[2].indexOf('type-') == 0) {
29 | return 节点类型[2].substring(5);
30 | }
31 | }
32 |
33 | function 为码云页面(当前域名) {
34 | return 当前域名 == "gitee.com";
35 | }
36 |
37 | function 为关键词或核心API节点(节点, 当前域名) {
38 | return 节点.tagName == "SPAN"
39 | && 节点.className == (为码云页面(当前域名) ? "kd" : "pl-k");
40 | }
--------------------------------------------------------------------------------
/截图/640_400_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/program-in-chinese/webextension_github_code_translator/c9eb55237a64c2df684fd71e3acff2206e7bff2c/截图/640_400_1.png
--------------------------------------------------------------------------------
/截图/640_400_gitee.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/program-in-chinese/webextension_github_code_translator/c9eb55237a64c2df684fd71e3acff2206e7bff2c/截图/640_400_gitee.png
--------------------------------------------------------------------------------
/查词.js:
--------------------------------------------------------------------------------
1 | // 此文件拷贝自https://github.com/program-in-chinese/webextension_english_chinese_dictionary
2 | // 尽量勿手动修改
3 |
4 | var 词形类型 = Object.freeze({
5 | "p": "过去式", // past tense
6 | "d": "过去分词",
7 | "i": "现在分词", // -ing
8 | "3": "第三人称单数",
9 | "r": "形容词比较级", // -er
10 | "t": "形容词最高级", // -est
11 | "s": "名词复数形式",
12 | "0": "原型",
13 | "1": "原型变换形式"
14 | });
15 |
16 | function 取释义(词典数据, 选中文本) {
17 | var 英文 = 选中文本.trim();
18 | return 词典数据[英文];
19 | }
20 |
21 | // 词形部分数据格式描述: https://github.com/skywind3000/ECDICT#%E8%AF%8D%E5%BD%A2%E5%8F%98%E5%8C%96
22 | function 提取词形(原字符串) {
23 | var 变化 = [];
24 | if (!原字符串) {
25 | return 变化;
26 | }
27 | var 词形字段 = 原字符串.split("/");
28 | for (var 某字段 of 词形字段) {
29 | var 分段 = 某字段.split(":");
30 |
31 | var 类型 = 词形类型[分段[0]];
32 | var 原型变化形式 = [];
33 | if (类型 == "原型变换形式") {
34 | for (var 变化形式 of 分段[1]) {
35 | 原型变化形式.push(词形类型[变化形式]);
36 | }
37 | }
38 | // 如hyphen(vt): s:hyphens/p:hyphened/i:/3:hyphens/d:, i与d内容缺失, 用空字符串占位
39 | 变化.push({
40 | "类型": 类型,
41 | "变化": 分段.length == 1 ? "" : (类型 == "原型变换形式" ? 原型变化形式 : 分段[1])
42 | }
43 | );
44 | }
45 | return 变化;
46 | }
--------------------------------------------------------------------------------
/源码翻译/常用词典.js:
--------------------------------------------------------------------------------
1 | var 常用命名 = {
2 | 'text': "文本",
3 | "get": "获取",
4 | "util": "功用",
5 | "hash": "哈希",
6 | "set": "置",
7 | "is": "为",
8 | "exception": "例外",
9 | "key": "键",
10 | "type": "类型",
11 | "name": "名称",
12 | "listener": "监听器",
13 | "class": "类",
14 | "method": "方法",
15 | "time": "时间",
16 | "event": "事件",
17 | "file": "文件",
18 | "new": "新",
19 | "add": "添加",
20 | "stream": "流",
21 | "default": "默认",
22 | "count": "计数",
23 | "focus": "聚焦",
24 | "value": "值",
25 | "input": "输入",
26 | "date": "日期",
27 | "long": "长整型",
28 | "size": "大小",
29 | "thread": "线程",
30 | "path": "路径",
31 | "parameter": "参数",
32 | "remove": "删除"
33 | };
34 |
35 | var 不翻译 = {
36 | "to": false,
37 | "of": false,
38 | "bean": false
39 | };
40 |
41 | var API词典 = {
42 | 'print': '打印',
43 | 'append': '添加',
44 | 'sort': '排序',
45 | 'len': '长度',
46 | 'end': '结尾'
47 | }
--------------------------------------------------------------------------------
/源码翻译/词典常量.js:
--------------------------------------------------------------------------------
1 | var 词性 = [
2 | "[j]",
3 | "[pl.]",
4 | "[专利]",
5 | "[临床]",
6 | "[主澳大利亚俚语]",
7 | "[主美国口语]",
8 | "[主美国新英格兰和中南部方言]",
9 | "[主美用英语]",
10 | "[主苏格兰英语]",
11 | "[主英国英语]",
12 | "[五金]",
13 | "[交]",
14 | "[交][水产]",
15 | "[人工智能]",
16 | "[人类]",
17 | "[会计]",
18 | "[作物]",
19 | "[俚语]",
20 | "[光]",
21 | "[免疫]",
22 | "[公路]",
23 | "[兽]",
24 | "[内科]",
25 | "[军]",
26 | "[军][化工]",
27 | "[军][核]",
28 | "[军][船]",
29 | "[农学]",
30 | "[农经]",
31 | "[冶]",
32 | "[分化]",
33 | "[制冷]",
34 | "[前缀]",
35 | "[加勒比英语]",
36 | "[加拿大英语]",
37 | "[动]",
38 | "[动][心理]",
39 | "[动力]",
40 | "[劳经]",
41 | "[化]",
42 | "[化学]",
43 | "[化工]",
44 | "[化工][电子]",
45 | "[医]",
46 | "[单复同]",
47 | "[印刷]",
48 | "[印度]",
49 | "[口语]",
50 | "[古生]",
51 | "[古语]",
52 | "[古语、书面语]",
53 | "[史]",
54 | "[园艺]",
55 | "[图情]",
56 | "[土壤]",
57 | "[地]",
58 | "[地物]",
59 | "[地理]",
60 | "[地理][水文]",
61 | "[地质]",
62 | "[地质][冶]",
63 | "[域]",
64 | "[声]",
65 | "[复]",
66 | "[复]n.[用作单]",
67 | "[复]n.[用作单或复]",
68 | "[复]n.[语]",
69 | "[复数]",
70 | "[复数,用作单数或复数]",
71 | "[天]",
72 | "[天物]",
73 | "[妇产]",
74 | "[宗]",
75 | "[家具]",
76 | "[岩]",
77 | "[工经]",
78 | "[希]",
79 | "[废语]",
80 | "[建]",
81 | "[律]",
82 | "[微]",
83 | "[德]",
84 | "[意]",
85 | "[拉]",
86 | "[拉][用于祈使语气]",
87 | "[拉丁语]",
88 | "[数]",
89 | "[数][光]",
90 | "[数][天]",
91 | "[无化]",
92 | "[无脊椎]",
93 | "[日语]",
94 | "[旧语]",
95 | "[昆]",
96 | "[有化]",
97 | "[服装]",
98 | "[木]",
99 | "[机]",
100 | "[材]",
101 | "[林]",
102 | "[树脂]",
103 | "[核]",
104 | "[植]",
105 | "[植保]",
106 | "[植物]",
107 | "[橡胶]",
108 | "[气象]",
109 | "[气象][物]",
110 | "[水产][无脊椎]",
111 | "[水利]",
112 | "[水文][地理]",
113 | "[水运]",
114 | "[水运][船]",
115 | "[油气]",
116 | "[泌尿]",
117 | "[法]",
118 | "[法语]",
119 | "[流]",
120 | "[测]",
121 | "[海洋]",
122 | "[涂料]",
123 | "[澳大利亚俚语]",
124 | "[澳大利亚口语]",
125 | "[激光]",
126 | "[炉窑]",
127 | "[牌]",
128 | "[物]",
129 | "[环境]",
130 | "[玻璃]",
131 | "[瑞士]",
132 | "[生]",
133 | "[生化]",
134 | "[生态]",
135 | "[生物]",
136 | "[生物物理]",
137 | "[生理]",
138 | "[用于祈使语气]",
139 | "[电]",
140 | "[电子]",
141 | "[电影]",
142 | "[电视]",
143 | "[电讯]",
144 | "[畜牧]",
145 | "[病毒]",
146 | "[皮革]",
147 | "[矿业]",
148 | "[矿物]",
149 | "[禽]",
150 | "[税收]",
151 | "[粗俗语]",
152 | "[粮食]",
153 | "[纺]",
154 | "[纺织业]",
155 | "[组织]",
156 | "[细胞]",
157 | "[经]",
158 | "[经管]",
159 | "[统计]",
160 | "[缩]",
161 | "[网络]",
162 | "[罕]",
163 | "[美]",
164 | "[美俗]",
165 | "[美口]",
166 | "[美国、加拿大口语]",
167 | "[美国中南部和南部方言]",
168 | "[美国俚语]",
169 | "[美国口语]",
170 | "[美国方言]",
171 | "[美国英语]",
172 | "[肿瘤]",
173 | "[胚]",
174 | "[能源]",
175 | "[脊椎]",
176 | "[自]",
177 | "[航]",
178 | "[航][安全]",
179 | "[航空]",
180 | "[船]",
181 | "[苏]",
182 | "[苏格兰和英格兰北部英语]",
183 | "[苏格兰英语]",
184 | "[英]",
185 | "[英国俚语]",
186 | "[英国口语]",
187 | "[英国方言]",
188 | "[英国英语]",
189 | "[英方]",
190 | "[药]",
191 | "[西]",
192 | "[解剖]",
193 | "[计]",
194 | "[计][印刷]",
195 | "[计][图情]",
196 | "[计][心理]",
197 | "[计][统计]",
198 | "[计][语]",
199 | "[计][通信]",
200 | "[计划]",
201 | "[计量]",
202 | "[诗]",
203 | "[语]",
204 | "[财政]",
205 | "[贬义]",
206 | "[贸易]",
207 | "[贸易][税收]",
208 | "[车辆]",
209 | "[通信]",
210 | "[遗]",
211 | "[遗][免疫]",
212 | "[邮]",
213 | "[金融]",
214 | "[铁路]",
215 | "[食品]",
216 | "[鱼]",
217 | "[鸟]",
218 | "a.",
219 | "abbr.",
220 | "adj.",
221 | "adv.",
222 | "art.",
223 | "aux.",
224 | "col.",
225 | "comb.",
226 | "conj.",
227 | "exclam.",
228 | "ind.",
229 | "ing.",
230 | "int.",
231 | "interj.",
232 | "n.",
233 | "na.",
234 | "num.",
235 | "pers.",
236 | "ph.",
237 | "phr.",
238 | "pl.",
239 | "pla.",
240 | "pn.",
241 | "pp.",
242 | "pr.",
243 | "pref.",
244 | "prep.",
245 | "pron.",
246 | "quant.",
247 | "st.",
248 | "stuff.",
249 | "suf.",
250 | "suff.",
251 | "un.",
252 | "v.",
253 | "vbl.",
254 | "vi.",
255 | "vt."
256 | ]
--------------------------------------------------------------------------------
/源码翻译/语言关键词词典.js:
--------------------------------------------------------------------------------
1 | // TODO: 并非所有编程语言都有.
2 | // !! 而且会影响命名翻译?
3 | var 通用关键词 = {
4 | "abstract": "抽象",
5 | "and": "且",
6 | "as": "as",
7 | "assert": "断言",
8 | "break": "跳出",
9 | "boolean": "布尔",
10 | "byte": "字节",
11 | "char": "字节",
12 | "const": "const",
13 | "case": "分支",
14 | "class": "类别",
15 | "catch": "接住",
16 | "continue": "继续",
17 | "default": "默认",
18 | "do": "执行",
19 | "double": "双浮点",
20 | "else": "否则",
21 | "enum": "枚举",
22 | "extends": "扩展",
23 | "extern": "外部",
24 | "false": "假",
25 | "final": "最终",
26 | "finally": "善后",
27 | "float": "单浮点",
28 | "for": "对于",
29 | "function": "函数",
30 | "global": "全局",
31 | "goto": "goto",
32 | "if": "如果",
33 | "implements": "实现",
34 | "import": "导入",
35 | "in": "在",
36 | "include": "包括",
37 | "instanceof": "为实例",
38 | "int": "整数",
39 | "interface": "接口",
40 | "is": "为",
41 | "long": "长整数",
42 | "native": "native",
43 | "new": "新",
44 | "null": "空",
45 | "or": "或",
46 | "package": "包",
47 | "private": "私有",
48 | "protected": "保护",
49 | "public": "公有",
50 | "return": "返回",
51 | "short": "短整数",
52 | "signed": "有符号",
53 | "sizeof": "大小",
54 | "static": "静态",
55 | "struct": "结构",
56 | "super": "父类",
57 | "switch": "岔",
58 | "synchronized": "同步",
59 | "this": "本身",
60 | "throw": "抛出",
61 | "throws": "会抛出",
62 | "transient": "transient",
63 | "true": "真",
64 | "try": "尝试",
65 | "typedef": "类型定义",
66 | "union": "联合",
67 | "unsigned": "无符号",
68 | "void": "无值",
69 | "volatile": "volatile",
70 | "while": "每当",
71 | "with": "with",
72 | "yield": "产出"
73 | }
74 |
75 | var 专用关键词 = {
76 | // https://msdn.microsoft.com/en-us/library/befeaky0.aspx
77 | "c": {
78 | "auto": "auto",
79 | "register": "register"
80 | },
81 | // http://php.net/manual/en/reserved.keywords.php
82 | "php": {
83 | // array()
84 | "callable": "可调用",
85 | "clone": "克隆",
86 | "const": "const",
87 | "declare": "声明",
88 | // die()
89 | "echo": "回响",
90 | "elseif": "否则如果",
91 | // empty()
92 | "enddeclare": "结束声明",
93 | "endfor": "结束for",
94 | "endforeach": "结束foreach",
95 | "endif": "结束if",
96 | "endswitch": "结束switch",
97 | "endwhile": "结束while",
98 | // eval()
99 | // exit()
100 | "foreach": "对每个",
101 | "implements": "实现",
102 | "include_once": "包括_单次",
103 | "instanceof": "为实例",
104 | "insteadof": "insteadof",
105 | "interface": "接口",
106 | // isset()
107 | // list()
108 | "namespace": "命名空间",
109 | "print": "打印",
110 | "require": "需要",
111 | "require": "需要_单次",
112 | "trait": "trait",
113 | // unset()
114 | "use": "use",
115 | "var": "var",
116 | "xor": "异或"
117 | },
118 | "javascript": {
119 | "arguments": "参数",
120 | "await": "等待",
121 | "debugger": "调试器",
122 | "delete": "删除",
123 | "eval": "eval",
124 | "export": "导出",
125 | "let": "让",
126 | "typeof": "为类型",
127 | "var": "变量"
128 | },
129 | /*
130 | 参考 http://zetcode.com/lang/python/keywords/
131 | import keyword
132 | print("Python keywords: ", keyword.kwlist)
133 | */
134 | "python": {
135 | "False": "假",
136 | "None": "空",
137 | "True": "真",
138 | "def": "定义",
139 | "del": "删除",
140 | "elif": "否则如果",
141 | "except": "except",
142 | "from": "从",
143 | "lambda": "lambda",
144 | "nonlocal": "nonlocal",
145 | "not": "不",
146 | "pass": "轮空",
147 | "raise": "抛出",
148 | },
149 | // 参考 https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
150 | "java": {
151 | "strictfp": "strictfp"
152 | }
153 | }
154 |
155 | const JavaScript关键词 = [
156 | "abstract",
157 | "break",
158 | "char",
159 | "debugger",
160 | "double",
161 | "export",
162 | "finally",
163 | "goto",
164 | "in",
165 | "let",
166 | "null",
167 | "public",
168 | "super",
169 | "throw",
170 | "try",
171 | "volatile",
172 | "arguments",
173 | "byte",
174 | "class",
175 | "default",
176 | "else",
177 | "extends",
178 | "float",
179 | "if",
180 | "instanceof",
181 | "long",
182 | "package",
183 | "return",
184 | "switch",
185 | "throws",
186 | "typeof",
187 | "while",
188 | "await",
189 | "case",
190 | "const",
191 | "delete",
192 | "enum",
193 | "false",
194 | "for",
195 | "implements",
196 | "int",
197 | "native",
198 | "private",
199 | "short",
200 | "synchronized",
201 | "transient",
202 | "var",
203 | "with",
204 | "boolean",
205 | "catch",
206 | "continue",
207 | "do",
208 | "eval",
209 | "final",
210 | "function",
211 | "import",
212 | "interface",
213 | "new",
214 | "protected",
215 | "static",
216 | "this",
217 | "true",
218 | "void",
219 | "yield"
220 | ];
221 |
222 | // 仅用于控制台下运行, 将通用关键词剔除后, 再加入专用关键词词典
223 | function 取专有关键词(所有关键词) {
224 | var 非通用关键词 = [];
225 | 所有关键词.sort();
226 | for (词 of 所有关键词) {
227 | if (!(词 in 通用关键词)) {
228 | 非通用关键词.push(词);
229 | }
230 | }
231 | console.log(非通用关键词);
232 | }
233 |
234 | function 取所有关键词(编程语言) {
235 | var 该语言关键词 = 专用关键词[编程语言];
236 | return 该语言关键词 ? Object.assign(该语言关键词, 通用关键词) : 通用关键词;
237 | }
238 |
--------------------------------------------------------------------------------
/源码翻译/释义处理.js:
--------------------------------------------------------------------------------
1 | var 词性_计算机 = "[计]";
2 |
3 | function 分词性(中文释义, 所有词性) {
4 | var 所有释义 = 中文释义.split('\\n');
5 | var 词性到释义 = {};
6 | for (var i in 所有释义) {
7 | var 除去词性 = 所有释义[i];
8 | var 当前词性 = '';
9 | for (var j in 所有词性) {
10 | var 词性 = 所有词性[j];
11 | if (除去词性.indexOf(词性) == 0) {
12 | 当前词性 = 词性;
13 | 除去词性 = 除去词性.substring(词性.length).trim();
14 | break;
15 | }
16 | }
17 | // 按逗号分隔词义
18 | // TODO: 也有分号分隔
19 | var 词义 = 除去词性.split(/[;;,]/);
20 | //console.log(词义)
21 | var 此词性的释义 = []
22 | for (var 索引 in 词义) {
23 | 此词性的释义.push(词义[索引].trim());
24 | }
25 | 词性到释义[当前词性] = 此词性的释义;
26 | }
27 | return 词性到释义;
28 | }
29 |
30 | function 首选(中文释义, 所有词性) {
31 | if (!中文释义) {
32 | return;
33 | }
34 | var 首选词义 = "";
35 | var 词性到释义 = 分词性(中文释义, 所有词性);
36 | //console.log(词性到释义);
37 | if (词性到释义[词性_计算机]) {
38 | 首选词义 = 词性到释义[词性_计算机][0];
39 | } else {
40 | // 取第一个词性的第一释义
41 | for (var 词性 in 词性到释义) {
42 | 首选词义 = 词性到释义[词性][0];
43 | break;
44 | }
45 | }
46 | 首选词义 = 消除所有括号内容(首选词义);
47 | return 首选词义;
48 | }
49 |
50 | function 取复数原型(词) {
51 | if (命名词典[词].词形) {
52 | var 原词 = 词;
53 | var 为复数形式 = false;
54 | for (某词形 of 命名词典[词].词形) {
55 | if (某词形.类型 == "原型变换形式" && 某词形.变化.includes("名词复数形式")) {
56 | 为复数形式 = true;
57 | }
58 | if (某词形.类型 == "原型") {
59 | 原词 = 某词形.变化;
60 | }
61 | }
62 | if (为复数形式) {
63 | return 原词;
64 | }
65 | }
66 | return 词;
67 | }
68 |
--------------------------------------------------------------------------------
/词典数据/词形变化.json:
--------------------------------------------------------------------------------
1 | {
2 | "abandon":"d:abandoned/p:abandoned/i:abandoning/3:abandons",
3 | "abandoned":"0:abandon/1:dp/p:abandoned/d:abandoned",
4 | "ability":"s:abilities",
5 | "absence":"s:absences",
6 | "absent":"p:absented/i:absenting/d:absented/3:absents",
7 | "absolute":"s:absolutes",
8 | "absorb":"d:absorbed/p:absorbed/3:absorbs/i:absorbing",
9 | "abuse":"d:abused/s:abuses/i:abusing/3:abuses/p:abused",
10 | "academic":"s:academics",
11 | "accent":"s:accents/p:accented/i:accenting/d:accented/3:accents",
12 | "accept":"d:accepted/p:accepted/i:accepting/3:accepts",
13 | "access":"d:accessed/i:accessing/3:accesses/s:accesses/p:accessed",
14 | "accident":"s:accidents",
15 | "accidental":"s:accidentals",
16 | "accommodation":"s:accommodations",
17 | "accompany":"d:accompanied/p:accompanied/i:accompanying/3:accompanies",
18 | "account":"s:accounts/d:accounted/i:accounting/3:accounts/p:accounted",
19 | "accuse":"d:accused/p:accused/i:accusing/3:accuses",
20 | "achieve":"d:achieved/i:achieving/p:achieved/3:achieves",
21 | "achievement":"s:achievements",
22 | "acid":"s:acids",
23 | "acknowledge":"p:acknowledged/d:acknowledged/3:acknowledges/i:acknowledging",
24 | "acquire":"d:acquired/p:acquired/i:acquiring/3:acquires",
25 | "act":"i:acting/s:acts/p:acted/d:acted/3:acts",
26 | "action":"s:actions/i:actioning/p:actioned/3:actions/f:actions",
27 | "active":"s:actives",
28 | "activity":"s:activities",
29 | "actor":"s:actors",
30 | "actual":"s:actuals",
31 | "ad":"s:ads",
32 | "adapt":"d:adapted/i:adapting/p:adapted/3:adapts",
33 | "add":"p:added/d:added/i:adding/3:adds",
34 | "addition":"s:additions",
35 | "address":"d:addressed/i:addressing/s:addresses/p:addressed/3:addresses",
36 | "adjust":"d:adjusted/i:adjusting/p:adjusted/3:adjusts",
37 | "admiration":"s:admirations",
38 | "admire":"p:admired/d:admired/i:admiring/3:admires",
39 | "admit":"p:admitted/d:admitted/3:admits/i:admitting",
40 | "adopt":"d:adopted/p:adopted/i:adopting/3:adopts",
41 | "adult":"s:adults",
42 | "advance":"s:advances/d:advanced/p:advanced/i:advancing/3:advances",
43 | "advanced":"0:advance/1:dp/p:advanced/d:advanced",
44 | "advantage":"s:advantages/d:advantaged/i:advantaging/p:advantaged/3:advantages",
45 | "adventure":"s:adventures/i:adventuring/p:adventured/3:adventures/d:adventured",
46 | "advertise":"d:advertised/p:advertised/i:advertising/3:advertises",
47 | "advertisement":"s:advertisements",
48 | "advertising":"i:advertising/0:advertising/1:i",
49 | "advise":"d:advised/p:advised/i:advising/3:advises",
50 | "affair":"s:affairs",
51 | "affect":"d:affected/i:affecting/3:affects/p:affected/s:affects",
52 | "affection":"s:affections",
53 | "afford":"d:afforded/3:affords/p:afforded/i:affording",
54 | "afternoon":"s:afternoons",
55 | "age":"s:ages/d:aged/i:ageing/3:ages/p:aged",
56 | "aged":"1:dp/0:age/d:aged",
57 | "agency":"s:agencies",
58 | "agent":"s:agents",
59 | "agree":"d:agreed/p:agreed/3:agrees/i:agreeing",
60 | "agreement":"s:agreements",
61 | "aid":"s:aids/d:aided/i:aiding/p:aided/3:aids",
62 | "aim":"s:aims/3:aims/p:aimed/d:aimed/i:aiming",
63 | "air":"d:aired/s:airs/i:airing/p:aired/3:airs",
64 | "airport":"s:airports",
65 | "alarm":"s:alarms/d:alarmed/p:alarmed/i:alarming/3:alarms",
66 | "alarmed":"0:alarm/1:dp/d:alarmed/p:alarmed",
67 | "alarming":"0:alarm/1:i/i:alarming",
68 | "alcohol":"s:alcohols",
69 | "alcoholic":"s:alcoholics",
70 | "allied":"0:ally/1:dp/d:allied",
71 | "allow":"d:allowed/i:allowing/3:allows/p:allowed",
72 | "ally":"s:allies/d:allied/p:allied/i:allying/3:allies",
73 | "alphabet":"s:alphabets",
74 | "alter":"d:altered/i:altering/3:alters/p:altered",
75 | "alternative":"s:alternatives",
76 | "amaze":"p:amazed/3:amazes/i:amazing/d:amazed/s:amazes",
77 | "amazed":"p:amazed/0:amazed/1:pd/d:amazed",
78 | "amazing":"i:amazing/0:amazing/1:i",
79 | "ambition":"s:ambitions/f:ambitions",
80 | "ambulance":"s:ambulances",
81 | "amount":"s:amounts/p:amounted/3:amounts/i:amounting/d:amounted",
82 | "amuse":"p:amused/d:amused/i:amusing/3:amuses/s:amuses",
83 | "amused":"d:amused/0:amused/1:dp/p:amused",
84 | "amusing":"i:amusing/0:amusing/1:i",
85 | "analyse":"d:analysed/i:analysing/p:analysed/3:analyses/s:analyses",
86 | "analysis":"s:analyses",
87 | "ancient":"s:ancients",
88 | "anger":"d:angered/p:angered/s:angers/3:angers/i:angering",
89 | "angle":"s:angles/d:angled/i:angling/p:angled/3:angles",
90 | "angry":"r:angrier",
91 | "animal":"s:animals",
92 | "ankle":"s:ankles",
93 | "anniversary":"s:anniversaries",
94 | "announce":"p:announced/d:announced/i:announcing/3:announces",
95 | "annoy":"p:annoyed/3:annoys/d:annoyed/i:annoying",
96 | "annoyed":"d:annoyed/0:annoyed/1:dp/p:annoyed",
97 | "annoying":"0:annoy/1:i/i:annoying",
98 | "annual":"s:annuals",
99 | "answer":"s:answers/p:answered/d:answered/i:answering/3:answers",
100 | "anticipate":"d:anticipated/i:anticipating/p:anticipated/3:anticipates",
101 | "anxiety":"s:anxieties",
102 | "anyway":"s:anyways",
103 | "apartment":"s:apartments",
104 | "apologize":"p:apologized/i:apologizing/3:apologizes/d:apologized",
105 | "appeal":"s:appeals/p:appealed/i:appealing/d:appealed/3:appeals",
106 | "appear":"p:appeared/3:appears/i:appearing/d:appeared",
107 | "appearance":"s:appearances",
108 | "apple":"s:apples",
109 | "application":"s:applications",
110 | "apply":"d:applied/3:applies/i:applying/p:applied",
111 | "appoint":"d:appointed/p:appointed/i:appointing/3:appoints",
112 | "appointment":"s:appointments",
113 | "appreciate":"d:appreciated/p:appreciated/i:appreciating/3:appreciates",
114 | "approach":"s:approaches/p:approached/i:approaching/d:approached/3:approaches",
115 | "appropriate":"d:appropriated/3:appropriates/p:appropriated/i:appropriating",
116 | "approval":"s:approvals",
117 | "approve":"d:approved/p:approved/i:approving/3:approves",
118 | "approving":"0:approve/1:i/i:approving",
119 | "approximate":"i:approximating/3:approximates/d:approximated/p:approximated",
120 | "area":"s:areas",
121 | "argue":"d:argued/p:argued/3:argues/i:arguing",
122 | "argument":"s:arguments",
123 | "arise":"i:arising/3:arises/p:arose/d:arisen",
124 | "arm":"s:arms/d:armed/i:arming/p:armed/3:arms",
125 | "armed":"0:arm/1:dp/d:armed",
126 | "arms":"1:s3/0:arm",
127 | "army":"s:armies",
128 | "arrange":"d:arranged/i:arranging/p:arranged/3:arranges",
129 | "arrangement":"s:arrangements",
130 | "arrest":"d:arrested/s:arrests/i:arresting/p:arrested/3:arrests",
131 | "arrival":"s:arrivals",
132 | "arrive":"p:arrived/d:arrived/i:arriving/3:arrives",
133 | "arrow":"s:arrows/p:arrowed/i:arrowing",
134 | "art":"s:arts",
135 | "article":"s:articles/d:articled/i:articling/p:articled/3:articles",
136 | "artificial":"s:artificials",
137 | "artist":"s:artists",
138 | "aside":"s:asides",
139 | "ask":"p:asked/d:asked/i:asking/3:asks",
140 | "aspect":"s:aspects",
141 | "assist":"d:assisted/i:assisting/p:assisted/3:assists",
142 | "assistant":"s:assistants",
143 | "associate":"d:associated/s:associates/i:associating/p:associated/3:associates",
144 | "association":"s:associations",
145 | "assume":"d:assumed/i:assuming/p:assumed/3:assumes",
146 | "assure":"p:assured/d:assured/3:assures/i:assuring",
147 | "atmosphere":"s:atmospheres",
148 | "atom":"s:atoms",
149 | "attach":"d:attached/i:attaching/3:attaches/p:attached",
150 | "attached":"0:attach/1:dp/d:attached/p:attached",
151 | "attack":"s:attacks/d:attacked/p:attacked/i:attacking/3:attacks",
152 | "attempt":"s:attempts/i:attempting/d:attempted/p:attempted/3:attempts",
153 | "attempted":"0:attempt/1:dp/p:attempted/d:attempted",
154 | "attend":"i:attending/d:attended/p:attended/3:attends",
155 | "attention":"s:attentions",
156 | "attitude":"s:attitudes",
157 | "attorney":"s:attorneys",
158 | "attract":"d:attracted/p:attracted/3:attracts/i:attracting",
159 | "attraction":"s:attractions",
160 | "audience":"s:audiences",
161 | "aunt":"s:aunts",
162 | "author":"s:authors/i:authoring/p:authored/3:authors/d:authored/f:authors",
163 | "authority":"s:authorities",
164 | "automatic":"s:automatics",
165 | "average":"s:averages/i:averaging/p:averaged/d:averaged/3:averages",
166 | "avoid":"d:avoided/i:avoiding/p:avoided/3:avoids",
167 | "awake":"p:awoke/d:awoken/3:awakes/i:awaking",
168 | "award":"d:awarded/s:awards/p:awarded/i:awarding/3:awards",
169 | "baby":"s:babies/i:babying/p:babied/3:babies/d:babied",
170 | "back":"d:backed/s:backs/p:backed/i:backing/3:backs",
171 | "background":"s:backgrounds/f:backgrounds",
172 | "bacteria":"0:bacterium/1:s",
173 | "bad":"r:worse/t:worst",
174 | "bag":"s:bags/p:bagged/d:bagged/i:bagging/3:bags",
175 | "baggage":"s:baggages",
176 | "bake":"i:baking/d:baked/p:baked/3:bakes",
177 | "balance":"d:balanced/i:balancing/s:balances/3:balances/p:balanced",
178 | "ball":"s:balls/p:balled/i:balling/3:balls/d:balled",
179 | "ban":"d:banned/i:banning/p:banned/s:bans/3:bans",
180 | "band":"s:bands/3:bands/d:banded/i:banding/p:banded",
181 | "bandage":"s:bandages/d:bandaged/p:bandaged/i:bandaging/3:bandages",
182 | "bank":"s:banks/i:banking/d:banked/p:banked/3:banks/f:banks",
183 | "bar":"s:bars/d:barred/p:barred/i:barring/3:bars",
184 | "bargain":"s:bargains/i:bargaining/d:bargained/p:bargained/3:bargains",
185 | "barrier":"s:barriers",
186 | "base":"d:based/p:based/i:basing/3:bases/r:baser",
187 | "basic":"s:basics",
188 | "bath":"s:baths/3:baths/i:/p:bathed/d:bathed",
189 | "bathroom":"s:bathrooms",
190 | "battery":"s:batteries",
191 | "battle":"s:battles/i:battling/p:battled/d:battled/3:battles",
192 | "bay":"s:bays/i:baying/p:bayed/3:bays/d:bayed",
193 | "be":"p:was/3:is/d:been/i:being",
194 | "beach":"s:beaches/p:beached/d:beached/i:beaching/3:beaches",
195 | "beak":"s:beaks/i:beaking/p:beaked/f:beaks",
196 | "bear":"d:born/i:bearing/p:bore/3:bears/s:bears",
197 | "beard":"s:beards/i:bearding/p:bearded/3:beards/d:bearded",
198 | "beat":"p:beat/0:beat/1:pd/d:beaten/i:beating/3:beats/s:beats",
199 | "beauty":"s:beauties",
200 | "become":"p:became/d:become/0:become/1:d/3:becomes/i:becoming",
201 | "bed":"s:beds/d:bedded/i:bedding/p:bedded/3:beds",
202 | "bedroom":"s:bedrooms",
203 | "beef":"d:beefed/i:beefing/p:beefed/s:beefs/3:beefs",
204 | "beer":"s:beers",
205 | "begin":"p:began/i:beginning/d:begun/3:begins",
206 | "beginning":"0:begin/1:i/s:beginnings/i:beginning",
207 | "behave":"i:behaving/p:behaved/d:behaved/3:behaves",
208 | "behaviour":"s:behaviours",
209 | "belief":"s:beliefs",
210 | "believe":"p:believed/3:believes/d:believed/i:believing",
211 | "bell":"s:bells/p:belled/i:belling/3:bells/d:belled",
212 | "belong":"i:belonging/p:belonged/3:belongs/d:belonged",
213 | "belt":"s:belts/p:belted/i:belting/d:belted/3:belts",
214 | "bend":"p:bent/i:bending/d:bent/s:bends/3:bends",
215 | "benefit":"s:benefits/d:benefited/3:benefits/p:benefited/i:benefiting",
216 | "bent":"0:bend/1:pd/d:bent/p:bent/s:bents",
217 | "bet":"s:bets/i:betting/p:bet/0:bet/1:pd/3:bets/d:bet",
218 | "better":"0:good/1:r/d:bettered/s:betters/i:bettering/p:bettered/3:betters",
219 | "betting":"0:bet/1:i/i:betting/s:bettings",
220 | "bicycle":"s:bicycles/p:bicycled/i:bicycling/d:bicycled/3:bicycles",
221 | "bid":"s:bids/d:bid/0:bid/1:dp/i:bidding/p:bade/3:bids",
222 | "big":"t:biggest/r:bigger",
223 | "bill":"s:bills/d:billed/i:billing/p:billed/3:bills",
224 | "bin":"s:bins/p:binned/d:binned/i:binning/3:bins",
225 | "bird":"s:birds/i:birding/p:birded/3:birds/d:birded/f:birds",
226 | "birth":"s:births/i:birthing/p:birthed/3:births/d:birthed",
227 | "birthday":"s:birthdays",
228 | "biscuit":"s:biscuits",
229 | "bit":"s:bits/0:bite/1:pd",
230 | "bite":"p:bit/i:biting/s:bites/3:bites/d:bit",
231 | "bitter":"s:bitters/i:bittering/p:bittered/3:bitters/d:bittered",
232 | "black":"s:blacks/p:blacked/r:blacker/t:blackest/d:blacked/i:blacking/3:blacks",
233 | "blade":"s:blades/p:bladed",
234 | "blame":"d:blamed/p:blamed/i:blaming/3:blames",
235 | "blank":"s:blanks/p:blanked/d:blanked/i:blanking/r:blanker/3:blanks",
236 | "blind":"s:blinds/d:blinded/p:blinded/r:blinder/i:blinding/3:blinds",
237 | "block":"s:blocks/d:blocked/i:blocking/p:blocked/3:blocks",
238 | "blonde":"s:blondes",
239 | "blood":"s:bloods/d:blooded/i:blooding/p:blooded/3:bloods",
240 | "blow":"p:blew/d:blown/i:blowing/s:blows/3:blows",
241 | "blue":"s:blues/i:bluing/p:blued/3:blues/d:blued",
242 | "board":"s:boards/p:boarded/d:boarded/i:boarding/3:boards",
243 | "boat":"s:boats/i:boating/p:boated/3:boats/d:boated",
244 | "body":"s:bodies/i:bodying/p:bodied/3:bodies/d:bodied",
245 | "boil":"i:boiling/d:boiled/3:boils/p:boiled/s:boils",
246 | "bomb":"s:bombs/d:bombed/i:bombing/p:bombed/3:bombs",
247 | "bone":"s:bones/i:boning/p:boned/3:bones/d:boned",
248 | "book":"s:books/d:booked/p:booked/i:booking/3:books",
249 | "boot":"s:boots/d:booted/p:booted/i:booting/3:boots",
250 | "border":"s:borders/i:bordering/d:bordered/p:bordered/3:borders",
251 | "bore":"0:bear/1:p/i:boring/p:bored/3:bores/d:bored/s:bores",
252 | "bored":"d:bored/0:bored/1:dp/p:bored",
253 | "boring":"i:boring/0:boring/1:i/s:borings",
254 | "borrow":"d:borrowed/p:borrowed/i:borrowing/3:borrows",
255 | "boss":"s:bosses/i:bossing/p:bossed/3:bosses/d:bossed",
256 | "bother":"d:bothered/i:bothering/p:bothered/3:bothers",
257 | "bottle":"s:bottles/d:bottled/p:bottled/i:bottling/3:bottles",
258 | "bottom":"s:bottoms/i:bottoming/p:bottomed/3:bottoms/d:bottomed",
259 | "bound":"0:bind/1:dp/s:bounds/d:bounded/i:bounding/p:bound/3:bounds",
260 | "bowl":"s:bowls/p:bowled/d:bowled/i:bowling/3:bowls",
261 | "box":"s:boxes/d:boxed/p:boxed/i:boxing/3:boxes",
262 | "boy":"s:boys",
263 | "boyfriend":"s:boyfriends",
264 | "brain":"s:brains/i:braining/p:brained/3:brains/d:brained",
265 | "branch":"s:branches/i:branching/p:branched/3:branches/d:branched",
266 | "brand":"s:brands/d:branded/i:branding/p:branded/3:brands",
267 | "brave":"p:braved/r:braver/t:bravest/i:braving/d:braved/3:braves/s:braves",
268 | "bread":"s:breads/i:breading/p:breaded/3:breads/d:breaded",
269 | "break":"p:broke/d:broken/i:breaking/3:breaks/s:breaks",
270 | "breakfast":"s:breakfasts/p:breakfasted/i:breakfasting/d:breakfasted/3:breakfasts",
271 | "breast":"s:breasts/p:breasted/i:breasting/d:breasted/3:breasts",
272 | "breath":"s:breaths",
273 | "breathe":"i:breathing/p:breathed/3:breathes/d:breathed",
274 | "breathing":"0:breathe/1:i/i:breathing/s:breathings",
275 | "breed":"s:breeds/d:bred/p:bred/i:breeding/3:breeds",
276 | "brick":"s:bricks/d:bricked/i:bricking",
277 | "bridge":"s:bridges/d:bridged/i:bridging/p:bridged/3:bridges",
278 | "brief":"d:briefed/s:briefs/i:briefing/t:briefest/r:briefer/p:briefed/3:briefs",
279 | "bright":"r:brighter/t:brightest",
280 | "brilliant":"s:brilliants",
281 | "bring":"d:brought/p:brought/i:bringing/3:brings",
282 | "broad":"r:broader/t:broadest/s:broads",
283 | "broadcast":"s:broadcasts/d:broadcast/0:broadcast/1:dp/i:broadcasting/3:broadcasts/p:broadcast",
284 | "broken":"0:break/1:d/d:broken",
285 | "brother":"s:brothers",
286 | "brown":"s:browns/p:browned/r:browner/d:browned/i:browning/3:browns",
287 | "brush":"p:brushed/i:brushing/s:brushes/d:brushed/3:brushes",
288 | "bubble":"s:bubbles/i:bubbling/p:bubbled/d:bubbled/3:bubbles",
289 | "budget":"s:budgets/d:budgeted/p:budgeted/i:budgeting/3:budgets",
290 | "build":"d:built/i:building/p:built/3:builds",
291 | "building":"0:build/1:i/s:buildings/i:building",
292 | "bullet":"s:bullets",
293 | "bunch":"s:bunches/d:bunched/i:bunching/p:bunched/3:bunches",
294 | "burn":"d:burnt/i:burning/p:burned/s:burns/3:burns",
295 | "burnt":"0:burn/1:dp/d:burnt",
296 | "burst":"p:burst/0:burst/1:pd/i:bursting/s:bursts/d:burst/3:bursts",
297 | "bury":"d:buried/i:burying/p:buried/3:buries",
298 | "bus":"s:buses/i:bussing/p:bussed/3:busses/d:bussed",
299 | "bush":"s:bushes/d:bushed/i:bushing/p:bushed/3:bushes",
300 | "business":"s:businesses",
301 | "businessman":"s:businessmen",
302 | "busy":"t:busiest/p:busied/r:busier/i:busying/d:busied/3:busies",
303 | "butter":"d:buttered/i:buttering/p:buttered/s:butters/3:butters",
304 | "button":"s:buttons/p:buttoned/i:buttoning/d:buttoned/3:buttons",
305 | "buy":"p:bought/i:buying/d:bought/3:buys/s:buys",
306 | "buyer":"s:buyers",
307 | "bye":"s:byes",
308 | "cabinet":"s:cabinets",
309 | "cable":"s:cables/p:cabled/d:cabled/i:cabling/3:cables",
310 | "cake":"s:cakes/d:caked/i:caking/p:caked/3:cakes",
311 | "calculate":"d:calculated/i:calculating/p:calculated/3:calculates",
312 | "calculation":"s:calculations",
313 | "call":"d:called/p:called/i:calling/s:calls/3:calls",
314 | "calm":"r:calmer/i:calming/p:calmed/d:calmed/3:calms",
315 | "camera":"s:cameras",
316 | "camp":"s:camps/i:camping/p:camped/d:camped/r:camper/3:camps",
317 | "campaign":"s:campaigns/i:campaigning/p:campaigned/d:campaigned/3:campaigns",
318 | "camping":"0:camp/1:i/i:camping",
319 | "can":"s:cans/i:/p:could/3:can/d:",
320 | "cancel":"d:cancelled/p:cancelled/i:cancelling/3:cancels",
321 | "cancer":"s:cancers",
322 | "candidate":"s:candidates",
323 | "candy":"p:candied/s:candies/d:candied/i:candying/3:candies",
324 | "cap":"s:caps/d:capped/i:capping/p:capped/3:caps",
325 | "capacity":"s:capacities",
326 | "capital":"s:capitals",
327 | "captain":"s:captains/p:captained/d:captained/i:captaining/3:captains",
328 | "capture":"d:captured/p:captured/i:capturing/3:captures/s:captures",
329 | "car":"s:cars",
330 | "card":"s:cards/p:carded/i:carding/3:cards/d:carded",
331 | "cardboard":"s:cardboards",
332 | "care":"p:cared/3:cares/d:cared/i:caring/s:cares",
333 | "career":"s:careers/p:careered/i:careering/3:careers/d:careered",
334 | "carpet":"s:carpets/d:carpeted/p:carpeted/i:carpeting/3:carpets",
335 | "carrot":"s:carrots",
336 | "carry":"d:carried/i:carrying/p:carried/3:carries",
337 | "case":"s:cases/i:casing/p:cased/3:cases/d:cased",
338 | "cash":"i:cashing/d:cashed/p:cashed/3:cashes",
339 | "cast":"d:cast/0:cast/1:dp/i:casting/p:cast/3:casts/s:casts",
340 | "castle":"s:castles/i:castling/p:castled/3:castles/d:castled",
341 | "cat":"s:cats/i:catting/p:catted/3:cats/d:catted",
342 | "catch":"d:caught/p:caught/i:catching/3:catches/s:catches",
343 | "category":"s:categories",
344 | "cause":"d:caused/i:causing/s:causes/p:caused/3:causes",
345 | "CD":"s:cds",
346 | "cease":"d:ceased/3:ceases/p:ceased/i:ceasing",
347 | "ceiling":"s:ceilings",
348 | "celebrate":"i:celebrating/p:celebrated/d:celebrated/3:celebrates",
349 | "celebration":"s:celebrations",
350 | "cell":"s:cells",
351 | "cellphone":"s:cellphones",
352 | "cent":"s:cents",
353 | "centimetre":"s:centimetres",
354 | "centre":"s:centres/p:centred/d:centred/3:centres/i:centring",
355 | "century":"s:centuries",
356 | "ceremony":"s:ceremonies",
357 | "certificate":"s:certificates/d:certificated/p:certificated/i:certificating/3:certificates",
358 | "chain":"s:chains/d:chained/p:chained/i:chaining/3:chains",
359 | "chair":"s:chairs/d:chaired/p:chaired/i:chairing/3:chairs",
360 | "chairman":"s:chairmen/i:chairmanning/p:chairmanned/3:chairmans/d:chairmanned/f:chairmen",
361 | "challenge":"s:challenges/d:challenged/p:challenged/i:challenging/3:challenges",
362 | "chamber":"s:chambers/i:chambering/p:chambered/3:chambers/d:chambered",
363 | "chance":"s:chances/p:chanced/d:chanced/i:chancing/3:chances",
364 | "change":"s:changes/d:changed/i:changing/p:changed/3:changes",
365 | "channel":"s:channels/d:channelled/i:channelling/p:channelled/3:channels",
366 | "chapter":"s:chapters",
367 | "character":"s:characters/i:charactering/p:charactered/3:characters/d:charactered",
368 | "characteristic":"s:characteristics",
369 | "charge":"s:charges/d:charged/p:charged/i:charging/3:charges",
370 | "charity":"s:charities",
371 | "chart":"s:charts/i:charting/d:charted/3:charts/p:charted",
372 | "chase":"i:chasing/d:chased/p:chased/3:chases/s:chases",
373 | "chat":"i:chatting/p:chatted/s:chats/d:chatted/3:chats",
374 | "cheap":"r:cheaper/t:cheapest",
375 | "cheat":"i:cheating/d:cheated/p:cheated/s:cheats/3:cheats",
376 | "check":"i:checking/d:checked/p:checked/s:checks/3:checks",
377 | "cheek":"s:cheeks/p:cheeked/i:cheeking/3:cheeks/d:cheeked",
378 | "cheese":"d:cheesed/0:cheese/i:cheesing/3:cheese/1:3/p:cheesed/s:cheeses",
379 | "chemical":"s:chemicals",
380 | "chemist":"s:chemists",
381 | "cheque":"s:cheques/f:cheques",
382 | "chest":"s:chests/p:chested",
383 | "chew":"i:chewing/p:chewed/d:chewed/3:chews/s:chews",
384 | "chicken":"s:chickens/p:chickened/d:chickened/i:chickening",
385 | "chief":"s:chiefs",
386 | "child":"s:children",
387 | "chin":"s:chins/p:chinned/i:chinning/3:chins/d:chinned",
388 | "chip":"s:chips/p:chipped/d:chipped/i:chipping/3:chips",
389 | "chocolate":"s:chocolates",
390 | "choice":"s:choices",
391 | "choose":"d:chosen/p:chose/i:choosing/3:chooses",
392 | "chop":"d:chopped/s:chops/i:chopping/p:chopped/3:chops",
393 | "church":"s:churches/i:churching/p:churched/3:churches/d:churched",
394 | "cigarette":"s:cigarettes",
395 | "cinema":"s:cinemas",
396 | "circle":"s:circles/p:circled/i:circling/d:circled/3:circles",
397 | "circumstance":"s:circumstances",
398 | "citizen":"s:citizens",
399 | "city":"s:cities",
400 | "claim":"p:claimed/s:claims/3:claims/d:claimed/i:claiming",
401 | "clap":"p:clapped/i:clapping/d:clapped/3:claps/s:claps",
402 | "class":"s:classes/d:classed/i:classing/p:classed/3:classes",
403 | "classic":"s:classics",
404 | "classroom":"s:classrooms",
405 | "clean":"i:cleaning/d:cleaned/r:cleaner/p:cleaned/3:cleans/t:cleanest",
406 | "clear":"d:cleared/r:clearer/p:cleared/i:clearing/t:clearest/3:clears",
407 | "clerk":"s:clerks/i:clerking/p:clerked/3:clerks/d:clerked",
408 | "clever":"r:cleverer/t:cleverest",
409 | "click":"p:clicked/i:clicking/s:clicks/3:clicks/d:clicked",
410 | "client":"s:clients",
411 | "climate":"s:climates",
412 | "climb":"p:climbed/i:climbing/d:climbed/3:climbs/s:climbs",
413 | "climbing":"0:climb/1:i/i:climbing",
414 | "clock":"s:clocks/p:clocked/d:clocked/i:clocking/3:clocks",
415 | "close":"p:closed/r:closer/d:closed/i:closing/t:closest/3:closes",
416 | "closed":"0:close/1:pd/d:closed/p:closed",
417 | "closet":"s:closets/d:closeted/p:closeted/i:closetting/3:closets",
418 | "cloth":"s:cloths",
419 | "clothes":"s:clothes/0:clothes/1:s",
420 | "clothing":"i:clothing/0:clothing/1:i",
421 | "cloud":"s:clouds/d:clouded/p:clouded/i:clouding/3:clouds",
422 | "club":"s:clubs/d:clubbed/i:clubbing/p:clubbed/3:clubs",
423 | "CM":"s:cms",
424 | "coach":"s:coaches/i:coaching/d:coached/p:coached/3:coaches",
425 | "coal":"s:coals/i:coaling/p:coaled/3:coals/d:coaled",
426 | "coast":"s:coasts/i:coasting/p:coasted/3:coasts/d:coasted",
427 | "coat":"s:coats/d:coated/i:coating/p:coated/3:coats",
428 | "code":"s:codes/i:coding/d:coded/p:coded/3:codes",
429 | "coffee":"s:coffees",
430 | "coin":"s:coins/p:coined/d:coined/i:coining/3:coins",
431 | "cold":"r:colder/s:colds/t:coldest",
432 | "collapse":"p:collapsed/d:collapsed/i:collapsing/s:collapses/3:collapses",
433 | "colleague":"s:colleagues",
434 | "collect":"d:collected/i:collecting/p:collected/3:collects",
435 | "collection":"s:collections",
436 | "college":"s:colleges",
437 | "colour":"s:colours/d:coloured/i:colouring/p:coloured/3:colours",
438 | "coloured":"0:colour/1:dp/d:coloured/s:coloureds/p:coloured",
439 | "column":"s:columns",
440 | "combination":"s:combinations",
441 | "combine":"d:combined/i:combining/3:combines/p:combined/s:combines",
442 | "come":"p:came/i:coming/3:comes/d:come/0:come/1:d",
443 | "comedy":"s:comedies",
444 | "comfort":"s:comforts/d:comforted/p:comforted/i:comforting/3:comforts",
445 | "command":"s:commands/p:commanded/d:commanded/3:commands/i:commanding",
446 | "comment":"s:comments/p:commented/i:commenting/d:commented/3:comments",
447 | "commercial":"s:commercials",
448 | "commission":"d:commissioned/s:commissions/p:commissioned/i:commissioning/3:commissions",
449 | "commit":"d:committed/i:committing/p:committed/3:commits",
450 | "commitment":"s:commitments",
451 | "committee":"s:committees",
452 | "communicate":"d:communicated/i:communicating/3:communicates/p:communicated",
453 | "communication":"s:communications",
454 | "community":"s:communities",
455 | "company":"s:companies/i:companying/p:companied/3:companies/d:companied",
456 | "compare":"d:compared/i:comparing/3:compares/p:compared",
457 | "comparison":"s:comparisons",
458 | "compete":"i:competing/p:competed/3:competes/d:competed",
459 | "competition":"s:competitions",
460 | "complain":"p:complained/i:complaining/d:complained/3:complains",
461 | "complaint":"s:complaints",
462 | "complete":"d:completed/p:completed/i:completing/3:completes",
463 | "complex":"s:complexes/p:complexed",
464 | "complicate":"d:complicated/3:complicates/p:complicated/i:complicating",
465 | "complicated":"d:complicated/0:complicated/1:dp/p:complicated",
466 | "computer":"s:computers",
467 | "concentrate":"d:concentrated/i:concentrating/p:concentrated/3:concentrates/s:concentrates",
468 | "concentration":"s:concentrations",
469 | "concept":"s:concepts",
470 | "concern":"s:concerns/3:concerns/p:concerned/i:concerning/d:concerned",
471 | "concerned":"p:concerned/0:concerned/1:pd/d:concerned",
472 | "concerning":"0:concern/1:i",
473 | "concert":"s:concerts/i:concerting/f:concerts",
474 | "conclude":"p:concluded/d:concluded/3:concludes/i:concluding",
475 | "conclusion":"s:conclusions",
476 | "concrete":"i:concreting/d:concreted/p:concreted/3:concretes",
477 | "condition":"s:conditions/d:conditioned/i:conditioning/p:conditioned/3:conditions",
478 | "conduct":"d:conducted/i:conducting/p:conducted/3:conducts",
479 | "conference":"s:conferences",
480 | "confidence":"s:confidences",
481 | "confine":"d:confined/s:confines/i:confining/p:confined/3:confines",
482 | "confined":"0:confine/1:dp/d:confined",
483 | "confirm":"d:confirmed/p:confirmed/3:confirms/i:confirming",
484 | "conflict":"s:conflicts/p:conflicted/i:conflicting/3:conflicts/d:conflicted",
485 | "confront":"d:confronted/i:confronting/p:confronted/3:confronts",
486 | "confuse":"d:confused/i:confusing/3:confuses/p:confused",
487 | "confused":"d:confused/0:confused/1:dp/p:confused",
488 | "confusing":"0:confuse/1:i/i:confusing",
489 | "confusion":"s:confusions",
490 | "congratulations":"s:congratulations/0:congratulations/1:s",
491 | "congress":"s:congresses",
492 | "connect":"d:connected/i:connecting/3:connects/p:connected",
493 | "connection":"s:connections",
494 | "consequence":"s:consequences",
495 | "Conservative":"s:conservatives",
496 | "consider":"d:considered/i:considering/p:considered/3:considers",
497 | "consideration":"s:considerations",
498 | "constant":"s:constants",
499 | "construct":"d:constructed/i:constructing/s:constructs/3:constructs/p:constructed",
500 | "construction":"s:constructions",
501 | "consult":"d:consulted/i:consulting/p:consulted/3:consults",
502 | "consumer":"s:consumers",
503 | "contact":"s:contacts/d:contacted/p:contacted/i:contacting/3:contacts",
504 | "contain":"3:contains/i:containing/p:contained/d:contained",
505 | "container":"s:containers",
506 | "contemporary":"s:contemporaries",
507 | "content":"s:contents/p:contented/d:contented/i:contenting/3:contents",
508 | "contest":"s:contests/d:contested/i:contesting/p:contested/3:contests",
509 | "context":"s:contexts",
510 | "continent":"s:continents",
511 | "continue":"p:continued/3:continues/d:continued/i:continuing",
512 | "contract":"s:contracts/d:contracted/i:contracting/p:contracted/3:contracts",
513 | "contrast":"s:contrasts/3:contrasts/d:contrasted/p:contrasted/i:contrasting",
514 | "contrasting":"0:contrast/1:i/i:contrasting",
515 | "contribute":"d:contributed/i:contributing/p:contributed/3:contributes",
516 | "contribution":"s:contributions",
517 | "control":"s:controls/d:controlled/i:controlling/3:controls/p:controlled",
518 | "controlled":"0:control/1:dp/p:controlled/d:controlled",
519 | "convention":"s:conventions",
520 | "conversation":"s:conversations",
521 | "convert":"d:converted/i:converting/p:converted/3:converts/s:converts",
522 | "convince":"d:convinced/p:convinced/i:convincing/3:convinces",
523 | "cook":"i:cooking/d:cooked/p:cooked/s:cooks/3:cooks",
524 | "cooker":"s:cookers",
525 | "cooking":"0:cook/1:i/i:cooking",
526 | "cool":"r:cooler/i:cooling/d:cooled/3:cools/p:cooled/t:coolest",
527 | "cope":"i:coping/d:coped/p:coped/3:copes",
528 | "copy":"s:copies/d:copied/i:copying/p:copied/3:copies",
529 | "CORE":"s:cores/p:cored/i:coring/3:cores/d:cored",
530 | "corner":"s:corners/d:cornered/p:cornered/i:cornering/3:corners",
531 | "correct":"d:corrected/p:corrected/i:correcting/3:corrects",
532 | "cost":"s:costs/3:costs/i:costing/p:cost/0:cost/1:pd/d:cost",
533 | "cottage":"s:cottages",
534 | "cotton":"s:cottons/p:cottoned/d:cottoned/i:cottoning/3:cottons/f:cottons",
535 | "cough":"p:coughed/i:coughing/s:coughs/3:coughs/d:coughed",
536 | "coughing":"0:cough/1:i/i:coughing/s:coughings",
537 | "council":"s:councils",
538 | "count":"s:counts/d:counted/i:counting/3:counts/p:counted",
539 | "counter":"p:countered/s:counters/d:countered/i:countering/3:counters",
540 | "country":"s:countries",
541 | "county":"s:counties",
542 | "couple":"s:couples/p:coupled/d:coupled/i:coupling/3:couples",
543 | "course":"s:courses/i:coursing/p:coursed/3:courses/d:coursed",
544 | "court":"s:courts/i:courting/p:courted/d:courted/3:courts",
545 | "cousin":"s:cousins",
546 | "cover":"d:covered/i:covering/3:covers/p:covered/s:covers",
547 | "covered":"0:cover/1:dp/p:covered/d:covered",
548 | "covering":"0:cover/1:i/s:coverings/i:covering",
549 | "cow":"s:cows/d:cowed/p:cowed/i:cowing/3:cows",
550 | "crack":"s:cracks/p:cracked/d:cracked/i:cracking/3:cracks",
551 | "cracked":"0:crack/1:pd/d:cracked/p:cracked",
552 | "craft":"s:crafts/p:crafted/d:crafted/i:crafting/3:crafts",
553 | "crash":"p:crashed/i:crashing/d:crashed/s:crashes/3:crashes",
554 | "crazy":"t:craziest/r:crazier/s:crazies",
555 | "cream":"s:creams/i:creaming/d:creamed/p:creamed/3:creams",
556 | "create":"d:created/i:creating/3:creates/p:created",
557 | "creature":"s:creatures",
558 | "credit":"d:credited/s:credits/3:credits/i:crediting/p:credited",
559 | "crime":"s:crimes",
560 | "criminal":"s:criminals",
561 | "crisis":"s:crises",
562 | "crisp":"s:crisps/r:crisper/i:crisping/p:crisped/t:crispest/3:crisps/d:crisped",
563 | "criterion":"s:criteria",
564 | "criticism":"s:criticisms",
565 | "criticize":"d:criticized/p:criticized/i:criticizing/3:criticizes",
566 | "crop":"s:crops/d:cropped/i:cropping/p:cropped/3:crops",
567 | "cross":"p:crossed/i:crossing/d:crossed/3:crosses/s:crosses",
568 | "crowd":"s:crowds/p:crowded/d:crowded/i:crowding/3:crowds",
569 | "crowded":"0:crowd/1:pd/d:crowded/p:crowded",
570 | "crown":"d:crowned/s:crowns/p:crowned/i:crowning/3:crowns",
571 | "cruel":"t:cruellest/r:crueller",
572 | "crush":"d:crushed/p:crushed/i:crushing/3:crushes/s:crushes",
573 | "cry":"p:cried/i:crying/s:cries/3:cries/d:cried",
574 | "CT":"s:cts",
575 | "culture":"s:cultures/d:cultured/i:culturing",
576 | "cup":"s:cups/i:cupping/3:cups/p:cupped/d:cupped",
577 | "cupboard":"s:cupboards",
578 | "curb":"i:curbing/3:curbs/d:curbed/s:curbs/p:curbed",
579 | "cure":"d:cured/s:cures/i:curing/p:cured/3:cures",
580 | "curious":"r:curiouser",
581 | "curl":"s:curls/p:curled/i:curling/d:curled/3:curls",
582 | "curly":"s:curlies/r:curlier/3:curlies/t:curliest",
583 | "current":"s:currents",
584 | "curtain":"s:curtains/d:curtained/p:curtained/i:curtaining/3:curtains",
585 | "curve":"s:curves/i:curving/p:curved/d:curved/3:curves",
586 | "curved":"0:curve/1:pd/d:curved/p:curved",
587 | "custom":"s:customs",
588 | "customer":"s:customers",
589 | "customs":"0:custom/1:s",
590 | "cut":"d:cut/0:cut/1:dp/s:cuts/i:cutting/p:cut/3:cuts",
591 | "cycle":"s:cycles/i:cycling/p:cycled/d:cycled/3:cycles",
592 | "cycling":"0:cycle/1:i/i:cycling",
593 | "dad":"s:dads",
594 | "daily":"s:dailies",
595 | "damage":"s:damages/d:damaged/i:damaging/p:damaged/3:damages",
596 | "damp":"r:damper/d:damped/i:damping/p:damped/s:damps/t:dampest/3:damps",
597 | "dance":"i:dancing/p:danced/s:dances/d:danced/3:dances",
598 | "dancer":"s:dancers",
599 | "dancing":"0:dance/1:i/i:dancing",
600 | "danger":"s:dangers",
601 | "dare":"p:dared/d:dared/i:daring/3:dares",
602 | "dark":"r:darker/t:darkest",
603 | "date":"s:dates/d:dated/i:dating/3:dates/p:dated",
604 | "daughter":"s:daughters",
605 | "day":"s:days",
606 | "deaf":"r:deafer/b:deafer/z:deafest",
607 | "deal":"i:dealing/d:dealt/s:deals/3:deals/p:dealt",
608 | "dear":"t:dearest/r:dearer/s:dears",
609 | "death":"s:deaths",
610 | "debate":"s:debates/d:debated/i:debating/p:debated/3:debates",
611 | "debt":"s:debts",
612 | "decade":"s:decades",
613 | "decay":"i:decaying/d:decayed/3:decays/s:decays/p:decayed",
614 | "decide":"p:decided/d:decided/i:deciding/3:decides",
615 | "decision":"s:decisions",
616 | "declare":"p:declared/d:declared/i:declaring/3:declares",
617 | "decline":"d:declined/p:declined/i:declining/3:declines/s:declines",
618 | "decorate":"d:decorated/p:decorated/i:decorating/3:decorates",
619 | "decoration":"s:decorations",
620 | "decrease":"d:decreased/3:decreases/p:decreased/i:decreasing/s:decreases",
621 | "deep":"r:deeper/t:deepest/s:deeps",
622 | "defeat":"d:defeated/p:defeated/s:defeats/i:defeating/3:defeats",
623 | "defence":"s:defences",
624 | "defend":"i:defending/d:defended/p:defended/3:defends",
625 | "define":"d:defined/i:defining/p:defined/3:defines",
626 | "definite":"s:definites",
627 | "definition":"s:definitions",
628 | "degree":"s:degrees",
629 | "delay":"d:delayed/s:delays/p:delayed/i:delaying/3:delays",
630 | "deliberate":"i:deliberating/p:deliberated/d:deliberated/3:deliberates",
631 | "delight":"s:delights/p:delighted/i:delighting/d:delighted/3:delights",
632 | "delighted":"0:delight/1:pd/p:delighted/d:delighted",
633 | "deliver":"d:delivered/i:delivering/p:delivered/3:delivers",
634 | "delivery":"s:deliveries",
635 | "demand":"s:demands/p:demanded/i:demanding/d:demanded/3:demands",
636 | "demonstrate":"d:demonstrated/3:demonstrates/p:demonstrated/i:demonstrating",
637 | "dentist":"s:dentists",
638 | "deny":"d:denied/p:denied/i:denying/3:denies",
639 | "department":"s:departments",
640 | "departure":"s:departures",
641 | "depend":"3:depends/i:depending/p:depended/d:depended",
642 | "deposit":"s:deposits/d:deposited/p:deposited/i:depositing/3:deposits",
643 | "depress":"p:depressed/3:depresses/d:depressed/i:depressing",
644 | "depressed":"d:depressed/0:depressed/1:dp/p:depressed",
645 | "depressing":"i:depressing/0:depressing/1:i",
646 | "depth":"s:depths",
647 | "derive":"d:derived/3:derives/i:deriving/p:derived",
648 | "describe":"d:described/p:described/3:describes/i:describing",
649 | "description":"s:descriptions",
650 | "desert":"d:deserted/s:deserts/p:deserted/i:deserting/3:deserts",
651 | "deserted":"0:desert/1:dp/d:deserted/p:deserted",
652 | "deserve":"3:deserves/p:deserved/d:deserved/i:deserving",
653 | "design":"d:designed/s:designs/p:designed/i:designing/3:designs",
654 | "desire":"s:desires/d:desired/p:desired/3:desires/i:desiring",
655 | "desk":"s:desks",
656 | "destroy":"d:destroyed/i:destroying/p:destroyed/3:destroys",
657 | "destruction":"s:destructions",
658 | "detail":"s:details/i:detailing/d:detailed/p:detailed/3:details",
659 | "detailed":"0:detail/1:dp/d:detailed/p:detailed",
660 | "determination":"s:determinations",
661 | "determine":"d:determined/i:determining/3:determines/p:determined",
662 | "determined":"0:determine/1:dp/d:determined/p:determined",
663 | "develop":"d:developed/i:developing/p:developed/3:develops",
664 | "development":"s:developments",
665 | "device":"s:devices",
666 | "devote":"p:devoted/d:devoted/i:devoting/3:devotes",
667 | "devoted":"0:devote/1:pd/d:devoted/p:devoted",
668 | "diagram":"s:diagrams/d:diagrammed/i:diagramming/p:diagrammed/3:diagrams",
669 | "diamond":"s:diamonds",
670 | "diary":"s:diaries",
671 | "dictionary":"s:dictionaries",
672 | "die":"p:died/d:died/i:dying/3:dies/s:dies",
673 | "diet":"s:diets/i:dieting/d:dieted/p:dieted/3:diets",
674 | "difference":"s:differences",
675 | "difficulty":"s:difficulties",
676 | "dig":"p:dug/i:digging/d:dug/3:digs/s:digs",
677 | "dinner":"s:dinners",
678 | "direct":"d:directed/i:directing/p:directed/3:directs",
679 | "direction":"s:directions",
680 | "director":"s:directors",
681 | "dirty":"t:dirtiest/r:dirtier/i:dirtying/p:dirtied/d:dirtied/3:dirties",
682 | "disabled":"d:disabled/0:disabled/1:dp/p:disabled",
683 | "disadvantage":"s:disadvantages/d:disadvantaged/i:disadvantaging/p:disadvantaged/3:disadvantages",
684 | "disagree":"p:disagreed/3:disagrees/i:disagreeing/d:disagreed",
685 | "disagreement":"s:disagreements",
686 | "disappear":"p:disappeared/d:disappeared/3:disappears/i:disappearing",
687 | "disappoint":"p:disappointed/d:disappointed/3:disappoints/i:disappointing",
688 | "disappointed":"p:disappointed/0:disappointed/1:pd/d:disappointed",
689 | "disappointing":"i:disappointing/0:disappointing/1:i",
690 | "disappointment":"s:disappointments",
691 | "disapproval":"s:disapprovals",
692 | "disapprove":"p:disapproved/d:disapproved/3:disapproves/i:disapproving",
693 | "disapproving":"0:disapprove/1:i/i:disapproving",
694 | "disaster":"s:disasters",
695 | "disc":"s:discs",
696 | "discipline":"s:disciplines/d:disciplined/i:disciplining/3:disciplines/p:disciplined",
697 | "discount":"s:discounts/d:discounted/i:discounting/p:discounted/3:discounts",
698 | "discover":"p:discovered/d:discovered/i:discovering/3:discovers",
699 | "discovery":"s:discoveries",
700 | "discuss":"d:discussed/i:discussing/p:discussed/3:discusses",
701 | "discussion":"s:discussions",
702 | "disease":"s:diseases",
703 | "disgust":"d:disgusted/p:disgusted/3:disgusts/i:disgusting",
704 | "disgusted":"0:disgust/1:dp/d:disgusted/p:disgusted/s:disgusteds",
705 | "disgusting":"1:i/0:disgust",
706 | "dish":"s:dishes/i:dishing/d:dished/p:dished/3:dishes",
707 | "disk":"s:disks/f:disks",
708 | "dislike":"p:disliked/d:disliked/3:dislikes/i:disliking/s:dislikes",
709 | "dismiss":"d:dismissed/p:dismissed/i:dismissing/3:dismisses",
710 | "display":"d:displayed/s:displays/i:displaying/3:displays/p:displayed",
711 | "dissolve":"d:dissolved/3:dissolves/p:dissolved/i:dissolving",
712 | "distance":"s:distances/i:distancing/d:distanced/p:distanced/3:distances",
713 | "distinguish":"d:distinguished/3:distinguishes/i:distinguishing/p:distinguished",
714 | "distribute":"d:distributed/i:distributing/3:distributes/p:distributed",
715 | "distribution":"s:distributions",
716 | "district":"s:districts/i:districting/p:districted/3:districts/d:districted",
717 | "disturb":"d:disturbed/i:disturbing/p:disturbed/3:disturbs",
718 | "disturbing":"0:disturb/1:i/i:disturbing",
719 | "divide":"d:divided/i:dividing/p:divided/3:divides/s:divides",
720 | "division":"s:divisions",
721 | "divorce":"d:divorced/p:divorced/s:divorces/i:divorcing/3:divorces",
722 | "divorced":"0:divorce/1:dp/d:divorced/p:divorced",
723 | "do":"i:doing/p:did/3:does/d:done",
724 | "doctor":"s:doctors/i:doctoring/p:doctored/3:doctors/d:doctored",
725 | "document":"s:documents/d:documented/i:documenting/p:documented/3:documents",
726 | "dog":"s:dogs/d:dogged/p:dogged/i:dogging/3:dogs",
727 | "dollar":"s:dollars",
728 | "domestic":"s:domestics",
729 | "dominate":"d:dominated/p:dominated/3:dominates/i:dominating",
730 | "door":"s:doors",
731 | "dot":"s:dots/p:dotted/d:dotted/i:dotting/3:dots",
732 | "double":"d:doubled/i:doubling/s:doubles/p:doubled/3:doubles",
733 | "doubt":"s:doubts/p:doubted/d:doubted/i:doubting/3:doubts",
734 | "down":"s:downs/i:downing/p:downed/3:downs/d:downed",
735 | "draft":"d:drafted/i:drafting/s:drafts/p:drafted/3:drafts",
736 | "drag":"p:dragged/i:dragging/d:dragged/3:drags/s:drags",
737 | "drama":"s:dramas",
738 | "dramatic":"s:dramatics",
739 | "draw":"d:drawn/p:drew/i:drawing/3:draws/s:draws",
740 | "drawer":"s:drawers",
741 | "drawing":"0:draw/1:i/s:drawings/i:drawing",
742 | "dream":"s:dreams/i:dreaming/d:dreamed/p:dreamed/3:dreams",
743 | "dress":"d:dressed/s:dresses/i:dressing/p:dressed/3:dresses",
744 | "dressed":"0:dress/1:dp/d:dressed/p:dressed",
745 | "drink":"s:drinks/i:drinking/p:drank/d:drunk/3:drinks",
746 | "drive":"p:drove/d:driven/i:driving/3:drives/s:drives",
747 | "driver":"s:drivers",
748 | "driving":"0:drive/1:i/i:driving",
749 | "drop":"p:dropped/d:dropped/i:dropping/s:drops/3:drops",
750 | "drug":"s:drugs/d:drugged/p:drugged/i:drugging/3:drugs",
751 | "drugstore":"s:drugstores",
752 | "drum":"s:drums/p:drummed/d:drummed/i:drumming/3:drums",
753 | "drunk":"0:drink/1:dp/d:drunk/s:drunks/r:drunker/p:drunk",
754 | "dry":"d:dried/i:drying/p:dried/3:dries/r:drier/t:driest/s:dries",
755 | "dull":"r:duller/p:dulled/d:dulled/t:dullest/i:dulling/3:dulls",
756 | "dump":"d:dumped/p:dumped/i:dumping/s:dumps/3:dumps",
757 | "dust":"i:dusting/p:dusted/d:dusted/s:dusts/3:dusts",
758 | "duty":"s:duties",
759 | "dying":"0:die/1:i/i:dying",
760 | "ear":"s:ears",
761 | "early":"r:earlier/t:earliest",
762 | "earn":"i:earning/d:earned/p:earned/3:earns",
763 | "earth":"s:earths/d:earthed/i:earthing/p:earthed/3:earths",
764 | "ease":"p:eased/i:easing/d:eased/3:eases",
765 | "easy":"r:easier/t:easiest",
766 | "eat":"i:eating/p:ate/d:eaten/3:eats",
767 | "economy":"s:economies",
768 | "edge":"s:edges/p:edged/i:edging/d:edged/3:edges",
769 | "edition":"s:editions",
770 | "editor":"s:editors",
771 | "educate":"d:educated/i:educating/3:educates/p:educated",
772 | "educated":"0:educate/1:dp/d:educated/p:educated",
773 | "effect":"s:effects/d:effected/i:effecting/p:effected/3:effects",
774 | "effort":"s:efforts",
775 | "egg":"s:eggs/p:egged/i:egging/3:eggs/d:egged",
776 | "elbow":"s:elbows/p:elbowed/i:elbowing/d:elbowed/3:elbows",
777 | "elect":"d:elected/p:elected/i:electing/3:elects",
778 | "election":"s:elections",
779 | "electric":"s:electrics",
780 | "electrical":"s:electricals",
781 | "element":"s:elements",
782 | "elevator":"s:elevators",
783 | "embarrass":"p:embarrassed/d:embarrassed/i:embarrassing/3:embarrasses",
784 | "embarrassed":"p:embarrassed/0:embarrassed/1:pd/d:embarrassed",
785 | "embarrassing":"i:embarrassing/0:embarrassing/1:i",
786 | "embarrassment":"s:embarrassments",
787 | "emerge":"p:emerged/d:emerged/3:emerges/i:emerging",
788 | "emergency":"s:emergencies",
789 | "emotion":"s:emotions",
790 | "emphasize":"d:emphasized/p:emphasized/3:emphasizes/i:emphasizing",
791 | "empire":"s:empires",
792 | "employ":"d:employed/3:employs/p:employed/i:employing",
793 | "employee":"s:employees",
794 | "employer":"s:employers",
795 | "employment":"s:employments",
796 | "empty":"d:emptied/p:emptied/i:emptying/3:empties/s:empties/r:emptier/t:emptiest",
797 | "enable":"3:enables/p:enabled/i:enabling/d:enabled",
798 | "encounter":"d:encountered/s:encounters/p:encountered/3:encounters/i:encountering",
799 | "encourage":"d:encouraged/p:encouraged/3:encourages/i:encouraging",
800 | "encouragement":"s:encouragements",
801 | "end":"p:ended/s:ends/d:ended/i:ending/3:ends",
802 | "ending":"0:end/1:i/s:endings/i:ending",
803 | "enemy":"s:enemies",
804 | "energy":"s:energies",
805 | "engage":"d:engaged/p:engaged/i:engaging/3:engages",
806 | "engaged":"0:engage/1:dp/d:engaged/p:engaged",
807 | "engine":"s:engines/p:engined",
808 | "engineer":"s:engineers/d:engineered/p:engineered/i:engineering/3:engineers",
809 | "engineering":"i:engineering/0:engineering/1:i",
810 | "enjoy":"p:enjoyed/i:enjoying/d:enjoyed/3:enjoys",
811 | "enjoyment":"s:enjoyments",
812 | "enquiry":"s:enquiries",
813 | "ensure":"i:ensuring/3:ensures/p:ensured/d:ensured",
814 | "enter":"p:entered/d:entered/i:entering/3:enters",
815 | "entertain":"d:entertained/p:entertained/i:entertaining/3:entertains",
816 | "entertainer":"s:entertainers",
817 | "entertaining":"0:entertain/1:i/i:entertaining",
818 | "entertainment":"s:entertainments",
819 | "enthusiasm":"s:enthusiasms",
820 | "entitle":"d:entitled/3:entitles/p:entitled/i:entitling",
821 | "entrance":"s:entrances/d:entranced/p:entranced/i:entrancing/3:entrances",
822 | "entry":"s:entries",
823 | "envelope":"s:envelopes/3:envelopes",
824 | "environment":"s:environments",
825 | "equal":"3:equals/s:equals/d:equalled/p:equalled/i:equalling",
826 | "equipment":"s:equipments",
827 | "equivalent":"s:equivalents",
828 | "error":"s:errors",
829 | "escape":"p:escaped/d:escaped/i:escaping/3:escapes/s:escapes",
830 | "essay":"s:essays/p:essayed/d:essayed/i:essaying/3:essays",
831 | "essential":"s:essentials",
832 | "establish":"d:established/i:establishing/p:established/3:establishes",
833 | "estate":"s:estates",
834 | "estimate":"d:estimated/s:estimates/p:estimated/3:estimates/i:estimating",
835 | "euro":"s:euros",
836 | "even":"i:evening/p:evened/3:evens/d:evened",
837 | "evening":"1:i/0:even/s:evenings",
838 | "event":"s:events",
839 | "evidence":"d:evidenced/s:evidences/i:evidencing/p:evidenced/3:evidences",
840 | "evil":"s:evils",
841 | "exact":"d:exacted/p:exacted/3:exacts/i:exacting",
842 | "exaggerate":"d:exaggerated/i:exaggerating/p:exaggerated/3:exaggerates",
843 | "exaggerated":"0:exaggerate/1:dp/d:exaggerated/p:exaggerated",
844 | "exam":"s:exams",
845 | "examination":"s:examinations",
846 | "examine":"d:examined/i:examining/p:examined/3:examines",
847 | "example":"s:examples",
848 | "except":"i:excepting/p:excepted/d:excepted/3:excepts",
849 | "exception":"s:exceptions",
850 | "exchange":"s:exchanges/d:exchanged/p:exchanged/i:exchanging/3:exchanges",
851 | "excite":"d:excited/p:excited/3:excites/i:exciting",
852 | "excited":"d:excited/0:excited/1:dp/p:excited",
853 | "excitement":"s:excitements",
854 | "exciting":"i:exciting/0:exciting/1:i",
855 | "exclude":"d:excluded/i:excluding/3:excludes/p:excluded",
856 | "excluding":"0:exclude/1:i",
857 | "excuse":"s:excuses/d:excused/p:excused/i:excusing/3:excuses",
858 | "executive":"s:executives",
859 | "exercise":"d:exercised/s:exercises/i:exercising/3:exercises/p:exercised",
860 | "exhibit":"d:exhibited/s:exhibits/i:exhibiting/p:exhibited/3:exhibits",
861 | "exhibition":"s:exhibitions",
862 | "exist":"3:exists/p:existed/d:existed/i:existing",
863 | "existence":"s:existences",
864 | "exit":"s:exits/i:exiting/p:exited/d:exited/3:exits",
865 | "expand":"d:expanded/i:expanding/3:expands/p:expanded",
866 | "expect":"d:expected/i:expecting/p:expected/3:expects",
867 | "expectation":"s:expectations",
868 | "expected":"0:expect/1:dp/d:expected/p:expected",
869 | "expense":"s:expenses",
870 | "experience":"s:experiences/d:experienced/i:experiencing/p:experienced/3:experiences",
871 | "experienced":"0:experience/1:dp/d:experienced/p:experienced",
872 | "experiment":"s:experiments/i:experimenting/d:experimented/p:experimented/3:experiments",
873 | "expert":"s:experts",
874 | "explain":"p:explained/d:explained/3:explains/i:explaining",
875 | "explanation":"s:explanations",
876 | "explode":"p:exploded/i:exploding/d:exploded/3:explodes",
877 | "explore":"i:exploring/d:explored/3:explores/p:explored",
878 | "explosion":"s:explosions",
879 | "export":"s:exports/d:exported/3:exports/i:exporting/p:exported",
880 | "expose":"d:exposed/i:exposing/p:exposed/3:exposes",
881 | "express":"d:expressed/i:expressing/p:expressed/3:expresses",
882 | "expression":"s:expressions",
883 | "extend":"d:extended/i:extending/3:extends/p:extended",
884 | "extension":"s:extensions",
885 | "extent":"s:extents",
886 | "extra":"s:extras",
887 | "extraordinary":"s:extraordinaries",
888 | "extreme":"s:extremes/t:extremest",
889 | "eye":"s:eyes/p:eyed/i:eyeing/d:eyed/3:eyes",
890 | "face":"i:facing/s:faces/d:faced/p:faced/3:faces",
891 | "facility":"s:facilities",
892 | "fact":"s:facts",
893 | "factor":"s:factors/i:factoring/p:factored/3:factors/d:factored",
894 | "factory":"s:factories",
895 | "fail":"d:failed/p:failed/i:failing/3:fails",
896 | "failure":"s:failures",
897 | "faint":"t:faintest/p:fainted/r:fainter/i:fainting/d:fainted/3:faints/s:faints",
898 | "fair":"s:fairs/r:fairer/t:fairest/i:fairing/p:faired/3:fairs/d:faired",
899 | "faith":"s:faiths",
900 | "faithful":"s:faithfuls",
901 | "fall":"p:fell/d:fallen/i:falling/3:falls/s:falls",
902 | "familiar":"s:familiars",
903 | "family":"s:families",
904 | "fan":"s:fans/i:fanning/p:fanned/d:fanned/3:fans",
905 | "fancy":"p:fancied/3:fancies/d:fancied/s:fancies/i:fancying/r:fancier",
906 | "far":"r:further/t:furthest",
907 | "farm":"s:farms/d:farmed/p:farmed/i:farming/3:farms",
908 | "farmer":"s:farmers",
909 | "farming":"0:farm/1:i/i:farming",
910 | "farther":"0:far/1:r",
911 | "fashion":"d:fashioned/s:fashions/p:fashioned/i:fashioning/3:fashions",
912 | "fashionable":"s:fashionables",
913 | "fast":"r:faster/t:fastest/i:fasting/p:fasted/s:fasts/d:fasted/3:fasts",
914 | "fasten":"d:fastened/p:fastened/i:fastening/3:fastens",
915 | "fat":"s:fats/r:fatter/t:fattest/i:fatting/p:fatted/3:fats/d:fatted",
916 | "father":"s:fathers/d:fathered/i:fathering/p:fathered/3:fathers",
917 | "faucet":"s:faucets",
918 | "fault":"s:faults/d:faulted/p:faulted/i:faulting/3:faults",
919 | "favour":"d:favoured/p:favoured/3:favours/i:favouring/s:favours",
920 | "favourite":"s:favourites",
921 | "fear":"s:fears/p:feared/d:feared/3:fears/i:fearing",
922 | "feather":"s:feathers/p:feathered/i:feathering/d:feathered/3:feathers",
923 | "feature":"s:features/i:featuring/3:features/d:featured/p:featured",
924 | "fee":"s:fees/i:feeding/p:feed/3:fees/d:feed/f:fees",
925 | "feed":"d:fed/p:fed/i:feeding/3:feeds/1:pd/0:feed/s:feeds",
926 | "feel":"p:felt/i:feeling/d:felt/3:feels",
927 | "feeling":"0:feel/1:i/s:feelings/i:feeling",
928 | "fellow":"s:fellows",
929 | "female":"s:females",
930 | "fence":"s:fences/d:fenced/p:fenced/i:fencing/3:fences",
931 | "festival":"s:festivals",
932 | "fetch":"p:fetched/d:fetched/i:fetching/3:fetches",
933 | "fever":"s:fevers/p:fevered",
934 | "field":"s:fields/i:fielding/p:fielded/d:fielded/3:fields",
935 | "fight":"i:fighting/p:fought/d:fought/s:fights/3:fights",
936 | "fighting":"0:fight/1:i/i:fighting",
937 | "figure":"s:figures/p:figured/d:figured/3:figures/i:figuring",
938 | "file":"s:files/d:filed/p:filed/i:filing/3:files",
939 | "fill":"d:filled/p:filled/i:filling/3:fills",
940 | "film":"s:films/i:filming/d:filmed/p:filmed/3:films",
941 | "final":"s:finals",
942 | "finance":"d:financed/s:finances/i:financing/p:financed/3:finances",
943 | "find":"d:found/p:found/i:finding/3:finds/s:finds",
944 | "fine":"t:finest/d:fined/s:fines/r:finer/p:fined/3:fines/i:fining",
945 | "finger":"s:fingers/p:fingered/i:fingering/d:fingered/3:fingers",
946 | "finish":"d:finished/p:finished/i:finishing/3:finishes/s:finishes",
947 | "finished":"0:finish/1:dp/p:finished/d:finished",
948 | "fire":"s:fires/d:fired/p:fired/i:firing/3:fires",
949 | "firm":"s:firms/r:firmer/p:firmed/d:firmed/i:firming/3:firms",
950 | "fish":"s:fishes/p:fished/i:fishing/d:fished/3:fishes/f:fishes",
951 | "fishing":"0:fish/1:i/i:fishing/s:fishings",
952 | "fit":"d:fitted/3:fits/i:fitting/p:fitted/s:fits/r:fitter/t:fittest",
953 | "fix":"d:fixed/i:fixing/p:fixed/3:fixes/s:fixes",
954 | "fixed":"0:fix/1:dp/d:fixed/p:fixed",
955 | "flag":"s:flags/p:flagged/i:flagging/d:flagged/3:flags",
956 | "flame":"s:flames/p:flamed/i:flaming/d:flamed/3:flames",
957 | "flash":"p:flashed/i:flashing/s:flashes/d:flashed/3:flashes/r:flasher",
958 | "flat":"s:flats/r:flatter",
959 | "flavour":"s:flavours/p:flavoured/d:flavoured/i:flavouring/3:flavours",
960 | "flesh":"d:fleshed/i:fleshing/s:fleshes/p:fleshed/3:fleshes",
961 | "flight":"s:flights/i:flighting/p:flighted/3:flights/d:flighted",
962 | "float":"i:floating/p:floated/d:floated/s:floats/3:floats",
963 | "flood":"d:flooded/s:floods/p:flooded/i:flooding/3:floods",
964 | "floor":"s:floors/d:floored/p:floored/i:flooring/3:floors",
965 | "flour":"s:flours/p:floured/i:flouring/3:flours/d:floured",
966 | "flow":"s:flows/i:flowing/3:flows/p:flowed/d:flowed",
967 | "flower":"s:flowers/d:flowered/i:flowering/3:flowers/p:flowered",
968 | "fly":"p:flew/i:flying/d:flown/s:flies/3:flies",
969 | "flying":"0:fly/1:i/i:flying",
970 | "focus":"d:focused/i:focusing/3:focuses/p:focused/s:foci",
971 | "fold":"s:folds/d:folded/p:folded/i:folding/3:folds",
972 | "folding":"0:fold/1:i/i:folding/s:foldings",
973 | "follow":"i:following/d:followed/3:follows/p:followed",
974 | "following":"0:follow/1:i/i:following/s:followings",
975 | "food":"s:foods",
976 | "foot":"s:feet/i:footing/p:footed/3:foots/d:footed",
977 | "football":"s:footballs",
978 | "force":"s:forces/d:forced/p:forced/i:forcing/3:forces",
979 | "forecast":"s:forecasts/d:forecast/0:forecast/1:dp/i:forecasting/3:forecasts/p:forecast",
980 | "forest":"s:forests/i:foresting/p:forested/3:forests/d:forested",
981 | "forget":"d:forgotten/p:forgot/i:forgetting/3:forgets",
982 | "forgive":"d:forgiven/p:forgave/3:forgives/i:forgiving",
983 | "fork":"s:forks/p:forked/i:forking/d:forked/3:forks",
984 | "form":"s:forms/d:formed/p:formed/i:forming/3:forms",
985 | "former":"s:formers",
986 | "formula":"s:formulae",
987 | "fortune":"s:fortunes",
988 | "forward":"s:forwards/d:forwarded/p:forwarded/i:forwarding/3:forwards",
989 | "found":"0:find/1:dp/d:founded/p:founded/i:founding/3:founds",
990 | "foundation":"s:foundations",
991 | "frame":"s:frames/d:framed/i:framing/p:framed/3:frames",
992 | "free":"d:freed/i:freeing/r:freer/p:freed/3:frees",
993 | "freedom":"s:freedoms",
994 | "freeze":"d:frozen/p:froze/3:freezes/i:freezing/s:freezes",
995 | "frequent":"d:frequented/p:frequented/i:frequenting/3:frequents",
996 | "fresh":"r:fresher/t:freshest",
997 | "Friday":"s:fridays",
998 | "fridge":"s:fridges",
999 | "friend":"s:friends",
1000 | "friendly":"r:friendlier/s:friendlies/t:friendliest",
1001 | "friendship":"s:friendships",
1002 | "frighten":"d:frightened/p:frightened/3:frightens/i:frightening",
1003 | "frightened":"d:frightened/0:frightened/1:dp/p:frightened",
1004 | "frightening":"0:frighten/1:i/i:frightening",
1005 | "front":"s:fronts/i:fronting/d:fronted/p:fronted/3:fronts",
1006 | "frozen":"0:freeze/1:d/d:frozen",
1007 | "fruit":"s:fruits/i:fruiting/p:fruited/3:fruits/d:fruited",
1008 | "fry":"s:fries/i:frying/d:fried/p:fried/3:fries",
1009 | "fuel":"s:fuels/d:fuelled/p:fuelled/i:fuelling/3:fuels",
1010 | "full":"r:fuller/t:fullest/b:fuller/z:fullest",
1011 | "function":"s:functions/i:functioning/p:functioned/3:functions/d:functioned",
1012 | "fund":"s:funds/d:funded/i:funding/p:funded/3:funds",
1013 | "fundamental":"s:fundamentals",
1014 | "funeral":"s:funerals",
1015 | "funny":"t:funniest/r:funnier/s:funnies",
1016 | "fur":"s:furs/p:furred/d:furred/i:furring",
1017 | "further":"0:far/1:r/i:furthering/d:furthered/p:furthered/3:furthers",
1018 | "future":"s:futures",
1019 | "gain":"d:gained/s:gains/p:gained/i:gaining/3:gains",
1020 | "gallon":"s:gallons",
1021 | "gamble":"p:gambled/i:gambling/s:gambles/d:gambled/3:gambles",
1022 | "gambling":"0:gamble/1:i/i:gambling",
1023 | "game":"s:games/i:gaming/p:gamed/3:games/d:gamed",
1024 | "gap":"s:gaps/i:gapping/p:gapped/3:gaps/d:gapped/f:gaps",
1025 | "garage":"s:garages/i:garaging/d:garaged/p:garaged/3:garages",
1026 | "garden":"s:gardens/i:gardening/p:gardened/3:gardens/d:gardened",
1027 | "gas":"s:gases/i:gassing/p:gassed/3:gasses/d:gassed",
1028 | "gate":"s:gates/p:gated/i:gating/3:gates/d:gated",
1029 | "gather":"d:gathered/p:gathered/i:gathering/3:gathers",
1030 | "gear":"d:geared/s:gears/p:geared/i:gearing/3:gears",
1031 | "general":"s:generals/f:generals",
1032 | "generate":"d:generated/3:generates/p:generated/i:generating",
1033 | "generation":"s:generations",
1034 | "gentle":"p:gentled/i:gentling/d:gentled/3:gentles",
1035 | "gentleman":"s:gentlemen",
1036 | "geography":"s:geographies",
1037 | "get":"d:got/p:got/i:getting/3:gets",
1038 | "giant":"s:giants",
1039 | "gift":"s:gifts/p:gifted/d:gifted/i:gifting/3:gifts",
1040 | "girl":"s:girls",
1041 | "girlfriend":"s:girlfriends",
1042 | "give":"d:given/p:gave/i:giving/3:gives",
1043 | "glad":"r:gladder",
1044 | "glass":"s:glasses/i:glassing/p:glassed/3:glasses/d:glassed",
1045 | "glasses":"1:s3/0:glass",
1046 | "glove":"s:gloves/i:gloving",
1047 | "glue":"d:glued/p:glued/s:glues/i:gluing/3:glues",
1048 | "go":"i:going/p:went/d:gone/3:goes",
1049 | "goal":"s:goals",
1050 | "God":"s:gods",
1051 | "gold":"s:golds/i:golding",
1052 | "good":"t:best/r:better",
1053 | "goodbye":"s:goodbyes",
1054 | "goods":"s:goods/0:goods/1:s",
1055 | "govern":"d:governed/i:governing/3:governs/p:governed",
1056 | "government":"s:governments",
1057 | "governor":"s:governors",
1058 | "grab":"p:grabbed/i:grabbing/d:grabbed/3:grabs/s:grabs",
1059 | "grade":"s:grades/d:graded/p:graded/i:grading/3:grades",
1060 | "grain":"s:grains/d:grained/p:grained/i:graining/3:grains",
1061 | "gram":"s:grams",
1062 | "grammar":"s:grammars",
1063 | "grand":"r:grander/t:grandest/s:grands",
1064 | "granddaughter":"s:granddaughters",
1065 | "grandfather":"s:grandfathers",
1066 | "grandmother":"s:grandmothers",
1067 | "grandparent":"s:grandparents",
1068 | "grandson":"s:grandsons",
1069 | "grant":"d:granted/s:grants/p:granted/i:granting/3:grants",
1070 | "grass":"s:grasses/p:grassed/d:grassed/i:grassing/3:grasses",
1071 | "grave":"s:graves/t:gravest/r:graver/i:graving/p:graven/3:graves/d:graven",
1072 | "gray":"s:grays/i:graying/p:grayed/3:grays/d:grayed",
1073 | "great":"r:greater/t:greatest/s:greats",
1074 | "green":"s:greens/r:greener/t:greenest/b:greener/z:greenest/f:greens",
1075 | "grey":"s:greys/i:greying/d:greyed/p:greyed/3:greys",
1076 | "groceries":"0:grocery/1:s",
1077 | "grocery":"s:groceries",
1078 | "ground":"s:grounds/d:grounded/p:grounded/0:grind/1:dp/i:grinding/3:grinds",
1079 | "group":"s:groups/d:grouped/p:grouped/i:grouping/3:groups",
1080 | "grow":"p:grew/d:grown/i:growing/3:grows",
1081 | "growth":"s:growths",
1082 | "guarantee":"d:guaranteed/s:guarantees/3:guarantees/i:guaranteeing/p:guaranteed",
1083 | "guard":"s:guards/d:guarded/i:guarding/3:guards/p:guarded",
1084 | "guess":"p:guessed/d:guessed/i:guessing/s:guesses/3:guesses",
1085 | "guest":"s:guests/i:guesting",
1086 | "guide":"s:guides/d:guided/p:guided/3:guides/i:guiding",
1087 | "gun":"s:guns/d:gunned/i:gunning/p:gunned/3:guns",
1088 | "guy":"s:guys/i:guying/p:guyed/3:guys/d:guyed",
1089 | "habit":"s:habits/i:habiting/p:habited/3:habits/d:habited",
1090 | "hair":"s:hairs",
1091 | "hairdresser":"s:hairdressers",
1092 | "half":"s:halves",
1093 | "hall":"s:halls/i:halling",
1094 | "hammer":"i:hammering/s:hammers/p:hammered/d:hammered/3:hammers",
1095 | "hand":"s:hands/p:handed/d:handed/i:handing/3:hands",
1096 | "handle":"d:handled/i:handling/p:handled/s:handles/3:handles",
1097 | "hang":"i:hanging/p:hung/d:hung/3:hangs",
1098 | "happen":"p:happened/3:happens/d:happened/i:happening",
1099 | "happiness":"s:happinesses",
1100 | "happy":"r:happier/t:happiest",
1101 | "hard":"r:harder/t:hardest",
1102 | "harm":"d:harmed/i:harming/s:harms/3:harms/p:harmed",
1103 | "hat":"s:hats/p:hatted/i:hatting/3:hats/d:hatted",
1104 | "hate":"p:hated/3:hates/i:hating/d:hated",
1105 | "hatred":"s:hatreds",
1106 | "have":"i:having/p:had/3:has/d:had",
1107 | "head":"s:heads/i:heading/d:headed/p:headed/3:heads",
1108 | "headache":"s:headaches",
1109 | "heal":"d:healed/i:healing/p:healed/3:heals/s:heals",
1110 | "healthy":"r:healthier/t:healthiest",
1111 | "hear":"d:heard/p:heard/i:hearing/3:hears",
1112 | "hearing":"0:hear/1:i/i:hearing/s:hearings",
1113 | "heart":"s:hearts",
1114 | "heat":"d:heated/s:heats/i:heating/3:heats/p:heated",
1115 | "heating":"0:heat/1:i/i:heating",
1116 | "heaven":"s:heavens",
1117 | "heavy":"r:heavier/t:heaviest/s:heavies",
1118 | "heel":"s:heels/p:heeled/d:heeled/i:heeling/3:heels",
1119 | "height":"s:heights",
1120 | "hell":"s:hells",
1121 | "hello":"s:hellos",
1122 | "help":"d:helped/i:helping/p:helped/3:helps/s:helps",
1123 | "her":"i:hering",
1124 | "hero":"s:heroes",
1125 | "hesitate":"p:hesitated/i:hesitating/3:hesitates/d:hesitated",
1126 | "hide":"d:hidden/i:hiding/p:hid/3:hides/s:hides",
1127 | "high":"r:higher/t:highest/s:highs",
1128 | "highlight":"d:highlighted/s:highlights/3:highlights/p:highlighted/i:highlighting",
1129 | "highway":"s:highways",
1130 | "hill":"s:hills/i:hilling/p:hilled/3:hills/d:hilled",
1131 | "him":"s:hims",
1132 | "hip":"s:hips/t:hippest/r:hipper",
1133 | "hire":"d:hired/p:hired/i:hiring/3:hires/s:hires",
1134 | "history":"s:histories",
1135 | "hit":"p:hit/0:hit/1:pd/d:hit/i:hitting/3:hits/s:hits",
1136 | "hobby":"s:hobbies",
1137 | "hold":"d:held/p:held/i:holding/3:holds/s:holds",
1138 | "hole":"s:holes/p:holed/d:holed/i:holing/3:holes",
1139 | "holiday":"s:holidays/i:holidaying/3:holidays/p:holidayed/d:holidayed",
1140 | "hollow":"s:hollows/p:hollowed/d:hollowed/i:hollowing/3:hollows",
1141 | "holy":"t:holiest/r:holier/s:holies",
1142 | "home":"s:homes/i:homing/p:homed/3:homes/d:homed",
1143 | "homework":"s:homeworks/i:homeworking",
1144 | "honour":"s:honours/d:honoured/i:honouring/p:honoured/3:honours",
1145 | "hook":"s:hooks/d:hooked/p:hooked/i:hooking/3:hooks",
1146 | "hope":"i:hoping/d:hoped/p:hoped/s:hopes/3:hopes",
1147 | "horizontal":"s:horizontals",
1148 | "horn":"s:horns/p:horned/d:horned/i:horning/3:horns",
1149 | "horror":"s:horrors",
1150 | "horse":"s:horses/i:horsing/p:horsed/3:horses/d:horsed",
1151 | "hospital":"s:hospitals",
1152 | "host":"s:hosts/d:hosted/i:hosting/p:hosted/3:hosts",
1153 | "hot":"r:hotter/t:hottest/i:hotting/s:hots",
1154 | "hotel":"s:hotels",
1155 | "hour":"s:hours",
1156 | "house":"s:houses/i:housing/d:housed/3:houses/p:housed",
1157 | "household":"s:households",
1158 | "housing":"0:house/1:i/i:housing/s:housings",
1159 | "human":"s:humans",
1160 | "humour":"s:humours/i:humouring/p:humoured/d:humoured/3:humours",
1161 | "hungry":"r:hungrier/t:hungriest",
1162 | "hunt":"i:hunting/d:hunted/p:hunted/s:hunts/3:hunts",
1163 | "hunting":"0:hunt/1:i/i:hunting",
1164 | "hurry":"p:hurried/i:hurrying/d:hurried/3:hurries",
1165 | "hurt":"d:hurt/0:hurt/1:dp/p:hurt/i:hurting/3:hurts/s:hurts",
1166 | "husband":"s:husbands/i:husbanding/p:husbanded/3:husbands/d:husbanded",
1167 | "ice":"i:icing/s:ices/d:iced/p:iced/3:ices",
1168 | "idea":"s:ideas",
1169 | "ideal":"s:ideals",
1170 | "identify":"d:identified/i:identifying/3:identifies/p:identified",
1171 | "identity":"s:identities",
1172 | "ignore":"d:ignored/i:ignoring/p:ignored/3:ignores",
1173 | "ill":"s:ills",
1174 | "illegal":"s:illegals",
1175 | "illness":"s:illnesses",
1176 | "illustrate":"d:illustrated/3:illustrates/i:illustrating/p:illustrated",
1177 | "image":"s:images/i:imaging/d:imaged/p:imaged/3:images",
1178 | "imagination":"s:imaginations",
1179 | "imagine":"d:imagined/p:imagined/i:imagining/3:imagines",
1180 | "impact":"s:impacts/p:impacted/d:impacted/i:impacting/3:impacts",
1181 | "implication":"s:implications",
1182 | "imply":"3:implies/d:implied/i:implying/p:implied",
1183 | "import":"s:imports/d:imported/i:importing/p:imported/3:imports",
1184 | "impose":"d:imposed/p:imposed/3:imposes/i:imposing",
1185 | "impress":"d:impressed/p:impressed/i:impressing/3:impresses",
1186 | "impressed":"d:impressed/0:impressed/1:dp/p:impressed",
1187 | "impression":"s:impressions",
1188 | "improve":"d:improved/i:improving/3:improves/p:improved",
1189 | "improvement":"s:improvements",
1190 | "inability":"s:inabilities",
1191 | "inch":"s:inches/p:inched/3:inches/i:inching/d:inched/f:inches",
1192 | "incident":"s:incidents",
1193 | "include":"3:includes/d:included/p:included/i:including",
1194 | "including":"0:include/1:i",
1195 | "income":"s:incomes",
1196 | "increase":"d:increased/i:increasing/s:increases/3:increases/p:increased",
1197 | "independent":"s:independents",
1198 | "index":"s:indices/d:indexed/i:indexing/p:indexed/3:indexes",
1199 | "indicate":"3:indicates/d:indicated/p:indicated/i:indicating",
1200 | "indication":"s:indications",
1201 | "individual":"s:individuals",
1202 | "industry":"s:industries",
1203 | "infect":"d:infected/p:infected/3:infects/i:infecting/s:infects",
1204 | "infected":"0:infect/1:dp/d:infected/p:infected",
1205 | "infection":"s:infections",
1206 | "influence":"d:influenced/s:influences/i:influencing/3:influences/p:influenced",
1207 | "inform":"d:informed/p:informed/i:informing/3:informs",
1208 | "informal":"s:informals",
1209 | "ingredient":"s:ingredients",
1210 | "initial":"s:initials/p:initialled/d:initialled/i:initialling/3:initials",
1211 | "initiative":"s:initiatives",
1212 | "injure":"d:injured/p:injured/i:injuring/3:injures",
1213 | "injured":"0:injure/1:dp/p:injured/d:injured",
1214 | "injury":"s:injuries",
1215 | "ink":"s:inks/d:inked/i:inking/p:inked/3:inks",
1216 | "innocent":"s:innocents",
1217 | "inquiry":"s:inquiries",
1218 | "insect":"s:insects",
1219 | "insert":"d:inserted/i:inserting/p:inserted/s:inserts/3:inserts",
1220 | "inside":"s:insides",
1221 | "insist":"p:insisted/3:insists/i:insisting/d:insisted",
1222 | "install":"d:installed/i:installing/p:installed/3:installs",
1223 | "instance":"s:instances/d:instanced/i:instancing/p:instanced/3:instances",
1224 | "institute":"s:institutes/d:instituted/p:instituted/i:instituting/3:institutes",
1225 | "institution":"s:institutions",
1226 | "instruction":"s:instructions",
1227 | "instrument":"s:instruments/f:instruments",
1228 | "insult":"s:insults/d:insulted/i:insulting/p:insulted/3:insults",
1229 | "insulting":"0:insult/1:i/i:insulting",
1230 | "insurance":"s:insurances",
1231 | "intelligence":"s:intelligences",
1232 | "intend":"d:intended/p:intended/3:intends/i:intending",
1233 | "intended":"0:intend/1:dp/p:intended/d:intended",
1234 | "intention":"s:intentions",
1235 | "interest":"s:interests/3:interests/p:interested/d:interested/i:interesting",
1236 | "interested":"0:interest/1:pd/p:interested/d:interested",
1237 | "interesting":"i:interesting/0:interesting/1:i",
1238 | "interior":"s:interiors",
1239 | "internal":"s:internals",
1240 | "international":"s:internationals",
1241 | "interpret":"d:interpreted/i:interpreting/p:interpreted/3:interprets",
1242 | "interpretation":"s:interpretations",
1243 | "interrupt":"p:interrupted/d:interrupted/i:interrupting/3:interrupts/s:interrupts",
1244 | "interruption":"s:interruptions",
1245 | "interval":"s:intervals",
1246 | "interview":"s:interviews/d:interviewed/p:interviewed/i:interviewing/3:interviews",
1247 | "introduce":"d:introduced/i:introducing/p:introduced/3:introduces",
1248 | "introduction":"s:introductions",
1249 | "invent":"d:invented/p:invented/i:inventing/3:invents",
1250 | "invention":"s:inventions",
1251 | "invest":"d:invested/i:investing/p:invested/3:invests",
1252 | "investigate":"d:investigated/i:investigating/p:investigated/3:investigates",
1253 | "investigation":"s:investigations",
1254 | "investment":"s:investments",
1255 | "invitation":"s:invitations",
1256 | "invite":"d:invited/p:invited/3:invites/i:inviting",
1257 | "involve":"d:involved/i:involving/3:involves/p:involved",
1258 | "involvement":"s:involvements",
1259 | "iron":"s:irons/d:ironed/i:ironing/p:ironed/3:irons",
1260 | "irritate":"d:irritated/p:irritated/3:irritates/i:irritating",
1261 | "irritated":"0:irritate/1:dp/d:irritated/p:irritated",
1262 | "irritating":"0:irritate/1:i/i:irritating",
1263 | "island":"s:islands",
1264 | "issue":"s:issues/d:issued/p:issued/i:issuing/3:issues",
1265 | "item":"s:items",
1266 | "jacket":"s:jackets/i:jacketing/p:jacketed/3:jackets/d:jacketed",
1267 | "jam":"d:jammed/s:jams/i:jamming/p:jammed/3:jams",
1268 | "jeans":"s:jeans/0:jeans/1:s",
1269 | "jelly":"s:jellies/p:jellied/i:jellying/3:jellies/d:jellied",
1270 | "job":"s:jobs/i:jobbing/p:jobbed/3:jobs/d:jobbed",
1271 | "join":"p:joined/d:joined/i:joining/3:joins/s:joins",
1272 | "joint":"s:joints/d:jointed/i:jointing/p:jointed/3:joints",
1273 | "joke":"s:jokes/i:joking/p:joked/3:jokes/d:joked",
1274 | "journalist":"s:journalists",
1275 | "journey":"s:journeys/p:journeyed/i:journeying/d:journeyed/3:journeys",
1276 | "joy":"s:joys/i:joying/p:joyed/3:joys/d:joyed",
1277 | "judge":"s:judges/d:judged/i:judging/p:judged/3:judges",
1278 | "judgement":"s:judgements",
1279 | "juice":"s:juices",
1280 | "jump":"p:jumped/i:jumping/d:jumped/3:jumps/s:jumps",
1281 | "junior":"s:juniors",
1282 | "justice":"s:justices",
1283 | "justified":"0:justify/1:dp/d:justified/p:justified",
1284 | "justify":"d:justified/3:justifies/i:justifying/p:justified",
1285 | "keen":"r:keener/t:keenest/i:keening/p:keened/3:keens/d:keened",
1286 | "keep":"p:kept/d:kept/i:keeping/3:keeps",
1287 | "key":"s:keys/d:keyed/i:keying/p:keyed/3:keys",
1288 | "keyboard":"s:keyboards/i:keyboarding/d:keyboarded",
1289 | "kick":"p:kicked/i:kicking/d:kicked/s:kicks/3:kicks",
1290 | "kid":"s:kids/i:kidding/p:kidded/3:kids/d:kidded",
1291 | "kill":"d:killed/i:killing/p:killed/3:kills",
1292 | "killing":"0:kill/1:i/s:killings/i:killing",
1293 | "kilogram":"s:kilograms",
1294 | "kilometre":"s:kilometres",
1295 | "kind":"s:kinds/r:kinder/t:kindest",
1296 | "kindly":"r:kindlier",
1297 | "kindness":"s:kindnesses",
1298 | "king":"s:kings",
1299 | "kiss":"p:kissed/i:kissing/s:kisses/d:kissed/3:kisses",
1300 | "kitchen":"s:kitchens",
1301 | "km":"s:kms",
1302 | "knee":"s:knees/i:kneeing",
1303 | "knife":"s:knives/d:knifed/i:knifing/p:knifed/3:knifes",
1304 | "knit":"i:knitting/d:knitted/p:knit/0:knit/1:pd/3:knits/s:knits",
1305 | "knitted":"0:knit/1:dp/p:knitted/d:knitted/s:knitteds",
1306 | "knitting":"0:knit/1:i/i:knitting",
1307 | "knock":"p:knocked/d:knocked/i:knocking/s:knocks/3:knocks",
1308 | "knot":"s:knots/p:knotted/d:knotted/i:knotting/3:knots",
1309 | "know":"p:knew/d:known/3:knows/i:knowing",
1310 | "knowledge":"s:knowledges",
1311 | "label":"s:labels/d:labelled/i:labelling/p:labelled/3:labels",
1312 | "laboratory":"s:laboratories",
1313 | "labour":"s:labours/i:labouring/p:laboured/d:laboured/3:labours",
1314 | "lack":"i:lacking/p:lacked/3:lacks/d:lacked",
1315 | "lacking":"0:lack/1:i/i:lacking/s:lackings",
1316 | "lady":"s:ladies",
1317 | "lake":"s:lakes",
1318 | "lamp":"s:lamps",
1319 | "land":"s:lands/p:landed/d:landed/i:landing/3:lands",
1320 | "landscape":"s:landscapes/d:landscaped/i:landscaping/p:landscaped/3:landscapes",
1321 | "lane":"s:lanes",
1322 | "language":"s:languages",
1323 | "large":"r:larger/t:largest",
1324 | "last":"p:lasted/3:lasts/i:lasting/d:lasted",
1325 | "late":"r:later/t:latest",
1326 | "later":"0:late/1:r",
1327 | "latest":"0:late/1:t",
1328 | "laugh":"p:laughed/i:laughing/3:laughs/d:laughed/s:laughs",
1329 | "launch":"d:launched/p:launched/i:launching/3:launches/s:launches",
1330 | "law":"s:laws",
1331 | "lawyer":"s:lawyers",
1332 | "lay":"0:lie/1:p/d:laid/p:laid/i:laying/3:lays",
1333 | "layer":"s:layers/d:layered/i:layering/p:layered/3:layers",
1334 | "lazy":"t:laziest/r:lazier",
1335 | "lead":"p:led/d:led/i:leading/3:leads/s:leads/0:lead/1:d",
1336 | "leader":"s:leaders",
1337 | "leading":"0:lead/1:i/i:leading",
1338 | "leaf":"s:leaves/i:leafing/p:leafed/3:leafs/d:leafed",
1339 | "league":"s:leagues/i:leaguing/p:leagued/3:leagues/d:leagued",
1340 | "lean":"p:leaned/i:leaning/3:leans/r:leaner/d:leaned",
1341 | "learn":"d:learned/i:learning/p:learned/3:learns",
1342 | "leather":"s:leathers/i:leathering/p:leathered/3:leathers/d:leathered",
1343 | "leave":"d:left/p:left/i:leaving/3:leaves/s:leaves",
1344 | "lecture":"s:lectures/i:lecturing/p:lectured/d:lectured/3:lectures",
1345 | "left":"0:leave/1:dp/d:left/p:left",
1346 | "leg":"s:legs",
1347 | "lemon":"s:lemons",
1348 | "lend":"p:lent/3:lends/d:lent/i:lending",
1349 | "length":"s:lengths",
1350 | "lesson":"s:lessons",
1351 | "let":"i:letting/d:let/0:let/1:dp/p:let/3:lets",
1352 | "letter":"s:letters/p:lettered/i:lettering/3:letters/d:lettered",
1353 | "level":"s:levels/d:levelled/p:levelled/i:levelling/3:levels",
1354 | "library":"s:libraries",
1355 | "licence":"s:licences/d:licenced/i:licencing/p:licenced/3:licences",
1356 | "license":"d:licensed/i:licensing/s:licenses/3:licenses/p:licensed",
1357 | "lid":"s:lids/p:lidded",
1358 | "lie":"p:lay/i:lying/3:lies/s:lies/d:lain",
1359 | "life":"s:lives",
1360 | "lift":"p:lifted/d:lifted/i:lifting/s:lifts/3:lifts",
1361 | "light":"s:lights/p:lit/d:lit/r:lighter/i:lighting/t:lightest/3:lights",
1362 | "like":"p:liked/3:likes/d:liked/s:likes/i:liking",
1363 | "likely":"t:likeliest",
1364 | "limit":"s:limits/d:limited/3:limits/i:limiting/p:limited",
1365 | "limited":"0:limit/1:dp/d:limited/p:limited",
1366 | "line":"s:lines/d:lined/i:lining/p:lined/3:lines",
1367 | "link":"d:linked/s:links/i:linking/3:links/p:linked",
1368 | "lip":"s:lips/d:lipped",
1369 | "liquid":"s:liquids",
1370 | "list":"s:lists/d:listed/p:listed/3:lists/i:listing",
1371 | "listen":"p:listened/i:listening/d:listened/3:listens",
1372 | "literature":"s:literatures",
1373 | "litre":"s:litres",
1374 | "live":"p:lived/i:living/3:lives/d:lived/s:lives",
1375 | "lively":"r:livelier/t:liveliest",
1376 | "living":"0:live/1:i/i:living/s:livings",
1377 | "load":"s:loads/d:loaded/i:loading/p:loaded/3:loads",
1378 | "loan":"s:loans/d:loaned/p:loaned/i:loaning/3:loans",
1379 | "local":"s:locals",
1380 | "locate":"d:located/p:located/i:locating/3:locates",
1381 | "located":"0:locate/1:dp/p:located",
1382 | "location":"s:locations",
1383 | "lock":"d:locked/s:locks/p:locked/i:locking/3:locks",
1384 | "logic":"s:logics",
1385 | "logical":"s:logicals",
1386 | "lonely":"t:loneliest/r:lonelier",
1387 | "long":"r:longer/t:longest/p:longed/i:longing/d:longed/3:longs",
1388 | "look":"p:looked/i:looking/3:looks/d:looked/s:looks",
1389 | "loose":"p:loosed/i:loosing/d:loosed/3:looses",
1390 | "lord":"i:lording/p:lorded/3:lords/d:lorded",
1391 | "lorry":"s:lorries",
1392 | "lose":"d:lost/p:lost/i:losing/3:loses",
1393 | "loss":"s:losses",
1394 | "lost":"0:lose/1:dp/p:lost/d:lost",
1395 | "loud":"r:louder/t:loudest",
1396 | "love":"p:loved/3:loves/d:loved/i:loving/s:loves",
1397 | "lovely":"t:loveliest/r:lovelier/s:lovelies",
1398 | "lover":"s:lovers",
1399 | "low":"r:lower/t:lowest/s:lows/b:lower/d:lowed/f:lows/i:lowing/p:lowed/3:lows/z:lowest",
1400 | "lucky":"r:luckier/t:luckiest",
1401 | "luggage":"p:luggaged",
1402 | "lump":"s:lumps/d:lumped/p:lumped/i:lumping/3:lumps",
1403 | "lunch":"s:lunches/p:lunched/i:lunching/d:lunched/3:lunches",
1404 | "lung":"s:lungs/i:lunging",
1405 | "machine":"s:machines/d:machined/i:machining/p:machined/3:machines",
1406 | "machinery":"s:machineries",
1407 | "mad":"r:madder/t:maddest/s:mads",
1408 | "magazine":"s:magazines",
1409 | "magic":"s:magics",
1410 | "mail":"d:mailed/s:mails/i:mailing/p:mailed/3:mails",
1411 | "maintain":"d:maintained/i:maintaining/p:maintained/3:maintains",
1412 | "major":"s:majors/i:majoring/p:majored/3:majors/d:majored",
1413 | "majority":"s:majorities",
1414 | "make":"d:made/p:made/i:making/3:makes",
1415 | "male":"s:males",
1416 | "mall":"s:malls/i:malling",
1417 | "man":"s:men/d:manned/i:manning/p:manned/3:mans",
1418 | "manage":"d:managed/p:managed/3:manages/i:managing",
1419 | "management":"s:managements",
1420 | "manager":"s:managers",
1421 | "manner":"s:manners",
1422 | "manufacture":"d:manufactured/3:manufactures/i:manufacturing/s:manufactures/p:manufactured",
1423 | "manufacturer":"s:manufacturers",
1424 | "manufacturing":"i:manufacturing/0:manufacturing/1:i",
1425 | "map":"s:maps/d:mapped/i:mapping/p:mapped/3:maps",
1426 | "march":"p:marched/s:marches/i:marching/d:marched/3:marches",
1427 | "mark":"s:marks/d:marked/i:marking/3:marks/p:marked",
1428 | "market":"s:markets/d:marketed/p:marketed/i:marketing/3:markets",
1429 | "marketing":"i:marketing/0:marketing/1:i",
1430 | "marriage":"s:marriages",
1431 | "married":"0:marry/1:pd/d:married/p:married",
1432 | "marry":"p:married/d:married/i:marrying/3:marries",
1433 | "mass":"s:masses/i:massing/d:massed/p:massed/3:masses",
1434 | "master":"s:masters/d:mastered/i:mastering/p:mastered/3:masters",
1435 | "match":"s:matches/d:matched/3:matches/i:matching/p:matched",
1436 | "matching":"0:match/1:i/i:matching/s:matchings",
1437 | "mate":"s:mates/d:mated/i:mating/p:mated/3:mates",
1438 | "material":"s:materials",
1439 | "matter":"s:matters/3:matters/p:mattered/d:mattered/i:",
1440 | "maximum":"s:maxima",
1441 | "mayor":"s:mayors",
1442 | "me":"s:mes",
1443 | "meal":"s:meals",
1444 | "mean":"3:means/p:meant/d:meant/i:meaning",
1445 | "meaning":"0:mean/1:i/s:meanings/i:meaning",
1446 | "means":"0:mean/1:3",
1447 | "measure":"s:measures/d:measured/i:measuring/p:measured/3:measures",
1448 | "measurement":"s:measurements",
1449 | "meat":"s:meats",
1450 | "medical":"s:medicals",
1451 | "medicine":"s:medicines/f:medicines",
1452 | "medium":"s:mediums",
1453 | "meet":"p:met/d:met/i:meeting/3:meets",
1454 | "meeting":"0:meet/1:i/s:meetings/i:meeting",
1455 | "melt":"p:melted/d:melted/i:melting/3:melts",
1456 | "member":"s:members",
1457 | "membership":"s:memberships",
1458 | "memory":"s:memories",
1459 | "mention":"d:mentioned/p:mentioned/i:mentioning/3:mentions/s:mentions",
1460 | "menu":"s:menus",
1461 | "mere":"t:merest/s:meres",
1462 | "mess":"i:messing/d:messed/p:messed/s:messes/3:messes",
1463 | "message":"s:messages/i:messaging/p:messaged/3:messages/d:messaged/f:messages",
1464 | "metal":"s:metals/i:metaling/p:metaled/3:metals/d:metaled",
1465 | "method":"s:methods",
1466 | "metre":"s:metres",
1467 | "MG":"s:mgs",
1468 | "middle":"s:middles/i:middling/p:middled/3:middles/d:middled",
1469 | "midnight":"s:midnights",
1470 | "mild":"r:milder/t:mildest/s:milds",
1471 | "mile":"s:miles",
1472 | "milk":"d:milked/i:milking/s:milks/p:milked/3:milks",
1473 | "milligram":"s:milligrams",
1474 | "millimetre":"s:millimetres",
1475 | "mind":"s:minds/d:minded/i:minding/p:minded/3:minds",
1476 | "mine":"s:mines/i:mining/d:mined/p:mined/3:mines",
1477 | "mineral":"s:minerals",
1478 | "minimum":"s:minima",
1479 | "minister":"s:ministers/i:ministering/p:ministered/3:ministers/d:ministered",
1480 | "ministry":"s:ministries",
1481 | "minor":"s:minors",
1482 | "minority":"s:minorities",
1483 | "minute":"s:minutes/3:minutes",
1484 | "mirror":"s:mirrors/d:mirrored/p:mirrored/3:mirrors/i:mirroring",
1485 | "miss":"d:missed/p:missed/i:missing/3:misses/s:misses",
1486 | "missing":"0:miss/1:i/i:missing",
1487 | "mistake":"s:mistakes/d:mistaken/i:mistaking/p:mistook/3:mistakes",
1488 | "mistaken":"0:mistake/1:d/d:mistaken",
1489 | "mix":"d:mixed/p:mixed/i:mixing/s:mixes/3:mixes",
1490 | "mixed":"0:mix/1:dp/d:mixed/p:mixed",
1491 | "mixture":"s:mixtures",
1492 | "mobile":"s:mobiles",
1493 | "model":"s:models/d:modelled/i:modelling/p:modelled/3:models",
1494 | "modern":"s:moderns",
1495 | "mom":"s:moms",
1496 | "moment":"s:moments",
1497 | "Monday":"s:mondays",
1498 | "money":"s:moneys",
1499 | "monitor":"d:monitored/i:monitoring/s:monitors/3:monitors/p:monitored",
1500 | "month":"s:months",
1501 | "mood":"s:moods",
1502 | "moon":"s:moons/i:mooning/p:mooned/3:moons/d:mooned",
1503 | "moral":"s:morals",
1504 | "morning":"s:mornings",
1505 | "mother":"s:mothers/i:mothering/p:mothered/3:mothers/d:mothered",
1506 | "motion":"s:motions/p:motioned/i:motioning/3:motions/d:motioned",
1507 | "motor":"s:motors/p:motored/3:motors/i:motoring/d:motored",
1508 | "motorcycle":"s:motorcycles/3:motorcycles/i:motorcycling/p:motorcycled/d:motorcycled/f:motorcycles",
1509 | "mount":"d:mounted/i:mounting/p:mounted/s:mounts/3:mounts",
1510 | "mountain":"s:mountains",
1511 | "mouse":"s:mice/i:mousing/p:moused/3:mouses/d:moused",
1512 | "mouth":"s:mouths/p:mouthed/i:mouthing/d:mouthed/3:mouths",
1513 | "move":"i:moving/p:moved/d:moved/3:moves/s:moves",
1514 | "movement":"s:movements",
1515 | "movie":"s:movies",
1516 | "moving":"0:move/1:i/i:moving",
1517 | "mud":"s:muds/i:mudding/p:mudded/3:muds/d:mudded",
1518 | "multiply":"d:multiplied/i:multiplying/p:multiplied/3:multiplies",
1519 | "mum":"s:mums",
1520 | "murder":"d:murdered/s:murders/p:murdered/i:murdering/3:murders",
1521 | "muscle":"s:muscles/p:muscled/i:muscling/d:muscled/3:muscles",
1522 | "museum":"s:museums",
1523 | "music":"s:musics",
1524 | "musical":"s:musicals",
1525 | "musician":"s:musicians",
1526 | "mystery":"s:mysteries",
1527 | "nail":"s:nails/d:nailed/i:nailing/p:nailed/3:nails",
1528 | "name":"s:names/d:named/p:named/i:naming/3:names",
1529 | "narrow":"r:narrower/p:narrowed/d:narrowed/i:narrowing/3:narrows/t:narrowest",
1530 | "nation":"s:nations",
1531 | "national":"s:nationals",
1532 | "nature":"s:natures",
1533 | "navy":"s:navies",
1534 | "near":"t:nearest/r:nearer/i:nearing/p:neared/3:nears/d:neared",
1535 | "neat":"r:neater/t:neatest",
1536 | "necessary":"s:necessaries",
1537 | "neck":"s:necks/i:necking/p:necked/3:necks/d:necked",
1538 | "need":"s:needs/3:needs/d:needed/p:needed/i:needing",
1539 | "needle":"s:needles/i:needling/p:needled/3:needles/d:needled",
1540 | "negative":"s:negatives/d:negatived/p:negatived/i:negativing/3:negatives/f:negatives",
1541 | "neighbour":"s:neighbours/i:neighbouring/p:neighboured/3:neighbours/d:neighboured",
1542 | "neighbourhood":"s:neighbourhoods",
1543 | "nephew":"s:nephews",
1544 | "nerve":"s:nerves/p:nerved/i:nerving/d:nerved/3:nerves",
1545 | "nest":"s:nests/i:nesting/d:nested/3:nests/p:nested",
1546 | "net":"s:nets/p:netted/d:netted/i:netting/3:nets",
1547 | "network":"s:networks/i:networking/d:networked/p:networked/3:networks",
1548 | "new":"r:newer/t:newest",
1549 | "newspaper":"s:newspapers",
1550 | "nice":"r:nicer/t:nicest",
1551 | "niece":"s:nieces",
1552 | "night":"s:nights",
1553 | "nobody":"s:nobodies",
1554 | "noise":"s:noises/i:noising/p:noised/3:noises/d:noised",
1555 | "noisy":"r:noisier/t:noisiest",
1556 | "nonsense":"s:nonsenses",
1557 | "normal":"s:normals",
1558 | "nose":"s:noses/i:nosing/p:nosed/d:nosed/3:noses",
1559 | "note":"s:notes/d:noted/p:noted/i:noting/3:notes",
1560 | "notice":"p:noticed/d:noticed/i:noticing/s:notices/3:notices",
1561 | "novel":"s:novels",
1562 | "number":"s:numbers/d:numbered/p:numbered/i:numbering/0:numb/1:r/3:numbs",
1563 | "nurse":"s:nurses/i:nursing/p:nursed/d:nursed/3:nurses",
1564 | "nut":"s:nuts/i:nutting/3:nuts/p:nutted/d:nutted",
1565 | "obey":"p:obeyed/d:obeyed/i:obeying/3:obeys",
1566 | "object":"s:objects/p:objected/d:objected/i:objecting/3:objects",
1567 | "objective":"s:objectives",
1568 | "observation":"s:observations",
1569 | "observe":"d:observed/p:observed/i:observing/3:observes",
1570 | "obtain":"d:obtained/i:obtaining/p:obtained/3:obtains",
1571 | "occasion":"s:occasions/d:occasioned/i:occasioning/p:occasioned/3:occasions",
1572 | "occupied":"0:occupy/1:dp/d:occupied/p:occupied",
1573 | "occupy":"d:occupied/3:occupies/p:occupied/i:occupying",
1574 | "occur":"3:occurs/p:occurred/d:occurred/i:occurring",
1575 | "ocean":"s:oceans",
1576 | "off":"i:offing/p:offed/3:offs/d:offed",
1577 | "offence":"s:offences",
1578 | "offend":"d:offended/p:offended/3:offends/i:offending",
1579 | "offensive":"s:offensives",
1580 | "offer":"d:offered/3:offers/i:offering/p:offered/s:offers",
1581 | "office":"s:offices",
1582 | "officer":"s:officers/i:officering/p:officered/3:officers/d:officered",
1583 | "official":"s:officials",
1584 | "oil":"s:oils/p:oiled/i:oiling/d:oiled/3:oils",
1585 | "old":"r:older/t:oldest/s:olds",
1586 | "one":"s:ones",
1587 | "onion":"s:onions",
1588 | "onto":"s:ontos",
1589 | "open":"p:opened/d:opened/i:opening/3:opens",
1590 | "opening":"0:open/1:i/i:opening/s:openings",
1591 | "operate":"i:operating/d:operated/3:operates/p:operated",
1592 | "operation":"s:operations",
1593 | "opinion":"s:opinions",
1594 | "opponent":"s:opponents",
1595 | "opportunity":"s:opportunities",
1596 | "oppose":"d:opposed/p:opposed/i:opposing/3:opposes",
1597 | "opposing":"0:oppose/1:i/i:opposing",
1598 | "opposite":"s:opposites",
1599 | "opposition":"s:oppositions",
1600 | "option":"s:options",
1601 | "orange":"s:oranges",
1602 | "order":"s:orders/d:ordered/p:ordered/i:ordering/3:orders",
1603 | "ordinary":"s:ordinaries",
1604 | "organ":"s:organs",
1605 | "organization":"s:organizations",
1606 | "organize":"d:organized/i:organizing/p:organized/3:organizes",
1607 | "organized":"0:organize/1:dp/d:organized/p:organized",
1608 | "origin":"s:origins",
1609 | "original":"s:originals",
1610 | "other":"s:others",
1611 | "out":"i:outing/p:outed/3:outs/d:outed",
1612 | "outer":"s:outers",
1613 | "outline":"d:outlined/s:outlines/p:outlined/i:outlining/3:outlines",
1614 | "output":"s:outputs/d:output/0:output/1:d/3:outputs/i:outputting/f:outputs",
1615 | "oven":"s:ovens",
1616 | "over":"s:overs",
1617 | "overall":"s:overalls",
1618 | "overcome":"d:overcome/0:overcome/1:d/i:overcoming/p:overcame/3:overcomes",
1619 | "owe":"i:owing/p:owed/3:owes/d:owed",
1620 | "own":"d:owned/3:owns/p:owned/i:owning",
1621 | "owner":"s:owners",
1622 | "p":"s:pp",
1623 | "pace":"s:paces/i:pacing/p:paced/3:paces/d:paced",
1624 | "pack":"d:packed/s:packs/p:packed/i:packing/3:packs",
1625 | "package":"s:packages/d:packaged/i:packaging/p:packaged/3:packages",
1626 | "packaging":"i:packaging/0:packaging/1:i",
1627 | "packet":"s:packets",
1628 | "page":"s:pages/i:paging/p:paged/3:pages/d:paged",
1629 | "pain":"s:pains/p:pained/i:paining/3:pains/d:pained",
1630 | "paint":"d:painted/p:painted/i:painting/s:paints/3:paints",
1631 | "painter":"s:painters",
1632 | "painting":"s:paintings/i:painting/0:painting/1:i",
1633 | "pair":"s:pairs/d:paired/p:paired/i:pairing/3:pairs",
1634 | "palace":"s:palaces",
1635 | "pale":"r:paler/p:paled/t:palest/3:pales/i:paling/d:paled/s:pales",
1636 | "pan":"s:pans/d:panned/i:panning/p:panned/3:pans",
1637 | "panel":"s:panels/d:panelled/i:panelling/p:panelled/3:panels",
1638 | "pants":"s:pants/0:pants/1:s",
1639 | "paper":"s:papers/d:papered/i:papering/p:papered/3:papers",
1640 | "parallel":"s:parallels/3:parallels/i:paralleling/p:parallelled/d:parallelled",
1641 | "parent":"s:parents/f:parents",
1642 | "park":"s:parks/d:parked/p:parked/i:parking/3:parks",
1643 | "parliament":"s:parliaments",
1644 | "part":"s:parts/d:parted/p:parted/i:parting/3:parts",
1645 | "partner":"s:partners/i:partnering/d:partnered/p:partnered/3:partners",
1646 | "partnership":"s:partnerships",
1647 | "party":"s:parties/i:partying/p:partied/3:parties/d:partied/f:parties",
1648 | "pass":"d:passed/p:passed/i:passing/3:passes/s:passes",
1649 | "passage":"s:passages",
1650 | "passenger":"s:passengers",
1651 | "passing":"0:pass/1:i/i:passing",
1652 | "passport":"s:passports",
1653 | "path":"s:paths",
1654 | "patient":"s:patients",
1655 | "pattern":"s:patterns/i:patterning/p:patterned/3:patterns/d:patterned/f:patterns",
1656 | "pause":"p:paused/i:pausing/s:pauses/3:pauses/d:paused",
1657 | "pay":"d:paid/i:paying/p:paid/3:pays",
1658 | "payment":"s:payments",
1659 | "peak":"s:peaks/p:peaked/d:peaked/i:peaking/3:peaks",
1660 | "pen":"s:pens/p:penned/d:penned/i:penning/3:pens",
1661 | "pence":"s:pences",
1662 | "pencil":"s:pencils/d:pencilled/p:pencilled/i:pencilling/3:pencils",
1663 | "penny":"s:pennies",
1664 | "pension":"s:pensions/d:pensioned/i:pensioning/p:pensioned/3:pensions",
1665 | "people":"s:peoples/i:peopling/p:peopled/3:peoples/d:peopled",
1666 | "pepper":"s:peppers/d:peppered/p:peppered/i:peppering/3:peppers",
1667 | "per":"s:pers",
1668 | "perfect":"d:perfected/i:perfecting/p:perfected/3:perfects",
1669 | "perform":"d:performed/i:performing/p:performed/3:performs",
1670 | "performance":"s:performances",
1671 | "performer":"s:performers",
1672 | "period":"s:periods",
1673 | "permission":"s:permissions",
1674 | "permit":"d:permitted/3:permits/i:permitting/p:permitted/s:permits",
1675 | "person":"s:persons",
1676 | "personality":"s:personalities",
1677 | "persuade":"d:persuaded/p:persuaded/i:persuading/3:persuades",
1678 | "pet":"s:pets/i:petting/p:petted/d:petted/3:pets",
1679 | "petrol":"s:petrols",
1680 | "phase":"s:phases/d:phased/i:phasing/p:phased/3:phases",
1681 | "philosophy":"s:philosophies",
1682 | "phone":"p:phoned/s:phones/i:phoning/d:phoned/3:phones",
1683 | "photocopy":"s:photocopies/d:photocopied/i:photocopying/p:photocopied/3:photocopies",
1684 | "photograph":"s:photographs/d:photographed/p:photographed/i:photographing/3:photographs",
1685 | "photographer":"s:photographers",
1686 | "phrase":"s:phrases/d:phrased/p:phrased/i:phrasing/3:phrases",
1687 | "piano":"s:pianos",
1688 | "pick":"p:picked/i:picking/d:picked/3:picks/s:picks",
1689 | "picture":"s:pictures/d:pictured/p:pictured/i:picturing/3:pictures",
1690 | "piece":"s:pieces/i:piecing/d:pieced/p:pieced/3:pieces",
1691 | "pig":"s:pigs/i:pigging/p:pigged/3:pigs/d:pigged",
1692 | "pile":"s:piles/d:piled/i:piling/p:piled/3:piles",
1693 | "pill":"s:pills",
1694 | "pilot":"s:pilots/i:piloting/p:piloted/3:pilots/d:piloted",
1695 | "pin":"s:pins/d:pinned/i:pinning/p:pinned/3:pins",
1696 | "pink":"s:pinks/r:pinker/i:pinking/p:pinked/3:pinks/d:pinked",
1697 | "pint":"s:pints",
1698 | "pipe":"s:pipes/d:piped/p:piped/i:piping/3:pipes",
1699 | "pitch":"s:pitches/d:pitched/i:pitching/p:pitched/3:pitches",
1700 | "pity":"p:pitied/d:pitied/i:pitying/3:pities/s:pities",
1701 | "place":"s:places/d:placed/i:placing/p:placed/3:places",
1702 | "plain":"s:plains/r:plainer/t:plainest/i:plaining/p:plained/3:plains/d:plained",
1703 | "plan":"s:plans/i:planning/d:planned/3:plans/p:planned",
1704 | "plane":"s:planes/i:planing/p:planed/d:planed/3:planes",
1705 | "planet":"s:planets",
1706 | "planning":"0:plan/1:i/i:planning",
1707 | "plant":"s:plants/d:planted/i:planting/p:planted/3:plants",
1708 | "plastic":"s:plastics",
1709 | "plate":"s:plates/d:plated/i:plating/p:plated/3:plates",
1710 | "platform":"s:platforms",
1711 | "play":"i:playing/p:played/d:played/3:plays/s:plays",
1712 | "player":"s:players",
1713 | "pleasant":"r:pleasanter/t:pleasantest",
1714 | "please":"p:pleased/3:pleases/d:pleased/i:pleasing",
1715 | "pleased":"0:please/1:pd/d:pleased/p:pleased",
1716 | "pleasing":"0:please/1:i/i:pleasing",
1717 | "pleasure":"s:pleasures/i:pleasuring",
1718 | "plot":"s:plots/i:plotting/d:plotted/p:plotted/3:plots",
1719 | "plug":"d:plugged/s:plugs/i:plugging/3:plugs/p:plugged",
1720 | "plus":"s:pluses",
1721 | "pocket":"s:pockets/i:pocketing/p:pocketed/3:pockets/d:pocketed",
1722 | "poem":"s:poems",
1723 | "point":"s:points/p:pointed/i:pointing/3:points/d:pointed",
1724 | "pointed":"0:point/1:pd/p:pointed/d:pointed",
1725 | "poison":"s:poisons/d:poisoned/i:poisoning/p:poisoned/3:poisons",
1726 | "Pole":"s:poles/i:poling/p:poled/d:poled/3:poles",
1727 | "police":"s:police/0:police/1:s/i:policing/d:policed/p:policed/3:polices",
1728 | "policy":"s:policies",
1729 | "Polish":"d:polished/i:polishing/p:polished/s:polishes/3:polishes",
1730 | "polite":"t:politest/r:politer",
1731 | "politician":"s:politicians",
1732 | "pollution":"s:pollutions",
1733 | "pool":"s:pools/i:pooling/d:pooled/p:pooled/3:pools",
1734 | "poor":"r:poorer/t:poorest",
1735 | "pop":"p:popped/i:popping/s:pops/3:pops/d:popped",
1736 | "popular":"s:populars",
1737 | "population":"s:populations",
1738 | "port":"s:ports/d:ported/i:porting/p:ported/3:ports",
1739 | "pose":"d:posed/3:poses/p:posed/i:posing/s:poses",
1740 | "position":"s:positions/d:positioned/i:positioning/3:positions/p:positioned",
1741 | "positive":"s:positives",
1742 | "possess":"p:possessed/d:possessed/3:possesses/i:possessing",
1743 | "possession":"s:possessions",
1744 | "possibility":"s:possibilities",
1745 | "post":"s:posts/d:posted/p:posted/i:posting/3:posts",
1746 | "pot":"s:pots/i:potting/d:potted/p:potted/3:pots",
1747 | "potato":"s:potatoes",
1748 | "potential":"s:potentials",
1749 | "pound":"s:pounds/p:pounded/i:pounding/d:pounded/3:pounds",
1750 | "pour":"p:poured/i:pouring/d:poured/3:pours",
1751 | "powder":"s:powders/i:powdering/d:powdered/p:powdered/3:powders",
1752 | "power":"s:powers/d:powered/p:powered/3:powers/i:powering",
1753 | "practical":"s:practicals",
1754 | "practice":"s:practices/3:practices/i:practicing/p:practiced/d:practiced",
1755 | "practise":"d:practised/i:practising/p:practised/3:practises/s:practises",
1756 | "praise":"d:praised/p:praised/i:praising/s:praises/3:praises",
1757 | "prayer":"s:prayers",
1758 | "predict":"d:predicted/p:predicted/i:predicting/3:predicts",
1759 | "prefer":"p:preferred/d:preferred/i:preferring/3:prefers",
1760 | "preference":"s:preferences",
1761 | "premises":"1:s3/0:premise",
1762 | "preparation":"s:preparations",
1763 | "prepare":"d:prepared/i:preparing/p:prepared/3:prepares",
1764 | "prepared":"0:prepare/1:dp/d:prepared",
1765 | "presence":"s:presences",
1766 | "present":"d:presented/p:presented/3:presents/i:presenting/s:presents",
1767 | "presentation":"s:presentations",
1768 | "preserve":"d:preserved/i:preserving/3:preserves/p:preserved/s:preserves",
1769 | "president":"s:presidents",
1770 | "press":"p:pressed/d:pressed/i:pressing/s:presses/3:presses",
1771 | "pressure":"s:pressures/d:pressured/p:pressured/i:pressuring/3:pressures",
1772 | "pretend":"i:pretending/p:pretended/3:pretends/d:pretended",
1773 | "pretty":"t:prettiest/r:prettier",
1774 | "prevent":"i:preventing/d:prevented/3:prevents/p:prevented",
1775 | "price":"s:prices/d:priced/i:pricing/p:priced/3:prices",
1776 | "pride":"3:prides/p:prided/d:prided/s:prides/i:priding",
1777 | "priest":"s:priests",
1778 | "primary":"s:primaries",
1779 | "prince":"s:princes",
1780 | "princess":"s:princesses",
1781 | "principle":"s:principles",
1782 | "print":"d:printed/s:prints/i:printing/p:printed/3:prints",
1783 | "printer":"s:printers",
1784 | "printing":"0:print/1:i/i:printing/s:printings",
1785 | "prior":"s:priors",
1786 | "priority":"s:priorities",
1787 | "prison":"s:prisons",
1788 | "prisoner":"s:prisoners",
1789 | "private":"s:privates",
1790 | "prize":"s:prizes/d:prized/p:prized/3:prizes/i:prizing",
1791 | "probable":"s:probables",
1792 | "problem":"s:problems",
1793 | "procedure":"s:procedures",
1794 | "proceed":"s:proceeds/p:proceeded/i:proceeding/3:proceeds/d:proceeded",
1795 | "process":"s:processes/d:processed/i:processing/p:processed/3:processes",
1796 | "produce":"d:produced/p:produced/i:producing/3:produces",
1797 | "producer":"s:producers",
1798 | "product":"s:products",
1799 | "production":"s:productions",
1800 | "profession":"s:professions",
1801 | "professional":"s:professionals",
1802 | "professor":"s:professors",
1803 | "profit":"s:profits/i:profiting/p:profited/d:profited/3:profits",
1804 | "program":"s:programs/i:programming/p:programmed/3:programs/d:programmed/f:programs",
1805 | "programme":"s:programmes/d:programmed/p:programmed/i:programming/3:programs",
1806 | "progress":"i:progressing/d:progressed/3:progresses/p:progressed",
1807 | "project":"s:projects/d:projected/i:projecting/3:projects/p:projected",
1808 | "promise":"p:promised/d:promised/s:promises/3:promises/i:promising",
1809 | "promote":"d:promoted/i:promoting/3:promotes/p:promoted",
1810 | "promotion":"s:promotions",
1811 | "prompt":"p:prompted/d:prompted/i:prompting/3:prompts/s:prompts/r:prompter",
1812 | "pronounce":"p:pronounced/d:pronounced/i:pronouncing/3:pronounces",
1813 | "pronunciation":"s:pronunciations",
1814 | "proof":"s:proofs/d:proofed/i:proofing/p:proofed/3:proofs",
1815 | "property":"s:properties",
1816 | "proportion":"s:proportions/d:proportioned/i:proportioning/p:proportioned/3:proportions",
1817 | "proposal":"s:proposals",
1818 | "propose":"d:proposed/p:proposed/i:proposing/3:proposes",
1819 | "prospect":"s:prospects/i:prospecting/p:prospected/3:prospects/d:prospected",
1820 | "protect":"d:protected/i:protecting/3:protects/p:protected",
1821 | "protection":"s:protections",
1822 | "protest":"s:protests/p:protested/i:protesting/d:protested/3:protests",
1823 | "proud":"t:proudest/r:prouder",
1824 | "prove":"d:proved/p:proved/i:proving/3:proves",
1825 | "provide":"d:provided/3:provides/i:providing/p:provided",
1826 | "provided":"0:provide/1:dp",
1827 | "PT":"s:pts",
1828 | "pub":"s:pubs",
1829 | "publication":"s:publications",
1830 | "publish":"d:published/p:published/i:publishing/3:publishes",
1831 | "publishing":"0:publish/1:i/i:publishing",
1832 | "pull":"p:pulled/i:pulling/d:pulled/3:pulls/s:pulls",
1833 | "punch":"p:punched/s:punches/i:punching/d:punched/3:punches",
1834 | "punish":"d:punished/i:punishing/p:punished/3:punishes",
1835 | "punishment":"s:punishments",
1836 | "pupil":"s:pupils",
1837 | "purchase":"d:purchased/s:purchases/p:purchased/i:purchasing/3:purchases",
1838 | "pure":"t:purest/r:purer",
1839 | "purple":"s:purples/b:purpler/d:purpled/f:purples/i:purpling/p:purpled/3:purples/z:purplest",
1840 | "purpose":"s:purposes/i:purposing/p:purposed/3:purposes/d:purposed",
1841 | "pursue":"d:pursued/i:pursuing/p:pursued/3:pursues",
1842 | "push":"p:pushed/i:pushing/d:pushed/3:pushes",
1843 | "put":"d:put/0:put/1:dp/p:put/i:putting/3:puts",
1844 | "qualification":"s:qualifications",
1845 | "qualified":"0:qualify/1:dp/d:qualified/p:qualified",
1846 | "qualify":"d:qualified/p:qualified/3:qualifies/i:qualifying",
1847 | "quality":"s:qualities",
1848 | "quantity":"s:quantities",
1849 | "quarter":"s:quarters/d:quartered/i:quartering/p:quartered/3:quarters",
1850 | "queen":"s:queens/i:queening/p:queened/3:queens/d:queened",
1851 | "question":"s:questions/d:questioned/p:questioned/i:questioning/3:questions",
1852 | "quick":"r:quicker/t:quickest",
1853 | "quiet":"r:quieter/t:quietest/p:quieted/i:quieting/3:quiets/d:quieted",
1854 | "quit":"p:quit/0:quit/1:pd/i:quitting/d:quit/3:quits",
1855 | "quote":"d:quoted/p:quoted/i:quoting/3:quotes/s:quotes",
1856 | "race":"s:races/i:racing/p:raced/d:raced/3:races",
1857 | "racing":"0:race/1:i/i:racing",
1858 | "radio":"s:radios/i:radioing/p:radioed/3:radios/d:radioed",
1859 | "rail":"s:rails/p:railed/d:railed/i:railing/3:rails",
1860 | "railway":"s:railways",
1861 | "rain":"i:raining/3:rains/s:rains/p:rained/d:rained",
1862 | "raise":"d:raised/p:raised/i:raising/3:raises",
1863 | "range":"i:ranging/s:ranges/p:ranged/3:ranges/d:ranged",
1864 | "rank":"s:ranks/d:ranked/3:ranks/i:ranking/p:ranked",
1865 | "rapid":"s:rapids",
1866 | "rare":"r:rarer/t:rarest/i:raring",
1867 | "rate":"s:rates/d:rated/p:rated/i:rating/3:rates",
1868 | "raw":"t:rawest",
1869 | "reach":"p:reached/d:reached/i:reaching/3:reaches/s:reaches",
1870 | "react":"p:reacted/i:reacting/d:reacted/3:reacts",
1871 | "reaction":"s:reactions",
1872 | "read":"d:read/0:read/1:dp/i:reading/p:read/3:reads",
1873 | "reader":"s:readers",
1874 | "reading":"0:read/1:i/i:reading/s:readings",
1875 | "ready":"s:readies/i:readying/r:readier/d:readied/p:readied/3:readies",
1876 | "reality":"s:realities",
1877 | "realize":"p:realized/d:realized/i:realizing/3:realizes",
1878 | "rear":"d:reared/p:reared/i:rearing/3:rears/s:rears",
1879 | "reason":"s:reasons/p:reasoned/i:reasoning/3:reasons/d:reasoned",
1880 | "recall":"p:recalled/3:recalls/d:recalled/i:recalling",
1881 | "receipt":"s:receipts/i:receipting/p:receipted/3:receipts/d:receipted",
1882 | "receive":"d:received/p:received/i:receiving/3:receives",
1883 | "reception":"s:receptions",
1884 | "reckon":"3:reckons/p:reckoned/d:reckoned/i:reckoning",
1885 | "recognition":"s:recognitions",
1886 | "recognize":"d:recognized/p:recognized/i:recognizing/3:recognizes",
1887 | "recommend":"d:recommended/p:recommended/3:recommends/i:recommending",
1888 | "record":"s:records/d:recorded/p:recorded/i:recording/3:records",
1889 | "recording":"0:record/1:i/s:recordings/i:recording",
1890 | "recover":"d:recovered/i:recovering/p:recovered/3:recovers",
1891 | "red":"s:reds/r:redder",
1892 | "reduce":"d:reduced/i:reducing/3:reduces/p:reduced",
1893 | "reduction":"s:reductions",
1894 | "reference":"s:references/p:referenced/d:referenced/i:referencing/3:references",
1895 | "reflect":"3:reflects/d:reflected/i:reflecting/p:reflected",
1896 | "reform":"s:reforms/d:reformed/i:reforming/p:reformed/3:reforms",
1897 | "refrigerator":"s:refrigerators",
1898 | "refusal":"s:refusals",
1899 | "refuse":"p:refused/d:refused/i:refusing/3:refuses",
1900 | "regard":"d:regarded/3:regards/p:regarded/i:regarding",
1901 | "regarding":"0:regard/1:i",
1902 | "region":"s:regions",
1903 | "regional":"s:regionals",
1904 | "register":"d:registered/s:registers/p:registered/i:registering/3:registers",
1905 | "regret":"p:regretted/s:regrets/i:regretting/d:regretted/3:regrets",
1906 | "regular":"s:regulars",
1907 | "regulation":"s:regulations",
1908 | "reject":"d:rejected/p:rejected/i:rejecting/3:rejects/s:rejects",
1909 | "relate":"i:relating/d:related/3:relates/p:related",
1910 | "related":"0:relate/1:dp/p:related/d:related",
1911 | "relation":"s:relations",
1912 | "relationship":"s:relationships",
1913 | "relative":"s:relatives",
1914 | "relax":"p:relaxed/i:relaxing/d:relaxed/3:relaxes",
1915 | "relaxed":"0:relax/1:pd/p:relaxed/d:relaxed",
1916 | "relaxing":"0:relax/1:i/i:relaxing",
1917 | "release":"d:released/i:releasing/p:released/s:releases/3:releases",
1918 | "relief":"s:reliefs",
1919 | "religion":"s:religions",
1920 | "remain":"3:remains/p:remained/d:remained/i:remaining/s:remains",
1921 | "remaining":"0:remain/1:i/i:remaining",
1922 | "remains":"0:remain/1:3s/s:remains",
1923 | "remark":"s:remarks/p:remarked/d:remarked/3:remarks/i:remarking",
1924 | "remember":"p:remembered/d:remembered/i:remembering/3:remembers",
1925 | "remind":"p:reminded/d:reminded/3:reminds/i:reminding",
1926 | "remote":"r:remoter/t:remotest",
1927 | "removal":"s:removals",
1928 | "remove":"d:removed/i:removing/p:removed/3:removes",
1929 | "rent":"s:rents/i:renting/d:rented/p:rented/3:rents/0:rent/1:d",
1930 | "rented":"0:rent/1:dp/d:rented/p:rented",
1931 | "repair":"s:repairs/i:repairing/d:repaired/p:repaired/3:repairs",
1932 | "repeat":"p:repeated/d:repeated/i:repeating/3:repeats/s:repeats",
1933 | "repeated":"0:repeat/1:pd/d:repeated/p:repeated",
1934 | "replace":"d:replaced/i:replacing/p:replaced/3:replaces",
1935 | "reply":"p:replied/s:replies/3:replies/i:replying/d:replied",
1936 | "report":"d:reported/s:reports/p:reported/3:reports/i:reporting",
1937 | "represent":"d:represented/3:represents/i:representing/p:represented",
1938 | "representative":"s:representatives",
1939 | "reproduce":"d:reproduced/i:reproducing/3:reproduces/p:reproduced",
1940 | "reputation":"s:reputations",
1941 | "request":"s:requests/d:requested/i:requesting/p:requested/3:requests",
1942 | "require":"d:required/3:requires/i:requiring/p:required",
1943 | "requirement":"s:requirements",
1944 | "rescue":"d:rescued/p:rescued/i:rescuing/3:rescues/s:rescues",
1945 | "research":"i:researching/d:researched/s:researches/p:researched/3:researches",
1946 | "reservation":"s:reservations",
1947 | "reserve":"s:reserves/d:reserved/p:reserved/3:reserves/i:reserving",
1948 | "resident":"s:residents",
1949 | "resist":"d:resisted/p:resisted/i:resisting/3:resists",
1950 | "resistance":"s:resistances",
1951 | "resolve":"d:resolved/i:resolving/p:resolved/3:resolves",
1952 | "resort":"s:resorts/i:resorting/d:resorted/p:resorted/3:resorts",
1953 | "resource":"s:resources/d:resourced/i:resourcing/p:resourced",
1954 | "respect":"s:respects/d:respected/p:respected/3:respects/i:respecting",
1955 | "respond":"i:responding/p:responded/d:responded/3:responds",
1956 | "response":"s:responses",
1957 | "responsibility":"s:responsibilities",
1958 | "rest":"i:resting/p:rested/3:rests/s:rests/d:rested",
1959 | "restaurant":"s:restaurants",
1960 | "restore":"d:restored/i:restoring/p:restored/3:restores",
1961 | "restrict":"d:restricted/i:restricting/3:restricts/p:restricted",
1962 | "restricted":"0:restrict/1:dp/d:restricted/p:restricted",
1963 | "restriction":"s:restrictions",
1964 | "result":"s:results/p:resulted/i:resulting/d:resulted/3:results",
1965 | "retain":"d:retained/p:retained/3:retains/i:retaining",
1966 | "retire":"p:retired/d:retired/i:retiring/3:retires",
1967 | "retired":"0:retire/1:pd/d:retired/p:retired",
1968 | "retirement":"s:retirements",
1969 | "return":"p:returned/d:returned/i:returning/s:returns/3:returns",
1970 | "reveal":"d:revealed/p:revealed/3:reveals/i:revealing",
1971 | "reverse":"d:reversed/i:reversing/p:reversed/3:reverses/s:reverses",
1972 | "review":"d:reviewed/s:reviews/i:reviewing/p:reviewed/3:reviews",
1973 | "revise":"d:revised/i:revising/p:revised/3:revises",
1974 | "revision":"s:revisions",
1975 | "revolution":"s:revolutions",
1976 | "reward":"s:rewards/d:rewarded/i:rewarding/p:rewarded/3:rewards",
1977 | "rhythm":"s:rhythms",
1978 | "rice":"s:rices/i:ricing/p:riced/3:rices/d:riced",
1979 | "rich":"r:richer/t:richest",
1980 | "rid":"d:rid/0:rid/1:dp/i:ridding/p:rid/3:rids",
1981 | "ride":"i:riding/p:rode/d:ridden/s:rides/3:rides",
1982 | "rider":"s:riders",
1983 | "riding":"0:ride/1:i/i:riding/s:ridings",
1984 | "right":"s:rights/i:righting/p:righted/3:rights/d:righted",
1985 | "ring":"p:rang/s:rings/i:ringing/d:rung/3:rings",
1986 | "rise":"p:rose/i:rising/d:risen/s:rises/3:rises",
1987 | "risk":"s:risks/i:risking/p:risked/3:risks/d:risked",
1988 | "rival":"s:rivals/p:rivalled/3:rivals/i:rivalling/d:rivalled",
1989 | "river":"s:rivers",
1990 | "road":"s:roads",
1991 | "rob":"d:robbed/p:robbed/i:robbing/3:robs",
1992 | "rock":"s:rocks/i:rocking/p:rocked/d:rocked/3:rocks",
1993 | "role":"s:roles",
1994 | "roll":"p:rolled/s:rolls/i:rolling/d:rolled/3:rolls",
1995 | "romantic":"s:romantics",
1996 | "roof":"s:roofs/d:roofed/i:roofing/p:roofed/3:roofs",
1997 | "room":"s:rooms/i:rooming/p:roomed/3:rooms/d:roomed/f:rooms",
1998 | "root":"s:roots/d:rooted/i:rooting/p:rooted/3:roots",
1999 | "rope":"s:ropes/d:roped/i:roping/p:roped/3:ropes/f:ropes",
2000 | "rough":"r:rougher/t:roughest/d:roughed/s:roughs/i:roughing/p:roughed/3:roughs",
2001 | "round":"s:rounds/p:rounded/d:rounded/i:rounding/3:rounds/r:rounder",
2002 | "rounded":"0:round/1:pd/d:rounded/p:rounded",
2003 | "route":"s:routes/i:routing/p:routed/3:routes/d:routed",
2004 | "routine":"s:routines",
2005 | "row":"s:rows/p:rowed/d:rowed/i:rowing/3:rows",
2006 | "royal":"s:royals",
2007 | "rub":"p:rubbed/i:rubbing/d:rubbed/3:rubs/s:rubs",
2008 | "rubber":"s:rubbers/i:rubbering/p:rubbered/3:rubbers/d:rubbered",
2009 | "rubbish":"p:rubbished/d:rubbished/i:rubbishing/3:rubbishes",
2010 | "rude":"r:ruder/t:rudest",
2011 | "ruin":"s:ruins/3:ruins/i:ruining/p:ruined/d:ruined",
2012 | "ruined":"0:ruine/1:dp/d:ruined/p:ruined",
2013 | "rule":"s:rules/d:ruled/p:ruled/3:rules/i:ruling",
2014 | "ruler":"s:rulers",
2015 | "rumour":"s:rumours/d:rumoured/i:rumouring/p:rumoured/3:rumours",
2016 | "run":"p:ran/i:running/d:run/0:run/1:d/3:runs/s:runs",
2017 | "runner":"s:runners",
2018 | "running":"0:run/1:i/i:running/s:runnings",
2019 | "rush":"i:rushing/p:rushed/d:rushed/s:rushes/3:rushes",
2020 | "sack":"d:sacked/s:sacks/p:sacked/i:sacking/3:sacks",
2021 | "sad":"t:saddest/r:sadder",
2022 | "sadness":"s:sadnesses",
2023 | "safe":"r:safer/t:safest/s:safes",
2024 | "sail":"i:sailing/p:sailed/s:sails/d:sailed/3:sails",
2025 | "sailing":"0:sail/1:i/i:sailing/s:sailings",
2026 | "sailor":"s:sailors",
2027 | "salad":"s:salads",
2028 | "salary":"s:salaries",
2029 | "salt":"s:salts/d:salted/i:salting/p:salted/3:salts",
2030 | "salty":"r:saltier",
2031 | "sample":"s:samples/d:sampled/i:sampling/p:sampled/3:samples",
2032 | "sand":"s:sands/i:sanding/d:sanded/p:sanded/3:sands",
2033 | "satisfaction":"s:satisfactions",
2034 | "satisfied":"d:satisfied/0:satisfied/1:dp/p:satisfied",
2035 | "satisfy":"3:satisfies/d:satisfied/i:satisfying/p:satisfied",
2036 | "satisfying":"0:satisfy/1:i/i:satisfying",
2037 | "Saturday":"s:saturdays",
2038 | "sauce":"s:sauces/d:sauced/i:saucing/p:sauced/3:sauces",
2039 | "save":"d:saved/p:saved/i:saving/3:saves/s:saves",
2040 | "saving":"0:save/1:i/s:savings/i:saving",
2041 | "say":"p:said/3:says/d:said/i:saying",
2042 | "scale":"s:scales/d:scaled/i:scaling/p:scaled/3:scales",
2043 | "scare":"p:scared/d:scared/3:scares/i:scaring/s:scares",
2044 | "scared":"p:scared/0:scared/1:pd/d:scared",
2045 | "scene":"s:scenes",
2046 | "schedule":"d:scheduled/s:schedules/i:scheduling/p:scheduled/3:schedules",
2047 | "scheme":"s:schemes/i:scheming/p:schemed/3:schemes/d:schemed",
2048 | "school":"s:schools/i:schooling/d:schooled/p:schooled/3:schools",
2049 | "science":"s:sciences",
2050 | "scientist":"s:scientists",
2051 | "scissors":"s:scissors/0:scissors/1:s",
2052 | "score":"p:scored/s:scores/d:scored/i:scoring/3:scores",
2053 | "scratch":"i:scratching/p:scratched/s:scratches/d:scratched/3:scratches",
2054 | "scream":"i:screaming/p:screamed/s:screams/d:screamed/3:screams",
2055 | "screen":"s:screens/d:screened/i:screening/p:screened/3:screens",
2056 | "screw":"s:screws/p:screwed/i:screwing/d:screwed/3:screws",
2057 | "sea":"s:seas",
2058 | "seal":"s:seals/d:sealed/p:sealed/i:sealing/3:seals",
2059 | "search":"i:searching/p:searched/s:searches/d:searched/3:searches",
2060 | "season":"s:seasons/i:seasoning/p:seasoned/3:seasons/d:seasoned",
2061 | "seat":"s:seats/d:seated/p:seated/i:seating/3:seats",
2062 | "second":"s:seconds/d:seconded/p:seconded/i:seconding/3:seconds",
2063 | "secondary":"s:secondaries",
2064 | "secret":"s:secrets",
2065 | "secretary":"s:secretaries",
2066 | "section":"s:sections/d:sectioned/i:sectioning/p:sectioned/3:sections",
2067 | "sector":"s:sectors",
2068 | "secure":"d:secured/i:securing/p:secured/3:secures",
2069 | "security":"s:securities",
2070 | "see":"d:seen/p:saw/i:seeing/3:sees",
2071 | "seed":"s:seeds/p:seeded/d:seeded/i:seeding/3:seeds",
2072 | "seek":"i:seeking/d:sought/p:sought/3:seeks",
2073 | "seem":"3:seems/p:seemed/d:seemed/i:seeming",
2074 | "select":"d:selected/i:selecting/3:selects/p:selected",
2075 | "selection":"s:selections",
2076 | "self":"s:selves",
2077 | "sell":"d:sold/i:selling/p:sold/3:sells",
2078 | "senate":"s:senates",
2079 | "senator":"s:senators",
2080 | "send":"d:sent/p:sent/i:sending/3:sends",
2081 | "senior":"s:seniors",
2082 | "sense":"s:senses/p:sensed/i:sensing/d:sensed/3:senses",
2083 | "sensitive":"s:sensitives",
2084 | "sentence":"s:sentences/d:sentenced/p:sentenced/i:sentencing/3:sentences",
2085 | "separate":"d:separated/i:separating/3:separates/p:separated/s:separates",
2086 | "separated":"0:separate/1:dp/d:separated/p:separated",
2087 | "separation":"s:separations",
2088 | "servant":"s:servants",
2089 | "serve":"d:served/i:serving/p:served/3:serves/s:serves",
2090 | "service":"s:services/d:serviced/i:servicing/p:serviced/3:services",
2091 | "session":"s:sessions",
2092 | "set":"d:set/0:set/1:dp/p:set/i:setting/s:sets/3:sets",
2093 | "settle":"d:settled/p:settled/i:settling/3:settles",
2094 | "severe":"t:severest/r:severer",
2095 | "sew":"d:sewn/i:sewing/p:sewed/3:sews",
2096 | "sewing":"0:sew/1:i/i:sewing/s:sewings",
2097 | "sex":"s:sexes/i:sexing/p:sexed/3:sexes/d:sexed",
2098 | "shade":"s:shades/i:shading/d:shaded/p:shaded/3:shades",
2099 | "shadow":"d:shadowed/i:shadowing/p:shadowed/s:shadows/3:shadows",
2100 | "shake":"p:shook/i:shaking/d:shaken/3:shakes/s:shakes",
2101 | "shallow":"s:shallows/r:shallower/t:shallowest/p:shallowed/i:shallowing/3:shallows/d:shallowed",
2102 | "shame":"d:shamed/3:shames/p:shamed/i:shaming/s:shames",
2103 | "shape":"s:shapes/d:shaped/i:shaping/p:shaped/3:shapes",
2104 | "shaped":"0:shape/1:dp/d:shaped/p:shaped",
2105 | "share":"s:shares/d:shared/i:sharing/p:shared/3:shares",
2106 | "sharp":"s:sharps",
2107 | "shave":"d:shaved/i:shaving/p:shaved/3:shaves/s:shaves",
2108 | "sheep":"s:sheeps",
2109 | "sheet":"s:sheets/d:sheeted/p:sheeted/i:sheeting/3:sheets",
2110 | "shelf":"s:shelves",
2111 | "shell":"s:shells/i:shelling/d:shelled/p:shelled/3:shells",
2112 | "shelter":"s:shelters/i:sheltering/d:sheltered/p:sheltered/3:shelters",
2113 | "shift":"s:shifts/d:shifted/p:shifted/i:shifting/3:shifts",
2114 | "shine":"p:shone/i:shining/3:shines/d:shone",
2115 | "shiny":"r:shinier/t:shiniest",
2116 | "ship":"s:ships/d:shipped/i:shipping/p:shipped/3:ships",
2117 | "shirt":"s:shirts/f:shirts",
2118 | "shock":"p:shocked/s:shocks/d:shocked/3:shocks/i:shocking",
2119 | "shocked":"0:shock/1:pd/p:shocked/d:shocked",
2120 | "shocking":"0:shock/1:i/i:shocking",
2121 | "shoe":"s:shoes/d:shod/i:shoeing/p:shod/3:shoes",
2122 | "shoot":"d:shot/p:shot/i:shooting/s:shoots/3:shoots",
2123 | "shooting":"0:shoot/1:i/i:shooting/s:shootings",
2124 | "shop":"s:shops/i:shopping/p:shopped/3:shops/d:shopped",
2125 | "shopping":"0:shop/1:i/i:shopping",
2126 | "short":"r:shorter/t:shortest/i:shorting/p:shorted/3:shorts/d:shorted",
2127 | "shot":"0:shoot/1:dp/s:shots",
2128 | "shoulder":"s:shoulders/p:shouldered/i:shouldering/d:shouldered/3:shoulders",
2129 | "shout":"p:shouted/i:shouting/s:shouts/3:shouts/d:shouted",
2130 | "show":"d:shown/p:showed/3:shows/i:showing/s:shows",
2131 | "shower":"s:showers/d:showered/p:showered/i:showering/3:showers",
2132 | "shut":"d:shut/0:shut/1:dp/p:shut/i:shutting/3:shuts",
2133 | "shy":"p:shied/d:shied/i:shying/3:shies/r:shyer/t:shyest",
2134 | "sick":"r:sicker/t:sickest/i:/p:/3:sicks/d:",
2135 | "side":"s:sides/p:sided/d:sided/i:siding/3:sides",
2136 | "sight":"s:sights/d:sighted/p:sighted/i:sighting/3:sights",
2137 | "sign":"s:signs/d:signed/p:signed/i:signing/3:signs",
2138 | "signal":"s:signals/p:signalled/d:signalled/i:signalling/3:signals",
2139 | "signature":"s:signatures",
2140 | "silence":"d:silenced/p:silenced/i:silencing/s:silences/3:silences",
2141 | "silk":"s:silks",
2142 | "silly":"t:silliest/r:sillier",
2143 | "silver":"i:silvering/p:silvered/s:silvers/d:silvered/3:silvers",
2144 | "simple":"t:simplest/r:simpler",
2145 | "sincere":"t:sincerest/r:sincerer",
2146 | "sing":"i:singing/p:sang/d:sung/3:sings",
2147 | "singer":"s:singers",
2148 | "singing":"0:sing/1:i/i:singing",
2149 | "single":"s:singles/d:singled/p:singled/i:singling/3:singles",
2150 | "sink":"p:sank/d:sunk/i:sinking/s:sinks/3:sinks",
2151 | "sir":"s:sirs",
2152 | "sister":"s:sisters",
2153 | "sit":"p:sat/i:sitting/3:sits/d:sat",
2154 | "site":"s:sites/d:sited/i:siting/p:sited/3:sites",
2155 | "situation":"s:situations",
2156 | "size":"s:sizes/d:sized/i:sizing/p:sized/3:sizes",
2157 | "skill":"s:skills",
2158 | "skin":"s:skins/p:skinned/i:skinning/d:skinned/3:skins",
2159 | "skirt":"s:skirts/p:skirted/i:skirting/3:skirts/d:skirted",
2160 | "sky":"s:skies/p:skied/d:skied/i:skying/3:skies",
2161 | "sleep":"p:slept/i:sleeping/d:slept/3:sleeps",
2162 | "sleeve":"s:sleeves/p:sleeved/i:sleeving/d:sleeved",
2163 | "slice":"s:slices/i:slicing/p:sliced/d:sliced/3:slices",
2164 | "slide":"p:slid/s:slides/i:sliding/3:slides/d:slid",
2165 | "slight":"t:slightest/r:slighter/s:slights/d:slighted/p:slighted/i:slighting/3:slights",
2166 | "slip":"p:slipped/i:slipping/d:slipped/s:slips/3:slips",
2167 | "slope":"s:slopes/p:sloped/i:sloping/3:slopes/d:sloped",
2168 | "slow":"r:slower/i:slowing/p:slowed/d:slowed/3:slows/t:slowest",
2169 | "small":"r:smaller/t:smallest",
2170 | "smart":"r:smarter/i:smarting/t:smartest/p:smarted/3:smarts/d:smarted",
2171 | "smash":"p:smashed/d:smashed/i:smashing/3:smashes/s:smashes",
2172 | "smell":"s:smells/p:smelled/3:smells/i:smelling/d:smelt",
2173 | "smile":"p:smiled/i:smiling/s:smiles/3:smiles/d:smiled",
2174 | "smoke":"i:smoking/p:smoked/d:smoked/3:smokes/s:smokes",
2175 | "smoking":"0:smoke/1:i/i:smoking",
2176 | "smooth":"i:smoothing/r:smoother/d:smoothed/p:smoothed/3:smooths/t:smoothest",
2177 | "snake":"s:snakes/p:snaked/i:snaking/3:snakes/d:snaked",
2178 | "snow":"i:snowing/s:snows/p:snowed/d:snowed/3:snows",
2179 | "soap":"s:soaps/i:soaping/p:soaped/3:soaps/d:soaped",
2180 | "society":"s:societies",
2181 | "sock":"s:socks/d:socked/i:socking/p:socked/3:socks",
2182 | "soft":"r:softer/t:softest",
2183 | "soil":"s:soils/d:soiled/p:soiled/i:soiling/3:soils",
2184 | "soldier":"s:soldiers/p:soldiered/i:soldiering/3:soldiers/d:soldiered",
2185 | "solid":"s:solids",
2186 | "solution":"s:solutions",
2187 | "solve":"d:solved/i:solving/3:solves/p:solved",
2188 | "son":"s:sons",
2189 | "song":"s:songs",
2190 | "sore":"s:sores/r:sorer",
2191 | "sorry":"r:sorrier",
2192 | "sort":"s:sorts/d:sorted/i:sorting/p:sorted/3:sorts",
2193 | "soul":"s:souls",
2194 | "sound":"3:sounds/s:sounds/p:sounded/i:sounding/d:sounded/r:sounder",
2195 | "soup":"s:soups/p:souped/i:souping/3:soups/d:souped/f:soups",
2196 | "sour":"d:soured/p:soured/3:sours/i:souring/r:sourer/t:sourest",
2197 | "source":"s:sources/d:sourced/i:sourcing/p:sourced/3:sources/f:sources",
2198 | "space":"s:spaces/d:spaced/i:spacing/p:spaced/3:spaces",
2199 | "spare":"d:spared/s:spares/p:spared/i:sparing/3:spares",
2200 | "speak":"p:spoke/i:speaking/d:spoken/3:speaks",
2201 | "speaker":"s:speakers",
2202 | "special":"s:specials",
2203 | "specialist":"s:specialists",
2204 | "specific":"s:specifics",
2205 | "speech":"s:speeches",
2206 | "speed":"s:speeds/i:speeding/p:sped/3:speeds/d:speeded",
2207 | "spell":"s:spells/d:spelt/3:spells/i:spelling/p:spelt",
2208 | "spelling":"0:spell/1:i/i:spelling/s:spellings",
2209 | "spend":"d:spent/p:spent/i:spending/3:spends",
2210 | "spice":"s:spices/p:spiced/d:spiced/3:spices/i:spicing",
2211 | "spicy":"r:spicier/t:spiciest",
2212 | "spider":"s:spiders",
2213 | "spin":"i:spinning/p:spun/d:spun/3:spins/s:spins",
2214 | "spirit":"s:spirits/d:spirited/p:spirited/i:spiriting/3:spirits/f:spirits",
2215 | "spiritual":"s:spirituals",
2216 | "spite":"i:spiting/p:spited/3:spites/d:spited",
2217 | "split":"d:split/0:split/1:dp/i:splitting/p:split/s:splits/3:splits",
2218 | "spoil":"d:spoiled/i:spoiling/s:spoils/3:spoils/p:spoiled",
2219 | "spoken":"0:speak/1:d/d:spoken",
2220 | "spoon":"s:spoons/p:spooned/i:spooning/d:spooned/3:spoons",
2221 | "sport":"s:sports/p:sported/i:sporting/3:sports/d:sported",
2222 | "spot":"s:spots/p:spotted/d:spotted/i:spotting/3:spots",
2223 | "spray":"d:sprayed/s:sprays/i:spraying/p:sprayed/3:sprays",
2224 | "spread":"d:spread/0:spread/1:dp/p:spread/i:spreading/3:spreads/s:spreads",
2225 | "spring":"s:springs/p:sprang/d:sprung/i:springing/3:springs",
2226 | "square":"s:squares/d:squared/i:squaring/p:squared/3:squares",
2227 | "squeeze":"p:squeezed/d:squeezed/i:squeezing/3:squeezes/s:squeezes",
2228 | "stable":"s:stables/p:stabled/d:stabled/i:stabling/3:stables",
2229 | "staff":"d:staffed/s:staffs/i:staffing/p:staffed/3:staffs",
2230 | "stage":"s:stages/d:staged/p:staged/i:staging/3:stages",
2231 | "stamp":"s:stamps/p:stamped/d:stamped/i:stamping/3:stamps",
2232 | "stand":"p:stood/i:standing/3:stands/d:stood/s:stands",
2233 | "standard":"s:standards",
2234 | "star":"s:stars/i:starring/p:starred/3:stars/d:starred",
2235 | "stare":"p:stared/i:staring/3:stares/d:stared/s:stares",
2236 | "start":"p:started/d:started/3:starts/i:starting/s:starts",
2237 | "state":"s:states/p:stated/d:stated/3:states/i:stating",
2238 | "statement":"s:statements",
2239 | "station":"s:stations/d:stationed/i:stationing/p:stationed/3:stations",
2240 | "statue":"s:statues",
2241 | "stay":"p:stayed/i:staying/d:stayed/3:stays/s:stays",
2242 | "steady":"p:steadied/i:steadying/d:steadied/r:steadier/3:steadies/t:steadiest",
2243 | "steal":"d:stolen/p:stole/i:stealing/3:steals",
2244 | "steam":"i:steaming/p:steamed/d:steamed/s:steams/3:steams",
2245 | "steel":"p:steeled/s:steels/i:steeling/d:steeled/3:steels",
2246 | "steep":"r:steeper/d:steeped/t:steepest/i:steeping/p:steeped/3:steeps",
2247 | "steer":"p:steered/i:steering/d:steered/3:steers/s:steers",
2248 | "step":"s:steps/p:stepped/i:stepping/d:stepped/3:steps",
2249 | "stick":"p:stuck/i:sticking/d:stuck/s:sticks/3:sticks",
2250 | "sticky":"t:stickiest/r:stickier/d:stickied/s:stickies",
2251 | "stiff":"r:stiffer/s:stiffs/t:stiffest",
2252 | "still":"s:stills/i:stilling/p:stilled/3:stills/d:stilled",
2253 | "sting":"d:stung/p:stung/s:stings/3:stings/i:stinging",
2254 | "stir":"p:stirred/i:stirring/d:stirred/3:stirs",
2255 | "stock":"s:stocks/d:stocked/i:stocking/p:stocked/3:stocks",
2256 | "stomach":"s:stomachs/i:stomaching/p:stomached/3:stomaches/d:stomached",
2257 | "stone":"s:stones/d:stoned/p:stoned/i:stoning/3:stones",
2258 | "stop":"p:stopped/d:stopped/i:stopping/3:stops/s:stops",
2259 | "store":"s:stores/d:stored/p:stored/i:storing/3:stores",
2260 | "storm":"s:storms/p:stormed/i:storming/d:stormed/3:storms",
2261 | "story":"s:stories",
2262 | "stove":"s:stoves/d:stoved/p:stoved/0:stove/1:p",
2263 | "straight":"r:straighter/s:straights/t:straightest",
2264 | "strain":"s:strains/i:straining/d:strained/p:strained/3:strains",
2265 | "strange":"r:stranger/t:strangest",
2266 | "stranger":"0:strange/1:r/s:strangers",
2267 | "strategy":"s:strategies",
2268 | "stream":"s:streams/i:streaming/p:streamed/d:streamed/3:streams",
2269 | "street":"s:streets",
2270 | "strength":"s:strengths",
2271 | "stress":"p:stressed/d:stressed/3:stresses/i:stressing/s:stresses",
2272 | "stressed":"0:stress/1:pd/p:stressed/d:stressed",
2273 | "stretch":"p:stretched/i:stretching/d:stretched/s:stretches/3:stretches",
2274 | "strict":"r:stricter/t:strictest",
2275 | "strike":"p:struck/d:struck/s:strikes/3:strikes/i:striking",
2276 | "striking":"0:strike/1:i/i:striking",
2277 | "string":"s:strings/d:strung/i:stringing/3:strings/p:strung",
2278 | "strip":"s:strips/d:stripped/i:stripping/p:stripped/3:strips",
2279 | "stripe":"s:stripes/d:striped/i:striping/p:striped/3:stripes",
2280 | "striped":"0:stripe/1:dp/d:striped/p:striped",
2281 | "stroke":"s:strokes/p:stroked/i:stroking/3:strokes/d:stroked",
2282 | "strong":"r:stronger/t:strongest",
2283 | "structure":"s:structures/d:structured/i:structuring/3:structures/p:structured",
2284 | "struggle":"i:struggling/p:struggled/s:struggles/d:struggled/3:struggles",
2285 | "student":"s:students",
2286 | "studio":"s:studios",
2287 | "study":"s:studies/i:studying/d:studied/p:studied/3:studies",
2288 | "stuff":"d:stuffed/p:stuffed/i:stuffing/s:stuffs/3:stuffs",
2289 | "style":"s:styles/d:styled/p:styled/i:styling/3:styles",
2290 | "subject":"s:subjects/d:subjected/i:subjecting/p:subjected/3:subjects",
2291 | "substance":"s:substances",
2292 | "substitute":"s:substitutes/d:substituted/i:substituting/p:substituted/3:substitutes",
2293 | "succeed":"d:succeeded/p:succeeded/3:succeeds/i:succeeding",
2294 | "success":"s:successes",
2295 | "suck":"i:sucking/d:sucked/p:sucked/3:sucks/s:sucks",
2296 | "suffer":"d:suffered/p:suffered/i:suffering/3:suffers",
2297 | "suffering":"0:suffer/1:i/i:suffering/s:sufferings",
2298 | "sugar":"s:sugars/i:sugaring/p:sugared/3:sugars/d:sugared",
2299 | "suggest":"3:suggests/d:suggested/p:suggested/i:suggesting",
2300 | "suggestion":"s:suggestions",
2301 | "suit":"d:suited/3:suits/s:suits/p:suited/i:suiting",
2302 | "suitcase":"s:suitcases",
2303 | "suited":"0:suit/1:dp/d:suited/p:suited",
2304 | "sum":"s:sums/3:sums/d:summed/p:summed/i:summing",
2305 | "summary":"s:summaries",
2306 | "summer":"s:summers/i:summering/p:summered/3:summers/d:summered",
2307 | "sun":"s:suns/i:sunning/p:sunned/3:suns/d:sunned",
2308 | "Sunday":"s:sundays/f:Sundays",
2309 | "superior":"s:superiors",
2310 | "supermarket":"s:supermarkets",
2311 | "supply":"d:supplied/s:supplies/i:supplying/p:supplied/3:supplies",
2312 | "support":"d:supported/i:supporting/3:supports/p:supported/s:supports",
2313 | "supporter":"s:supporters",
2314 | "suppose":"p:supposed/d:supposed/i:supposing/3:supposes",
2315 | "sure":"t:surest/r:surer",
2316 | "surface":"s:surfaces/p:surfaced/d:surfaced/i:surfacing/3:surfaces",
2317 | "surname":"s:surnames/p:surnamed",
2318 | "surprise":"p:surprised/s:surprises/d:surprised/3:surprises/i:surprising",
2319 | "surprised":"0:surprise/1:pd/p:surprised/d:surprised",
2320 | "surprising":"0:surprise/1:i/i:surprising",
2321 | "surround":"d:surrounded/i:surrounding/p:surrounded/3:surrounds/s:surrounds",
2322 | "surrounding":"0:surround/1:i/i:surrounding",
2323 | "surroundings":"s:surroundings/0:surroundings/1:s",
2324 | "survey":"s:surveys/i:surveying/p:surveyed/d:surveyed/3:surveys",
2325 | "survive":"p:survived/d:survived/3:survives/i:surviving",
2326 | "suspect":"p:suspected/d:suspected/s:suspects/3:suspects/i:suspecting",
2327 | "suspicion":"s:suspicions",
2328 | "swallow":"p:swallowed/d:swallowed/i:swallowing/s:swallows/3:swallows",
2329 | "swear":"d:sworn/p:swore/i:swearing/3:swears",
2330 | "swearing":"0:swear/1:i/i:swearing",
2331 | "sweat":"i:sweating/p:sweated/s:sweats/d:sweated/3:sweats/f:sweats",
2332 | "sweater":"s:sweaters",
2333 | "sweep":"d:swept/p:swept/i:sweeping/3:sweeps/s:sweeps",
2334 | "sweet":"s:sweets/r:sweeter/t:sweetest",
2335 | "swell":"d:swollen/i:swelling/p:swelled/s:swells/3:swells",
2336 | "swelling":"0:swell/1:i/i:swelling/s:swellings",
2337 | "swim":"i:swimming/p:swam/3:swims/d:swum/s:swims",
2338 | "swimming":"0:swim/1:i/i:swimming",
2339 | "swing":"p:swung/i:swinging/s:swings/d:swung/3:swings",
2340 | "switch":"p:switched/d:switched/i:switching/s:switches/3:switches",
2341 | "swollen":"0:swell/1:d/d:swollen",
2342 | "symbol":"s:symbols",
2343 | "sympathy":"s:sympathies",
2344 | "system":"s:systems",
2345 | "table":"s:tables/d:tabled/p:tabled/i:tabling/3:tables",
2346 | "tablet":"s:tablets",
2347 | "tackle":"i:tackling/d:tackled/p:tackled/3:tackles/s:tackles",
2348 | "tail":"s:tails/p:tailed/i:tailing/d:tailed/3:tails/f:tails",
2349 | "take":"p:took/d:taken/i:taking/3:takes",
2350 | "talk":"i:talking/s:talks/p:talked/d:talked/3:talks",
2351 | "tall":"r:taller/t:tallest",
2352 | "tank":"s:tanks/i:tanking/p:tanked/3:tanks/d:tanked/f:tanks",
2353 | "tap":"p:tapped/i:tapping/s:taps/d:tapped/3:taps",
2354 | "tape":"s:tapes/i:taping/d:taped/p:taped/3:tapes",
2355 | "target":"s:targets/d:targeted/i:targeting/p:targeted/3:targets",
2356 | "task":"s:tasks/d:tasked/i:tasking/p:tasked/3:tasks",
2357 | "taste":"s:tastes/p:tasted/d:tasted/3:tastes/i:tasting",
2358 | "tax":"s:taxes/d:taxed/p:taxed/i:taxing/3:taxes",
2359 | "taxi":"s:taxis/i:taxiing/p:taxied/3:taxies/d:taxied",
2360 | "tea":"s:teas",
2361 | "teach":"d:taught/i:teaching/p:taught/3:teaches",
2362 | "teacher":"s:teachers",
2363 | "teaching":"0:teach/1:i/i:teaching/s:teachings",
2364 | "team":"s:teams/d:teamed/p:teamed/i:teaming/3:teams",
2365 | "tear":"s:tears/d:torn/p:tore/i:tearing/3:tears",
2366 | "technique":"s:techniques",
2367 | "technology":"s:technologies",
2368 | "telephone":"p:telephoned/s:telephones/i:telephoning/d:telephoned/3:telephones",
2369 | "television":"s:televisions",
2370 | "tell":"p:told/d:told/i:telling/3:tells",
2371 | "temperature":"s:temperatures",
2372 | "temporary":"s:temporaries",
2373 | "tend":"3:tends/p:tended/d:tended/i:tending",
2374 | "tendency":"s:tendencies",
2375 | "tension":"s:tensions/d:tensioned",
2376 | "tent":"s:tents/p:tented/i:tenting/3:tents/d:tented",
2377 | "term":"s:terms/d:termed/p:termed/3:terms/i:terming",
2378 | "test":"s:tests/d:tested/i:testing/p:tested/3:tests",
2379 | "text":"s:texts",
2380 | "thank":"p:thanked/i:thanking/d:thanked/3:thanks",
2381 | "thanks":"0:thank/1:3/s:thanks",
2382 | "theatre":"s:theatres",
2383 | "them":"s:thems",
2384 | "theme":"s:themes/f:themes",
2385 | "theory":"s:theories",
2386 | "thick":"r:thicker/t:thickest",
2387 | "thickness":"s:thicknesses/i:thicknessing",
2388 | "thief":"s:thieves",
2389 | "thin":"r:thinner/i:thinning/t:thinnest/d:thinned/3:thins/p:thinned",
2390 | "thing":"s:things",
2391 | "think":"p:thought/d:thought/i:thinking/3:thinks",
2392 | "thinking":"0:think/1:i/i:thinking",
2393 | "thirsty":"r:thirstier/t:thirstiest",
2394 | "thought":"0:think/1:pd/s:thoughts",
2395 | "thread":"s:threads/p:threaded/i:threading/d:threaded/3:threads",
2396 | "threat":"s:threats",
2397 | "threaten":"d:threatened/i:threatening/p:threatened/3:threatens",
2398 | "threatening":"0:threaten/1:i/i:threatening",
2399 | "throat":"s:throats",
2400 | "throw":"d:thrown/p:threw/i:throwing/3:throws/s:throws",
2401 | "thumb":"s:thumbs/p:thumbed/i:thumbing/3:thumbs/d:thumbed",
2402 | "Thursday":"s:thursdays",
2403 | "ticket":"s:tickets/i:ticketing/p:ticketed/3:tickets/d:ticketed",
2404 | "tidy":"i:tidying/p:tidied/d:tidied/r:tidier/3:tidies/t:tidiest/s:tidies",
2405 | "tie":"d:tied/s:ties/p:tied/i:tying/3:ties",
2406 | "tight":"r:tighter/s:tights/t:tightest",
2407 | "till":"s:tills/i:tilling/p:tilled/d:tilled/3:tills",
2408 | "time":"s:times/d:timed/i:timing/p:timed/3:times",
2409 | "timetable":"s:timetables/i:timetabling/d:timetabled/p:timetabled",
2410 | "tin":"s:tins/i:tinning/d:tinned/p:tinned/3:tins",
2411 | "tiny":"t:tiniest/r:tinier/s:tinies",
2412 | "tip":"s:tips/d:tipped/p:tipped/i:tipping/3:tips",
2413 | "tire":"p:tired/3:tires/d:tired/i:tiring",
2414 | "tired":"d:tired/0:tired/1:dp/p:tired",
2415 | "tiring":"0:tire/1:i/i:tiring",
2416 | "title":"s:titles/d:titled/i:titling/p:titled/3:titles",
2417 | "today":"s:todays",
2418 | "toe":"s:toes/p:toed/i:toeing/d:toed/3:toes",
2419 | "toilet":"s:toilets",
2420 | "tomato":"s:tomatoes",
2421 | "tomorrow":"s:tomorrows",
2422 | "ton":"s:tons/i:toning/r:tonner",
2423 | "tone":"s:tones/d:toned/p:toned/3:tones/i:toning",
2424 | "tongue":"s:tongues/i:tonguing/p:tongued/3:tongues/d:tongued",
2425 | "tonne":"s:tonnes",
2426 | "tool":"s:tools/i:tooling/p:tooled/3:tools/d:tooled",
2427 | "tooth":"s:teeth",
2428 | "top":"s:tops/d:topped/p:topped/i:topping/3:tops",
2429 | "topic":"s:topics",
2430 | "total":"i:totalling/p:totalled/s:totals/3:totals/d:totalled",
2431 | "touch":"p:touched/d:touched/i:touching/s:touches/3:touches",
2432 | "tough":"r:tougher/t:toughest/s:toughs",
2433 | "tour":"s:tours/i:touring/p:toured/d:toured/3:tours",
2434 | "tourist":"s:tourists",
2435 | "towel":"s:towels/p:towelled/i:towelling/3:towels/d:towelled",
2436 | "tower":"s:towers/p:towered/i:towering/3:towers/d:towered/f:towers",
2437 | "town":"s:towns",
2438 | "toy":"s:toys/p:toyed/i:toying/d:toyed/3:toys/f:toys",
2439 | "trace":"d:traced/s:traces/i:tracing/p:traced/3:traces",
2440 | "track":"s:tracks/d:tracked/p:tracked/i:tracking/3:tracks",
2441 | "trade":"s:trades/i:trading/d:traded/p:traded/3:trades",
2442 | "trading":"0:trade/1:i/i:trading",
2443 | "tradition":"s:traditions",
2444 | "traffic":"i:trafficking/p:trafficked/3:traffics/d:trafficked",
2445 | "train":"d:trained/s:trains/i:training/p:trained/3:trains",
2446 | "training":"i:training/0:training/1:i",
2447 | "transfer":"d:transferred/s:transfers/i:transferring/p:transferred/3:transfers",
2448 | "transform":"d:transformed/i:transforming/p:transformed/3:transforms",
2449 | "translate":"d:translated/i:translating/3:translates/p:translated",
2450 | "translation":"s:translations",
2451 | "transparent":"s:transparents",
2452 | "transport":"d:transported/i:transporting/p:transported/3:transports/s:transports",
2453 | "trap":"d:trapped/s:traps/p:trapped/i:trapping/3:traps",
2454 | "travel":"i:travelling/p:travelled/d:travelled/s:travels/3:travels",
2455 | "traveller":"s:travellers",
2456 | "treat":"d:treated/i:treating/p:treated/3:treats/s:treats",
2457 | "treatment":"s:treatments",
2458 | "tree":"s:trees/i:treeing/p:treed/3:trees/d:treed",
2459 | "trend":"s:trends/i:trending/p:trended/3:trends/d:trended",
2460 | "trial":"s:trials/p:trialled",
2461 | "triangle":"s:triangles",
2462 | "trick":"s:tricks/d:tricked/p:tricked/3:tricks/i:tricking",
2463 | "trip":"s:trips/i:tripping/p:tripped/3:trips/d:tripped",
2464 | "tropical":"s:tropicals",
2465 | "trouble":"s:troubles/d:troubled/p:troubled/3:troubles/i:troubling",
2466 | "trousers":"s:trousers/0:trousers/1:s",
2467 | "truck":"s:trucks/i:trucking/d:trucked/p:trucked/3:trucks",
2468 | "true":"r:truer/t:truest/i:truing/p:trued/3:trues/d:trued",
2469 | "trust":"s:trusts/d:trusted/p:trusted/i:trusting/3:trusts",
2470 | "truth":"s:truths",
2471 | "try":"i:trying/p:tried/d:tried/3:tries/s:tries",
2472 | "tube":"s:tubes/d:tubed/i:tubing/p:tubed/3:tubes",
2473 | "Tuesday":"s:tuesdays",
2474 | "tune":"s:tunes/d:tuned/i:tuning/p:tuned/3:tunes",
2475 | "tunnel":"s:tunnels/d:tunnelled/p:tunnelled/i:tunnelling/3:tunnels",
2476 | "turn":"p:turned/d:turned/i:turning/3:turns/s:turns",
2477 | "twin":"s:twins/d:twinned/i:twinning/3:twins/p:twinned",
2478 | "twist":"p:twisted/i:twisting/d:twisted/s:twists/3:twists",
2479 | "twisted":"0:twist/1:pd/d:twisted/p:twisted",
2480 | "type":"s:types/d:typed/i:typing/p:typed/3:types",
2481 | "tyre":"s:tyres",
2482 | "ugly":"t:ugliest/r:uglier/s:uglies",
2483 | "ultimate":"s:ultimates",
2484 | "umbrella":"s:umbrellas",
2485 | "uncle":"s:uncles",
2486 | "underground":"i:undergrounding",
2487 | "understand":"d:understood/p:understood/i:understanding/3:understands",
2488 | "understanding":"0:understand/1:i/i:understanding/s:understandings",
2489 | "undo":"d:undone/p:undid/i:undoing/3:undoes",
2490 | "unexpected":"0:unexpect/1:d",
2491 | "unfair":"t:unfairest",
2492 | "unfortunate":"s:unfortunates",
2493 | "unhappy":"t:unhappiest/r:unhappier",
2494 | "uniform":"s:uniforms/i:uniforming/p:uniformed/3:uniforms/d:uniformed",
2495 | "union":"s:unions",
2496 | "unit":"s:units",
2497 | "unite":"d:united/p:united/3:unites/i:uniting",
2498 | "united":"d:united/0:united/1:dp/p:united",
2499 | "universe":"s:universes",
2500 | "university":"s:universities",
2501 | "unkind":"t:unkindest",
2502 | "unknown":"s:unknowns",
2503 | "unlikely":"t:unlikeliest",
2504 | "unload":"d:unloaded/i:unloading/p:unloaded/3:unloads",
2505 | "unlucky":"t:unluckiest/r:unluckier",
2506 | "untidy":"t:untidiest/r:untidier",
2507 | "up":"d:upped/0:up/i:upping/3:up/1:3/p:upped/s:ups",
2508 | "upper":"s:uppers",
2509 | "upset":"d:upset/0:upset/1:dp/i:upsetting/3:upsets/s:upsets/p:upset",
2510 | "upsetting":"0:upset/1:i/i:upsetting",
2511 | "urge":"p:urged/i:urging/d:urged/3:urges/s:urges",
2512 | "use":"d:used/i:using/p:used/3:uses/s:uses/f:uses",
2513 | "used":"0:use/1:dp/d:used/p:used",
2514 | "user":"s:users",
2515 | "vacation":"s:vacations/i:vacationing/p:vacationed/3:vacations/d:vacationed",
2516 | "valley":"s:valleys",
2517 | "value":"s:values/d:valued/p:valued/i:valuing/3:values",
2518 | "van":"s:vans",
2519 | "variation":"s:variations",
2520 | "varied":"0:vary/1:dp/d:varied/p:varied",
2521 | "variety":"s:varieties",
2522 | "vary":"3:varies/d:varied/p:varied/i:varying",
2523 | "vast":"r:vaster",
2524 | "vegetable":"s:vegetables",
2525 | "vehicle":"s:vehicles",
2526 | "venture":"s:ventures/p:ventured/i:venturing/d:ventured/3:ventures",
2527 | "version":"s:versions",
2528 | "vertical":"s:verticals",
2529 | "victim":"s:victims",
2530 | "victory":"s:victories",
2531 | "video":"s:videos/i:videoing",
2532 | "view":"s:views/d:viewed/p:viewed/i:viewing/3:views",
2533 | "village":"s:villages",
2534 | "virus":"s:viruses",
2535 | "vision":"s:visions",
2536 | "visit":"p:visited/s:visits/d:visited/i:visiting/3:visits",
2537 | "visitor":"s:visitors",
2538 | "vital":"s:vitals",
2539 | "vocabulary":"s:vocabularies",
2540 | "voice":"s:voices/d:voiced/p:voiced/i:voicing/3:voices",
2541 | "volume":"s:volumes",
2542 | "vote":"s:votes/d:voted/p:voted/i:voting/3:votes",
2543 | "wage":"s:wages/d:waged/i:waging/p:waged/3:wages",
2544 | "waist":"s:waists/p:waisted",
2545 | "wait":"i:waiting/p:waited/d:waited/3:waits/s:waits",
2546 | "waiter":"s:waiters",
2547 | "wake":"p:woke/d:woken/i:waking/3:wakes/s:wakes",
2548 | "walk":"p:walked/i:walking/s:walks/d:walked/3:walks",
2549 | "walking":"0:walk/1:i/i:walking",
2550 | "wall":"s:walls/d:walled/i:walling/p:walled/3:walls",
2551 | "wallet":"s:wallets",
2552 | "wander":"i:wandering/p:wandered/d:wandered/3:wanders",
2553 | "want":"p:wanted/3:wants/d:wanted/i:wanting",
2554 | "war":"s:wars/i:warring/p:warred/3:wars/d:warred/f:wars",
2555 | "warm":"r:warmer/i:warming/d:warmed/p:warmed/t:warmest/3:warms",
2556 | "warn":"p:warned/d:warned/3:warns/i:warning",
2557 | "warning":"0:warn/1:i/s:warnings/i:warning",
2558 | "wash":"d:washed/i:washing/p:washed/s:washes/3:washes",
2559 | "washing":"0:wash/1:i/i:washing/s:washings",
2560 | "waste":"i:wasting/d:wasted/s:wastes/p:wasted/3:wastes",
2561 | "watch":"i:watching/p:watched/d:watched/3:watches/s:watches",
2562 | "water":"s:waters/d:watered/i:watering/3:waters/p:watered",
2563 | "wave":"s:waves/p:waved/i:waving/d:waved/3:waves",
2564 | "way":"s:ways",
2565 | "weak":"r:weaker/t:weakest",
2566 | "weakness":"s:weaknesses",
2567 | "weapon":"s:weapons",
2568 | "wear":"i:wearing/p:wore/d:worn/3:wears",
2569 | "weather":"d:weathered/s:weathers/p:weathered/i:weathering/3:weathers",
2570 | "web":"s:webs/i:webbing/p:webbed/3:webs/d:webbed",
2571 | "wedding":"s:weddings/i:wedding/0:wedding/1:i",
2572 | "Wednesday":"s:wednesdays",
2573 | "week":"s:weeks",
2574 | "weekend":"s:weekends/i:weekending/p:weekended/3:weekends/d:weekended",
2575 | "weekly":"s:weeklies",
2576 | "weigh":"i:weighing/p:weighed/3:weighs/d:weighed/s:weighs",
2577 | "weight":"s:weights/d:weighted/p:weighted/i:weighting/3:weights",
2578 | "welcome":"d:welcomed/p:welcomed/3:welcomes/i:welcoming/s:welcomes",
2579 | "well":"s:wells/i:welling/p:welled/3:wells/d:welled",
2580 | "western":"s:westerns",
2581 | "wet":"d:wet/0:wet/1:dp/p:wet/r:wetter/i:wetting/t:wettest/s:wets/3:wets",
2582 | "wheel":"s:wheels/p:wheeled/i:wheeling/d:wheeled/3:wheels",
2583 | "whisper":"p:whispered/i:whispering/s:whispers/3:whispers/d:whispered",
2584 | "whistle":"p:whistled/i:whistling/s:whistles/3:whistles/d:whistled",
2585 | "white":"s:whites/r:whiter/i:whiting/p:whited/3:whites/d:whited",
2586 | "whole":"s:wholes",
2587 | "wide":"r:wider/t:widest",
2588 | "width":"s:widths",
2589 | "wife":"s:wives",
2590 | "wild":"r:wilder/t:wildest/s:wilds",
2591 | "will":"i:willing/p:willed/3:wills/d:willed",
2592 | "willing":"i:willing/0:willing/1:i",
2593 | "win":"p:won/d:won/i:winning/3:wins/s:wins",
2594 | "wind":"s:winds/i:winding/p:wound/d:wound/3:winds",
2595 | "window":"s:windows",
2596 | "wine":"s:wines/p:wined/d:wined/i:wining/3:wines",
2597 | "wing":"s:wings/i:winging/3:wings/p:winged/d:winged",
2598 | "winner":"s:winners",
2599 | "winning":"0:win/1:i/i:winning/s:winnings",
2600 | "winter":"s:winters/i:wintering/p:wintered/3:winters/d:wintered",
2601 | "wire":"s:wires/d:wired/p:wired/i:wiring/3:wires",
2602 | "wise":"r:wiser/t:wisest/d:wised",
2603 | "wish":"p:wished/i:wishing/3:wishes/s:wishes/d:wished",
2604 | "withdraw":"d:withdrawn/p:withdrew/i:withdrawing/3:withdraws",
2605 | "witness":"s:witnesses/d:witnessed/p:witnessed/i:witnessing/3:witnesses",
2606 | "woman":"s:women",
2607 | "wonder":"p:wondered/i:wondering/s:wonders/3:wonders/d:wondered",
2608 | "wood":"s:woods",
2609 | "wool":"s:wools",
2610 | "word":"s:words/d:worded/i:wording/p:worded/3:words",
2611 | "work":"i:working/3:works/p:worked/d:worked",
2612 | "worker":"s:workers",
2613 | "working":"0:work/1:i/s:workings/i:working",
2614 | "world":"s:worlds",
2615 | "worried":"0:worry/1:pd/d:worried/p:worried",
2616 | "worry":"s:worries/p:worried/3:worries/i:worrying/d:worried",
2617 | "worrying":"0:worry/1:i/i:worrying",
2618 | "worse":"0:bad/1:r",
2619 | "worship":"d:worshipped/p:worshipped/3:worships/i:worshipping/s:worships",
2620 | "wound":"0:wind/1:pd/s:wounds/d:wounded/i:wounding/p:wounded/3:wounds",
2621 | "wounded":"0:wound/1:dp/p:wounded/d:wounded",
2622 | "wrap":"d:wrapped/p:wrapped/i:wrapping/s:wraps/3:wraps/f:wraps",
2623 | "wrapping":"0:wrap/1:i/s:wrappings/i:wrapping",
2624 | "wrist":"s:wrists",
2625 | "write":"p:wrote/d:written/i:writing/3:writes",
2626 | "writer":"s:writers",
2627 | "writing":"0:write/1:i/i:writing/s:writings",
2628 | "written":"0:write/1:d/d:written",
2629 | "wrong":"s:wrongs/i:wronging/p:wronged/3:wrongs/d:wronged",
2630 | "yard":"s:yards",
2631 | "yawn":"p:yawned/i:yawning/3:yawns/s:yawns/d:yawned",
2632 | "year":"s:years",
2633 | "yellow":"s:yellows/r:yellower/i:yellowing/p:yellowed/3:yellows/d:yellowed",
2634 | "young":"r:younger/t:youngest",
2635 | "youth":"s:youths",
2636 | "zero":"s:zeros/i:zeroing/p:zeroed/3:zeroes/d:zeroed",
2637 | "zone":"s:zones/i:zoning/p:zoned/3:zones/d:zoned"
2638 | }
2639 |
--------------------------------------------------------------------------------
/选项/选项.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/选项/选项.js:
--------------------------------------------------------------------------------
1 | function 保存选项(e) {
2 | chrome.storage.sync.set({
3 | 翻译关键词: document.querySelector("#翻译关键词").checked
4 | });
5 | e.preventDefault();
6 | }
7 |
8 | function 恢复选项() {
9 | chrome.storage.sync.get({
10 | 翻译关键词: false
11 | }, function(结果) {
12 | document.querySelector("#翻译关键词").checked = 结果.翻译关键词;
13 | });
14 | }
15 |
16 | document.addEventListener('DOMContentLoaded', 恢复选项);
17 | document.querySelector('#翻译关键词').addEventListener('change', 保存选项);
--------------------------------------------------------------------------------