├── .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 |
11 | 15 |
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', 保存选项); --------------------------------------------------------------------------------