File indexing completed on 2024-04-28 09:37:09
0001 #! /usr/bin/env perl 0002 0003 # CORRECTIONS GO IN THE __DATA__ SECTION AT THE END OF THIS SCRIPT 0004 0005 # Checks and corrects common spelling errors in text files - code 0006 # derived from kde-spellcheck.pl (Dirk Mueller <mueller@kde.org>) 0007 # 0008 # Copyright (c) 2004 Richard Evans <rich@ridas.com> 0009 # 0010 # License: LGPL 2.0 0011 # 0012 # 2004-05-14: Richard Evans <rich@ridas.com> 0013 # 0014 # Initial revision differs from kde-spellcheck.pl as follows: 0015 # 0016 # Text file detection no longer spawns external program. 0017 # No longer checks cwd if arguments omitted - just specify '.' 0018 # No longer recurses through sub directories without --recurse. 0019 # Can now check internal dictionary for mistakes using aspell. 0020 # Changes are not made unless --make-changes is specified. 0021 # File modification now uses an intermediate file to reduce the 0022 # chance of data loss. 0023 # Fixed bug that missed words with apostrophes. 0024 # Removed the code checking for "nonword misspelling" - I don't 0025 # believe it was doing anything useful, but please correct me 0026 # if that's not the case! 0027 # Corrected some dictionary entries. 0028 # Runs much, much faster. 0029 0030 sub usage 0031 { 0032 warn <<"EOF"; 0033 0034 kde-spellcheck.pl [flags] filenames/directories 0035 0036 This script checks for, and optionally replaces, commonly misspelled words 0037 with the correct US English equivalents. The behaviour has changed from 0038 kde-spellcheck.pl - to check subdirectories you must specify --recurse, 0039 omitting arguments does not check the current directory, and changes are 0040 not made to files unless you specify --make-changes 0041 0042 CAUTION IS NEEDED WHEN USING THIS SCRIPT - changes are made to the original 0043 file and are not programming language syntax aware - this is why the script 0044 only suggests the changes to be made unless --make-changes is specified. 0045 0046 Hidden files, CVS directories, .desktop, and .moc files are excluded 0047 from checking. 0048 0049 --check-dictionary : Checks the internal dictionary for potential 0050 spelling mistakes - requires aspell with a US 0051 English dictionary, and Text::Aspell installed. 0052 0053 --suggest-corrections : Behaves as --check-dictionary, but also suggests 0054 spelling corrections. 0055 0056 --recurse : Check subdirectories recursively. 0057 --quiet : Disable informational output (not recommended). 0058 --make-changes : Displays the changes that would have been made. 0059 --help|? : Display this summary. 0060 0061 EOF 0062 0063 exit; 0064 } 0065 0066 use strict; 0067 use warnings; 0068 use Getopt::Long; 0069 use File::Temp qw( tempfile ); 0070 use File::Copy qw( copy ); 0071 0072 my $DICTIONARY = build_dictionary_lookup_table(); 0073 0074 ########################################################################################### 0075 # Add options here as necessary - perldoc Getopt::Long for details on GetOptions 0076 0077 die "kde-spellcheck2 --help for usage\n" 0078 unless GetOptions ( "check-dictionary" => \my $opt_check_dictionary, 0079 "suggest-corrections" => \my $opt_suggest_corrections, 0080 "quiet" => \my $opt_quiet, 0081 "make-changes" => \my $opt_make_changes, 0082 "recurse" => \my $opt_recurse, 0083 "help|?" => \&usage ); 0084 0085 check_dictionary($opt_suggest_corrections) if $opt_suggest_corrections or $opt_check_dictionary; 0086 0087 usage() unless @ARGV; 0088 0089 require File::MMagic; 0090 0091 my $MIME = File::MMagic->new; 0092 0093 my @dirqueue; 0094 0095 $opt_quiet = 0 unless $opt_make_changes; 0096 0097 sub info; *info = $opt_quiet ? sub {} : sub { print @_ }; 0098 0099 for ( @ARGV ) 0100 { 0101 if ( -f ) { check_file($_) } 0102 elsif ( -d _ ) { push @dirqueue, $_ } 0103 else { warn "Unknown: '$_' is neither a directory or file" } 0104 } 0105 0106 my $dir; 0107 0108 process_directory($dir) while $dir = pop @dirqueue; 0109 0110 $opt_make_changes or print <<EOF; 0111 0112 NB No changes have been made to any file. Please check the output to 0113 see if the suggested changes are correct - if so, re-run this script 0114 adding argument --make-changes 0115 0116 EOF 0117 0118 ########################################################################################### 0119 0120 sub check_file 0121 { 0122 my $filename = shift; 0123 my $fh; 0124 0125 unless ( open $fh, "<", $filename ) 0126 { 0127 warn "Failed to open: '$filename': $!"; 0128 return; 0129 } 0130 0131 my $file_modified = 0; 0132 my @contents = <$fh>; 0133 0134 close $fh or warn "Failed to close: '$filename': $!"; 0135 0136 my $original; 0137 my $line_no = 0; 0138 0139 for ( @contents ) 0140 { 0141 $line_no++; 0142 $original = $_ unless $opt_make_changes; 0143 0144 for my $word ( split /[^\w']/ ) # \W would split on apostrophe 0145 { 0146 next unless defined (my $correction = $DICTIONARY->{$word}); 0147 0148 $file_modified ||= 1; 0149 0150 s/\b$word\b/$correction/g; 0151 0152 info "$filename ($line_no): $word => $correction\n"; 0153 } 0154 0155 print "FROM: $original", 0156 " TO: $_\n" if !$opt_make_changes and $_ ne $original; 0157 } 0158 0159 return unless $file_modified; 0160 return unless $opt_make_changes; 0161 0162 info "Correcting: $filename\n"; 0163 0164 my ($tmp_fh, $tmp_filename) = tempfile(UNLINK => 0); 0165 0166 eval 0167 { 0168 print $tmp_fh @contents or die "Write"; 0169 0170 $tmp_fh->flush or die "Flush"; 0171 $tmp_fh->seek(0, 0) or die "Seek"; 0172 }; 0173 0174 die "$@ failed on: '$tmp_filename': $!" if $@; 0175 0176 copy($tmp_fh, $filename) or die "Failed to copy: $tmp_filename => $filename: $!\n", 0177 "You can manually restore from: $tmp_filename"; 0178 0179 close $tmp_fh or warn "Close failed on: '$tmp_filename': $!"; 0180 unlink $tmp_filename or warn "Unlink failed on: '$tmp_filename': $!"; 0181 } 0182 0183 0184 # Could be more robustly rewitten with File::Find / File::Find::Rules etc 0185 0186 sub process_directory 0187 { 0188 my $directory = shift; 0189 0190 info "Processing directory: $directory\n"; 0191 0192 opendir my $dh, $directory or die "Failed to read dir: '$directory': $!"; 0193 0194 while ( my $entry = readdir($dh) ) 0195 { 0196 if ( $entry =~ /^\./ or 0197 $entry =~ /\.desktop$/ or 0198 $entry =~ /\.moc$/ or 0199 $entry eq "CVS" ) 0200 { 0201 info "Skipping excluded file or directory: $entry\n"; 0202 next; 0203 } 0204 0205 my $file = "$directory/$entry"; 0206 0207 if ( -d $file ) 0208 { 0209 push(@dirqueue, $file) if $opt_recurse; 0210 next; 0211 } 0212 0213 next unless -f _; 0214 0215 # First use perl's heuristic check to discard files as quickly as possible... 0216 0217 unless ( -T _ ) 0218 { 0219 info "Skipping binary file: $file\n"; 0220 next; 0221 } 0222 0223 # ...it's not always good enough though, so now check the Mimetype 0224 0225 unless ( (my $type = $MIME->checktype_filename($file)) =~ /text/i ) 0226 { 0227 info "Skipping $type file: $file\n"; 0228 next; 0229 } 0230 0231 check_file($file); 0232 } 0233 0234 closedir $dh or warn "Failed to close dir: '$directory': $!"; 0235 } 0236 0237 0238 ######################################################################################################## 0239 0240 sub check_dictionary 0241 { 0242 my $suggest_corrections = shift; 0243 0244 print <<EOF; 0245 0246 Attempting to check the internal dictionary - you must have aspell 0247 and the perl module Text::Aspell installed for this to succeed, 0248 otherwise the script will fail at this point. 0249 0250 EOF 0251 0252 require Text::Aspell; 0253 0254 my $speller = Text::Aspell->new or die "Failed to create Text::Aspell instance"; 0255 0256 # Despite the docs, set_option doesnt seem to return undef on error ... 0257 0258 $speller->set_option('lang','en_US') 0259 or die "Text::Aspell failed to select language: 'en_US'", $speller->errstr; 0260 0261 # ... so try a very simple check 0262 0263 unless ( $speller->check('color') ) 0264 { 0265 warn "You dont appear to have the en_US dictionary installed - cannot check"; 0266 exit; 0267 } 0268 0269 print "Checking Lexicon for identical misspelling and corrections:\n"; 0270 0271 while ( my($key, $value) = each %$DICTIONARY ) 0272 { 0273 print "\n$key" if $key eq $value; 0274 } 0275 0276 print "\n\nChecking Lexicon for possible misspellings:\n\n"; 0277 0278 for my $word ( values %$DICTIONARY ) 0279 { 0280 next if $speller->check($word); 0281 0282 print "$word\n"; 0283 print join(", ", $speller->suggest($word)), "\n\n" if $suggest_corrections; 0284 } 0285 0286 print "\n"; 0287 0288 exit; 0289 } 0290 0291 0292 ######################################################################################################## 0293 0294 sub build_dictionary_lookup_table 0295 { 0296 my %hash; 0297 0298 while (<DATA>) 0299 { 0300 next if /^\s*$/ or /^\s*#/; # Skip blank lines and comments 0301 0302 next unless /^\s*"([^"]+)"\s+(.*)\s*$/ or /^\s*(\S+)\s+(.*)\s*$/; 0303 0304 if ( $1 eq $2 ) 0305 { 0306 warn "WARNING: Ignoring identical misspelling and correction: '$1' in __DATA__ offset line $.\n"; 0307 next; 0308 } 0309 0310 $hash{$1} = $2; 0311 } 0312 0313 return \%hash; 0314 } 0315 0316 __DATA__ 0317 0318 #INCORRECT SPELLING CORRECTION 0319 0320 aasumes assumes 0321 abailable available 0322 Abbrevation Abbreviation 0323 abbrevations abbreviations 0324 abbriviate abbreviate 0325 abbriviation abbreviation 0326 abilties abilities 0327 Ablolute Absolute 0328 abreviate abbreviate 0329 acces access 0330 accesible accessible 0331 accesing accessing 0332 accomodate accommodate 0333 accross across 0334 Acess Access 0335 achive achieve 0336 achived achieved 0337 achiving achieving 0338 acknoledged acknowledged 0339 acknowledgement acknowledgment 0340 Acknowledgements Acknowledgments 0341 Acknowlege Acknowledge 0342 acommodate accommodate 0343 aconyms acronyms 0344 acording according 0345 acount account 0346 acouting accounting 0347 activ active 0348 actons actions 0349 acually actually 0350 adapater adapter 0351 adatper adapter 0352 addded added 0353 adddress address 0354 Additinoally Additionally 0355 additionaly additionally 0356 Additionaly Additionally 0357 additionnal additional 0358 additonal additional 0359 0360 #INCORRECT SPELLING CORRECTION 0361 0362 Addtional Additional 0363 aditional additional 0364 adminstrator administrator 0365 Adminstrator Administrator 0366 adress address 0367 Adress Address 0368 adressed addressed 0369 adresses addresses 0370 advertize advertise 0371 aesthetic esthetic 0372 Afganistan Afghanistan 0373 agressive aggressive 0374 Agressive Aggressive 0375 agressively aggressively 0376 alignement alignment 0377 alligned aligned 0378 Allignment Alignment 0379 allmost almost 0380 allready already 0381 allways always 0382 Allways Always 0383 alook a look 0384 alot a lot 0385 alows allows 0386 alrady already 0387 alreay already 0388 alternativly alternatively 0389 ammount amount 0390 Ammount Amount 0391 analagous analogous 0392 analizer analyzer 0393 analogue analog 0394 analyse analyze 0395 analyses analyzes 0396 anfer after 0397 angainst against 0398 annoucement announcement 0399 announcments announcements 0400 anwer answer 0401 anwser answer 0402 anwsers answers 0403 aplication application 0404 appeareance appearance 0405 appearence appearance 0406 appeares appears 0407 apperarance appearance 0408 appers appears 0409 0410 #INCORRECT SPELLING CORRECTION 0411 0412 applicaiton application 0413 Applicalble Applicable 0414 appliction application 0415 appplication application 0416 approciated appreciated 0417 appropiate appropriate 0418 approriate appropriate 0419 approximatly approximately 0420 apropriate appropriate 0421 aquire acquire 0422 aquired acquired 0423 arbitarily arbitrarily 0424 arbitary arbitrary 0425 Arbitary Arbitrary 0426 aribrary arbitrary 0427 aribtrarily arbitrarily 0428 aribtrary arbitrary 0429 arround around 0430 assosciated associated 0431 assosiated associated 0432 assoziated associated 0433 asssembler assembler 0434 assumend assumed 0435 asume assume 0436 asynchonous asynchronous 0437 asyncronous asynchronous 0438 aticles articles 0439 atleast at least 0440 atomicly atomically 0441 attatchment attachment 0442 auhor author 0443 authentification authentication 0444 authoratative authoritative 0445 authorisations authorizations 0446 automaticaly automatically 0447 Automaticaly Automatically 0448 automaticly automatically 0449 autoreplacment autoreplacement 0450 auxilary auxiliary 0451 Auxilary Auxiliary 0452 avaible available 0453 Avaible Available 0454 availble available 0455 availibility availability 0456 availible available 0457 Availible Available 0458 avaliable available 0459 avaluate evaluate 0460 avare aware 0461 aviable available 0462 backrefences backreferences 0463 baloon balloon 0464 basicly basically 0465 0466 #INCORRECT SPELLING CORRECTION 0467 0468 Basicly Basically 0469 beautifull beautiful 0470 becuase because 0471 beeep beep 0472 beeing being 0473 beexported be exported 0474 befor before 0475 beggining beginning 0476 begining beginning 0477 behaviour behavior 0478 Behaviour Behavior 0479 Belarussian Belarusian 0480 beteen between 0481 betrween between 0482 betweeen between 0483 Blueish Bluish 0484 bofore before 0485 botton bottom 0486 boudaries boundaries 0487 boundries boundaries 0488 boundry boundary 0489 boxs boxes 0490 bruning burning 0491 buton button 0492 Buxfixes Bugfixes 0493 cacheing caching 0494 calulation calculation 0495 cancelation cancellation 0496 cancelled canceled 0497 cancelling canceling 0498 capabilites capabilities 0499 caracters characters 0500 cataloge catalog 0501 Cataloge Catalog 0502 catalogue catalog 0503 catched caught 0504 ceneration generation 0505 centralised centralized 0506 centre center 0507 Centre Center 0508 changable changeable 0509 chaning changing 0510 characers characters 0511 charachters characters 0512 Characteres Characters 0513 charakters characters 0514 charater character 0515 Chatacter Character 0516 chatwindow chat window 0517 childs children 0518 choosed chose 0519 choosen chosen 0520 Choosen Chosen 0521 0522 #INCORRECT SPELLING CORRECTION 0523 0524 chosing choosing 0525 cirumstances circumstances 0526 classess classes 0527 cloumn column 0528 Coffie Coffee 0529 colaboration collaboration 0530 collecion collection 0531 collumns columns 0532 coloum column 0533 coloumn column 0534 colour color 0535 colours colors 0536 colum column 0537 comamnd command 0538 comination combination 0539 commense commence 0540 commerical commercial 0541 comming coming 0542 commited committed 0543 commiting committing 0544 Commiting Committing 0545 commmand command 0546 commuication communication 0547 communcation communication 0548 compability compatibility 0549 comparision comparison 0550 Comparision Comparison 0551 comparisions comparisons 0552 Compatability Compatibility 0553 compatibilty compatibility 0554 compatiblity compatibility 0555 Compedium Compendium 0556 compiiled compiled 0557 compleion completion 0558 completly completely 0559 complient compliant 0560 comsumer consumer 0561 comunication communication 0562 concatonated concatenated 0563 concurent concurrent 0564 configration configuration 0565 Configuraton Configuration 0566 connent connect 0567 connnection connection 0568 consecutivly consecutively 0569 consequtive consecutive 0570 constuctors constructors 0571 contactlist contact list 0572 containg containing 0573 contexual contextual 0574 contigious contiguous 0575 contingous contiguous 0576 continouos continuous 0577 0578 #INCORRECT SPELLING CORRECTION 0579 0580 continous continuous 0581 Continous Continuous 0582 contiribute contribute 0583 contoller controller 0584 Contorll Control 0585 controler controller 0586 controling controlling 0587 controll control 0588 conver convert 0589 convient convenient 0590 convinience convenience 0591 conviniently conveniently 0592 coordiator coordinator 0593 Copys Copies 0594 coresponding corresponding 0595 corrent correct 0596 correponds corresponds 0597 Costraints Constraints 0598 Coudn't Couldn't 0599 coursor cursor 0600 Coverted Converted 0601 coypright copyright 0602 cricles circles 0603 criticisim criticism 0604 cryptograhy cryptography 0605 Culculating Calculating 0606 curren current 0607 currenty currently 0608 curteousy courtesy 0609 Custimize Customize 0610 customisation customization 0611 customise customize 0612 Customise Customize 0613 customised customized 0614 cutsom custom 0615 cutt cut 0616 Cutt Cut 0617 datas data 0618 DCOPCient DCOPClient 0619 deactive deactivate 0620 Deamon Daemon 0621 debuging debugging 0622 Debuging Debugging 0623 decriptor descriptor 0624 defaul default 0625 defered deferred 0626 Defininition Definition 0627 defintions definitions 0628 deleteing deleting 0629 Demonsrative Demonstrative 0630 Denstiy Density 0631 depencies dependencies 0632 0633 #INCORRECT SPELLING CORRECTION 0634 0635 dependeds depends 0636 dependend dependent 0637 dependig depending 0638 depricated deprecated 0639 derfined defined 0640 derivs derives 0641 descide decide 0642 desciptor descriptor 0643 descryption description 0644 desctroyed destroyed 0645 desiabled disabled 0646 desidered desired 0647 desination destination 0648 deskop desktop 0649 desription description 0650 Desription Description 0651 destiantion destination 0652 determiend determined 0653 determins determines 0654 detremines determines 0655 develloped developed 0656 developerss developers 0657 developped developed 0658 devided divided 0659 devide divide 0660 diabled disabled 0661 diable disable 0662 diaglostic diagnostic 0663 dialag dialog 0664 dialler dialer 0665 Dialler Dialer 0666 dialling dialing 0667 Dialling Dialing 0668 dialogue dialog 0669 diaog dialog 0670 didnt didn't 0671 diffcult difficult 0672 differenciate differentiate 0673 differenly differently 0674 Differntiates Differentiates 0675 dificulty difficulty 0676 Difusion Diffusion 0677 digitised digitized 0678 diplayed displayed 0679 dirctely directly 0680 dirctory directory 0681 direcory directory 0682 directorys directories 0683 directoy directory 0684 disactivate deactivate 0685 disappers disappears 0686 Disbale Disable 0687 0688 #INCORRECT SPELLING CORRECTION 0689 0690 discontigous discontiguous 0691 discpline discipline 0692 discription description 0693 disppear disappear 0694 dissassembler disassembler 0695 distingush distinguish 0696 distribtuion distribution 0697 distrubutor distributor 0698 divizor divisor 0699 docucument document 0700 documentaiton documentation 0701 documentors documenters 0702 doens't doesn't 0703 doesnt doesn't 0704 donnot do not 0705 Donot Do not 0706 dont don't 0707 dont't don't 0708 Dou Do 0709 draging dragging 0710 dreamt dreamed 0711 Droped Dropped 0712 duotes quotes 0713 durring during 0714 dynamicly dynamically 0715 eallocate deallocate 0716 eample example 0717 editory editor 0718 efficent efficient 0719 efficently efficiently 0720 effiency efficiency 0721 embedabble embeddable 0722 embedable embeddable 0723 embeddabble embeddable 0724 embeded embedded 0725 emcompass encompass 0726 emty empty 0727 encyption encryption 0728 enhandcements enhancements 0729 enles endless 0730 enought enough 0731 entitities entities 0732 entrys entries 0733 Entrys Entries 0734 enumarated enumerated 0735 envirnment environment 0736 envirnoment environment 0737 enviroment environment 0738 environemnt environment 0739 environent environment 0740 Equador Ecuador 0741 equiped equipped 0742 equlas equals 0743 0744 #INCORRECT SPELLING CORRECTION 0745 0746 errorous erroneous 0747 errror error 0748 escriptor descriptor 0749 espacially especially 0750 espesially especially 0751 Evalute Evaluate 0752 everytime every time 0753 exacly exactly 0754 exapmle example 0755 excecpt except 0756 execeeded exceeded 0757 execess excess 0758 exection execution 0759 execuable executable 0760 executeble executable 0761 exept except 0762 exisiting existing 0763 existance existence 0764 exlusively exclusively 0765 exmaple example 0766 experienceing experiencing 0767 explicitely explicitly 0768 explicity explicitly 0769 explit explicit 0770 Expresion Expression 0771 expresions expressions 0772 extented extended 0773 extention extension 0774 Extention Extension 0775 extentions extensions 0776 extesion extension 0777 fabilous fabulous 0778 falg flag 0779 familar familiar 0780 fastes fastest 0781 favourable favorable 0782 favour favor 0783 favourite favorite 0784 favours favors 0785 featue feature 0786 feeded fed 0787 filsystem filesystem 0788 firware firmware 0789 fisrt first 0790 fixiated fixated 0791 fixiate fixate 0792 fixiating fixating 0793 flaged flagged 0794 flavours flavors 0795 focussed focused 0796 folllowed followed 0797 follwing following 0798 folowing following 0799 0800 #INCORRECT SPELLING CORRECTION 0801 0802 Folowing Following 0803 footnotexs footnotes 0804 formaly formally 0805 fortunatly fortunately 0806 foward forward 0807 fragement fragment 0808 framesyle framestyle 0809 framset frameset 0810 fucntion function 0811 Fucntion Function 0812 fuction function 0813 fuctions functions 0814 fufill fulfill 0815 fulfiling fulfilling 0816 fullfilled fulfilled 0817 funcion function 0818 funciton function 0819 functin function 0820 funtional functional 0821 funtionality functionality 0822 funtion function 0823 funtions functions 0824 furthur further 0825 gaalxies galaxies 0826 Gamee Game 0827 gernerated generated 0828 ges goes 0829 Ghostscipt Ghostscript 0830 giude guide 0831 globaly globally 0832 goind going 0833 Gostscript Ghostscript 0834 grapphis graphics 0835 greyed grayed 0836 guaranted guaranteed 0837 guarenteed guaranteed 0838 guarrantee guarantee 0839 gziped gzipped 0840 handeling handling 0841 harware hardware 0842 Harware Hardware 0843 hasnt hasn't 0844 havn't haven't 0845 heigt height 0846 heigth height 0847 hiddden hidden 0848 Hierachical Hierarchical 0849 highlighlighted highlighted 0850 highligting highlighting 0851 Higlighting Highlighting 0852 honour honor 0853 honouring honoring 0854 0855 #INCORRECT SPELLING CORRECTION 0856 0857 honours honors 0858 horziontal horizontal 0859 hypens hyphens 0860 hysical physical 0861 iconized iconified 0862 illumnating illuminating 0863 imaginery imaginary 0864 i'm I'm 0865 imitatation imitation 0866 immedialely immediately 0867 immediatly immediately 0868 imortant important 0869 imperical empirical 0870 implemantation implementation 0871 implemenation implementation 0872 implenetation implementation 0873 implimention implementation 0874 implmentation implementation 0875 inactiv inactive 0876 incldue include 0877 incomming incoming 0878 Incomming Incoming 0879 incovenient inconvenient 0880 indeces indices 0881 indentical identical 0882 Indentification Identification 0883 indepedancy independency 0884 independant independent 0885 independend independent 0886 indetectable undetectable 0887 indicdate indicate 0888 indice index 0889 indictes indicates 0890 infinitv infinitive 0891 infomation information 0892 informaion information 0893 informatation information 0894 informationon information 0895 informations information 0896 Inifity Infinity 0897 inital initial 0898 initalization initialization 0899 initalized initialized 0900 initalize initialize 0901 Initalize Initialize 0902 initialisation initialization 0903 initialise initialize 0904 initialising initializing 0905 Initialyze Initialize 0906 Initilialyze Initialize 0907 initilization initialization 0908 initilize initialize 0909 0910 #INCORRECT SPELLING CORRECTION 0911 0912 Initilize Initialize 0913 innacurate inaccurate 0914 innacurately inaccurately 0915 insde inside 0916 inteface interface 0917 interactivelly interactively 0918 interfer interfere 0919 interfrace interface 0920 interisting interesting 0921 internationalisation internationalization 0922 interrrupt interrupt 0923 interrumped interrupted 0924 interrups interrupts 0925 Interupt Interrupt 0926 intervall interval 0927 intervalls intervals 0928 intiailize initialize 0929 Intial Initial 0930 intialisation initialization 0931 intialization initialization 0932 intialize initialize 0933 Intialize Initialize 0934 intializing initializing 0935 introdutionary introductory 0936 introdution introduction 0937 intrrupt interrupt 0938 intruction instruction 0939 invarient invariant 0940 invokation invocation 0941 Ionisation Ionization 0942 irrevesible irreversible 0943 isntance instance 0944 is'nt isn't 0945 issueing issuing 0946 istory history 0947 Iterface Interface 0948 itselfs itself 0949 journalised journalized 0950 judgement judgment 0951 kdelbase kdebase 0952 keyboad keyboard 0953 klicking clicking 0954 knowlege knowledge 0955 Konquerer Konqueror 0956 konstants constants 0957 kscreensave kscreensaver 0958 labelling labeling 0959 Labelling Labeling 0960 lauching launching 0961 layed laid 0962 learnt learned 0963 leats least 0964 lenght length 0965 0966 #INCORRECT SPELLING CORRECTION 0967 0968 Lenght Length 0969 Licenced Licensed 0970 licence license 0971 Licence License 0972 Licens License 0973 liset list 0974 listenening listening 0975 listveiw listview 0976 litle little 0977 litteral literal 0978 localisation localization 0979 losely loosely 0980 maanged managed 0981 maching matching 0982 magnication magnification 0983 magnifcation magnification 0984 mailboxs mailboxes 0985 maillinglists mailinglists 0986 maintainance maintenance 0987 maintainence maintenance 0988 Malicous Malicious 0989 mamage manage 0990 managment management 0991 Managment Management 0992 manangement management 0993 mannually manually 0994 Mantainer Maintainer 0995 manupulation manipulation 0996 marbels marbles 0997 matchs matches 0998 maximimum maximum 0999 Maxium Maximum 1000 mdification modification 1001 mdified modified 1002 menues menus 1003 mesages messages 1004 messanger messenger 1005 messanging messaging 1006 Microsft Microsoft 1007 millimetres millimeters 1008 mimimum minimum 1009 minimise minimize 1010 minimising minimizing 1011 Minimun Minimum 1012 Minium Minimum 1013 minumum minimum 1014 miscelaneous miscellaneous 1015 miscelanous miscellaneous 1016 miscellaneaous miscellaneous 1017 miscellanous miscellaneous 1018 Miscellanous Miscellaneous 1019 mispeled misspelled 1020 mispelled misspelled 1021 1022 #INCORRECT SPELLING CORRECTION 1023 1024 mistery mystery 1025 Modifes Modifies 1026 modifing modifying 1027 modul module 1028 mosue mouse 1029 Mozzila Mozilla 1030 mssing missing 1031 Mulitimedia Multimedia 1032 mulitple multiple 1033 multible multiple 1034 multipe multiple 1035 multy multi 1036 mutiple multiple 1037 neccesary necessary 1038 neccessary necessary 1039 necessery necessary 1040 nedd need 1041 neet need 1042 negativ negative 1043 negociated negotiated 1044 negociation negotiation 1045 neighbourhood neighborhood 1046 neighbour neighbor 1047 Neighbour Neighbor 1048 neighbours neighbors 1049 neogtiation negotiation 1050 nessecarry necessary 1051 nessecary necessary 1052 nessesary necessary 1053 nework network 1054 newtork network 1055 nickanme nickname 1056 nonexistant nonexistent 1057 noone nobody 1058 Noone No-one 1059 normalisation normalization 1060 noticable noticeable 1061 nucleous nucleus 1062 obtail obtain 1063 occoured occurred 1064 occouring occurring 1065 occurance occurrence 1066 occurances occurrences 1067 occured occurred 1068 occurence occurrence 1069 occurences occurrences 1070 occure occur 1071 occuring occurring 1072 occurrance occurrence 1073 occurrances occurrences 1074 ocupied occupied 1075 offical official 1076 ommited omitted 1077 1078 #INCORRECT SPELLING CORRECTION 1079 1080 onthe on the 1081 opend opened 1082 optimisation optimization 1083 optionnal optional 1084 orangeish orangish 1085 organisational organizational 1086 organisation organization 1087 Organisation Organization 1088 organisations organizations 1089 organised organized 1090 organise organize 1091 organiser organizer 1092 organising organizing 1093 Organising Organizing 1094 orginate originate 1095 Originaly Originally 1096 orignal original 1097 oscilating oscillating 1098 otehr other 1099 ouput output 1100 outputing outputting 1101 overidden overridden 1102 overriden overridden 1103 overriden overridden 1104 ownes owns 1105 pakage package 1106 panelised panelized 1107 paramaters parameters 1108 parametres parameters 1109 parametrize parameterize 1110 paramter parameter 1111 paramters parameters 1112 particip participle 1113 particularily particularly 1114 paticular particular 1115 Pendings Pending 1116 percetages percentages 1117 Perfomance Performance 1118 performace performance 1119 Periferial Peripheral 1120 permision permission 1121 permisions permissions 1122 permissable permissible 1123 Personalizsation Personalization 1124 perticularly particularly 1125 phyiscal physical 1126 plaforms platforms 1127 plese please 1128 politness politeness 1129 posibilities possibilities 1130 posibility possibility 1131 1132 #INCORRECT SPELLING CORRECTION 1133 1134 posible possible 1135 positon position 1136 possebilities possibilities 1137 possebility possibility 1138 possibilty possibility 1139 possiblity possibility 1140 posssibility possibility 1141 potentally potentially 1142 practise practice 1143 practising practicing 1144 preceeded preceded 1145 preceeding preceding 1146 precison precision 1147 preemphasised preemphasized 1148 Preemphasised Preemphasized 1149 prefered preferred 1150 Prefered Preferred 1151 preferrable preferable 1152 prefiously previously 1153 preformance performance 1154 prerequisits prerequisites 1155 presense presence 1156 pressentation presentation 1157 prgramm program 1158 Prining Printing 1159 priveleges privileges 1160 priviledge privilege 1161 priviledges privileges 1162 priviliges privileges 1163 probatility probability 1164 probelm problem 1165 proberly properly 1166 problmes problems 1167 proceedure procedure 1168 proctection protection 1169 proecss process 1170 progess progress 1171 programing programming 1172 programme program 1173 programm program 1174 promille per mill 1175 promiscous promiscuous 1176 promped prompted 1177 pronounciation pronunciation 1178 Pronounciation Pronunciation 1179 pronunce pronounce 1180 pronunciated pronounced 1181 properies properties 1182 Propertites Properties 1183 Propogate Propagate 1184 protoypes prototypes 1185 1186 #INCORRECT SPELLING CORRECTION 1187 1188 Proxys Proxies 1189 psuedo pseudo 1190 Psuedo Pseudo 1191 pult desk 1192 purposees purposes 1193 quatna quanta 1194 queing queuing 1195 querys queries 1196 queueing queuing 1197 Queueing Queuing 1198 quiten quiet 1199 quiting quitting 1200 readony readonly 1201 realise realize 1202 realy really 1203 REAMDE README 1204 reasonnable reasonable 1205 receieve receive 1206 recepeient recipient 1207 recepient recipient 1208 recevie receive 1209 recevie receive 1210 receving receiving 1211 recieved received 1212 recieve receive 1213 Recieve Receive 1214 reciever receiver 1215 recieves receives 1216 Recieves Receives 1217 recives receives 1218 recognised recognized 1219 recognise recognize 1220 recognises recognizes 1221 recomended recommended 1222 recommanded recommended 1223 recommand recommend 1224 recommented recommended 1225 redialling redialing 1226 reets resets 1227 refered referred 1228 Refering Referring 1229 Refeshes Refreshes 1230 refreshs refreshes 1231 regarless regardless 1232 registaration registration 1233 registred registered 1234 Regsiter Register 1235 regulare regular 1236 regularily regularly 1237 Reigster Register 1238 reimplemenations reimplementations 1239 1240 #INCORRECT SPELLING CORRECTION 1241 1242 Reimplemenations Reimplementations 1243 releated related 1244 relection reselection 1245 relevent relevant 1246 relocateable relocatable 1247 remaing remaining 1248 remeber remember 1249 remebers remembers 1250 remotley remotely 1251 renderes renders 1252 renewd renewed 1253 reorienting reorientating 1254 Repalcement Replacement 1255 replys replies 1256 reponsibility responsibility 1257 requeusts requests 1258 resently recently 1259 resetted reset 1260 resistent resistant 1261 resognized recognized 1262 resonable reasonable 1263 resoure resource 1264 responsability responsibility 1265 responsivness responsiveness 1266 resposible responsible 1267 ressources resources 1268 retreived retrieved 1269 retreive retrieve 1270 retults results 1271 Rewritebles Rewritables 1272 richt right 1273 rigths rights 1274 Rigt Right 1275 saftey safety 1276 satified satisfied 1277 savely safely 1278 savety safety 1279 scalled scaled 1280 scather scatter 1281 scenerio scenario 1282 sceptical skeptical 1283 schduler scheduler 1284 Sectionning Sectioning 1285 selction selection 1286 selectde selected 1287 sensistve sensitive 1288 separed separated 1289 separeted separated 1290 sepcified specified 1291 seperated separated 1292 seperately separately 1293 seperate separate 1294 seperate separate 1295 1296 #INCORRECT SPELLING CORRECTION 1297 1298 Seperate Separate 1299 seperation separation 1300 seperatly separately 1301 seperator separator 1302 sequencially sequentially 1303 sertificate certificate 1304 serveral several 1305 setted set 1306 sheduled scheduled 1307 sheme scheme 1308 shorctuts shortcuts 1309 shoud should 1310 shouldnt shouldn't 1311 Shouldnt Shouldn't 1312 shure sure 1313 Similarily Similarly 1314 Similiarly Similarly 1315 similiar similar 1316 simlar similar 1317 simpliest simplest 1318 simultaneuosly simultaneously 1319 skript script 1320 slewin slewing 1321 smaple sample 1322 Sombody Somebody 1323 somehwat somewhat 1324 soure source 1325 sparcely sparsely 1326 speakiing speaking 1327 specefied specified 1328 specfic specific 1329 specfied specified 1330 specialised specialized 1331 specifc specific 1332 specifed specified 1333 Specificiation Specification 1334 specifieing specifying 1335 specifing specifying 1336 specifiy specify 1337 Specifiy Specify 1338 speficied specified 1339 speling spelling 1340 spezifying specifying 1341 sprectrum spectrum 1342 standar standard 1343 Startp Startup 1344 Statfeul Stateful 1345 statfull stateful 1346 storeys storys 1347 straighforward straightforward 1348 streched stretched 1349 Streches Stretches 1350 Strech Stretch 1351 1352 #INCORRECT SPELLING CORRECTION 1353 1354 Striked Stroked 1355 stuctures structures 1356 styleshets stylesheets 1357 subcribed subscribed 1358 subdirectorys subdirectories 1359 subseqently subsequently 1360 Substracting Subtracting 1361 subystem subsystem 1362 succeded succeeded 1363 succesfully successfully 1364 succesful successful 1365 succesive successive 1366 succesor successor 1367 successfull successful 1368 sucessfull successful 1369 sucessfully successfully 1370 sucessfuly successfully 1371 sucess success 1372 sufficent sufficient 1373 superflous superfluous 1374 supossed supposed 1375 supressed suppressed 1376 supress suppress 1377 suprised surprised 1378 susbstitute substitute 1379 swaped swapped 1380 synchonization synchronization 1381 synchronisation synchronization 1382 Synchronisation Synchronization 1383 synchronised synchronized 1384 synchronises synchronizes 1385 synchronise synchronize 1386 synchronyze synchronize 1387 Syncronization Synchronization 1388 syncronized synchronized 1389 Syncronizes Synchronizes 1390 syncronize synchronize 1391 syncronizing synchronizing 1392 Syncronizing Synchronizing 1393 syncronous synchronous 1394 syncrounous synchronous 1395 syndrom syndrome 1396 syntex syntax 1397 synthetizer synthesizer 1398 syntheziser synthesizer 1399 sytem system 1400 talbs tables 1401 talse false 1402 tecnology technology 1403 temparary temporary 1404 Tempertures Temperatures 1405 terminatin terminating 1406 1407 #INCORRECT SPELLING CORRECTION 1408 1409 texured textured 1410 themc them 1411 thet that 1412 threshholds thresholds 1413 threshhold threshold 1414 throtte throttle 1415 throught through 1416 throuth through 1417 tiggered triggered 1418 tihs this 1419 timditiy timidity 1420 Timdity Timidity 1421 timming timing 1422 tranceiver transceiver 1423 Tranfers Transfers 1424 tranfer transfer 1425 Tranlate Translate 1426 tranlation translation 1427 transalted translated 1428 transation transaction 1429 transfering transferring 1430 transferrable transferable 1431 transmiter transmitter 1432 transmiting transmitting 1433 transmition transmission 1434 transmittion transmission 1435 transparancy transparency 1436 transparant transparent 1437 trasfered transferred 1438 traveller traveler 1439 travelling traveling 1440 triggerg triggering 1441 triggerred triggered 1442 truely truly 1443 trys tries 1444 uglyness ugliness 1445 unabiguous unambiguous 1446 unaccesible unaccessible 1447 unallowed disallowed 1448 unamed unnamed 1449 unathorized unauthorized 1450 uncrypted unencrypted 1451 Uncutt Uncut 1452 underlieing underlying 1453 underrrun underrun 1454 undesireable undesirable 1455 undestood understood 1456 Undexpected Unexpected 1457 undoedne undid 1458 unecessary unnecessary 1459 unexperienced inexperienced 1460 unexperience inexperience 1461 unfortunatly unfortunately 1462 1463 #INCORRECT SPELLING CORRECTION 1464 1465 Unfortunatly Unfortunately 1466 uniq unique 1467 unitialized uninitialized 1468 unkown unknown 1469 Unmoveable Unmovable 1470 unneccessary unnecessary 1471 unneccessay unnecessary 1472 unsellectected unselected 1473 unsuccesful unsuccessful 1474 unuseable unusable 1475 unusuable unusable 1476 unvailable unavailable 1477 uploades uploads 1478 upppercase uppercase 1479 usally usually 1480 usefull useful 1481 usere user 1482 usuable usable 1483 usuallly usually 1484 Usualy Usually 1485 utilisation utilization 1486 vaild valid 1487 valied valid 1488 valueable valuable 1489 varb verb 1490 vays ways 1491 verfication verification 1492 verically vertically 1493 versins versions 1494 verticaly vertically 1495 verticies vertices 1496 Veryify Verify 1497 vicitim victim 1498 visualisations visualizations 1499 visualisation visualization 1500 Visualisation Visualization 1501 visualise visualize 1502 visul visual 1503 volonteer volunteer 1504 Volumen Volume 1505 Voribis Vorbis 1506 vrtual virtual 1507 waranty warranty 1508 watseful wasteful 1509 weigth weight 1510 wheter whether 1511 whicn which 1512 whishes wishes 1513 whitch which 1514 whith with 1515 1516 #INCORRECT SPELLING CORRECTION 1517 1518 Wiazrd Wizard 1519 wich which 1520 wich which 1521 wierd weird 1522 wieving viewing 1523 wiev view 1524 wih with 1525 willl will 1526 wnat want 1527 workimg working 1528 workstatio workstation 1529 woud would 1530 wouldd would 1531 writting writing 1532 Writting Writing 1533 yeld yield 1534 yorself yourself 1535 you'ld you would 1536 yourContryCode yourCountryCode 1537