mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			117 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| The spell files included here are in Vim's special format.  You can't edit
 | |
| them.  See ":help spell" for more information.
 | |
| 
 | |
| 
 | |
| COPYRIGHT
 | |
| 
 | |
| The files used as input for the spell files come from the OpenOffice.org spell
 | |
| files.  Most of them go under the LGPL or a similar license.
 | |
| 
 | |
| Copyright notices for specific languages are in README_??.txt.  Note that the
 | |
| files for different regions are merged, both to save space and to make it
 | |
| possible to highlight words for another region different from bad words.
 | |
| 
 | |
| Most of the soundslike mappings come from Aspell ??_phonet.dat files:
 | |
| ftp://ftp.gnu.org/gnu/aspell/dict/.  Most go under the GPL or LGPL copyright.
 | |
| 
 | |
| 
 | |
| GENERATING .SPL FILES
 | |
| 
 | |
| This involves downloading the files from the github server, applying a
 | |
| patch and running Vim to generate the .spl file.  To do this all in one go use
 | |
| the Aap program (www.a-a-p.org).  It's simple to install, it only requires
 | |
| Python (http://www.a-a-p.org/download.html)
 | |
| 
 | |
| Before generating spell files, verify your system has the required locale
 | |
| support.  Source the check_locales.vim script to find out.  If something is
 | |
| missing, see LOCALE below.
 | |
| 
 | |
| 
 | |
| You can also do it manually:
 | |
| 1. Fetch the right spell file from:
 | |
|    https://github.com/LibreOffice/dictionaries
 | |
| 
 | |
| 2. Unzip the archive:
 | |
| 	unzip LL_RR.zip
 | |
| 
 | |
| 3. Apply the patch:
 | |
| 	patch < LL_RR.diff
 | |
| 
 | |
| 4. If the language has multiple regions do the above for each region.  E.g.,
 | |
|    for English there are five regions: US, CA, AU, NZ and GB.
 | |
| 
 | |
| 5. Run Vim and execute ":mkspell".  Make sure you do this with the correct
 | |
|    locale, that influences the upper/lower case letters and word characters.
 | |
|    On Unix it's something like:
 | |
|    	env LANG=en_US.UTF-8 vim
 | |
| 	mkspell! en en_US en_AU en_CA en_GB en_NZ
 | |
| 
 | |
| 6. Repeat step 5 for other locales.  For English you could generate a spell
 | |
|    file for latin1, utf-8 and ASCII.  ASCII only makes sense for languages
 | |
|    that have very few words with non-ASCII letters.
 | |
| 
 | |
| Now you understand why I prefer using the Aap recipe :-).
 | |
| 
 | |
| 
 | |
| MAINTAINING A LANGUAGE
 | |
| 
 | |
| Every language should have a maintainer.  His tasks are to track the changes
 | |
| in the spell files and make updated patches.  Words that haven't been
 | |
| added/removed from the LibreOffice lists can also be handled by the patches.
 | |
| 
 | |
| It is important to keep the version of the .dic and .aff files that you
 | |
| started with.  When LibreOffice brings out new versions of these files you can
 | |
| find out what changed and take over these changes in your patch.  When there
 | |
| are very many changes you can do it the other way around: re-apply the changes
 | |
| for Vim to the new versions of the .dic and .aff files.
 | |
| 
 | |
| This procedure should work well:
 | |
| 
 | |
| 1. Obtain the zip archive with the .aff and .dic files.  Unpack it as
 | |
|    explained above and copy (don't rename!) the .aff and .dic files to
 | |
|    .orig.aff and .orig.dic.  Using the Aap recipe should work, it will make
 | |
|    the copies for you.
 | |
| 
 | |
| 2. Tweak the .aff and .dic files to generate the perfect .spl file.  Don't
 | |
|    change too much, the OpenOffice people are not stupid.  However, you may
 | |
|    want to remove obvious mistakes.  And remove single-letter words that
 | |
|    aren't really words, they mess up the suggestions (English has this
 | |
|    problem).  You can use the "fixdup.vim" Vim script to find duplicate words.
 | |
| 
 | |
| 3. Include needed parts from the aspell phonetic dictionary to the aff files. For
 | |
|    example add the relevant SAL lines to the .aff file (this is needed to make good
 | |
|    suggestions). The aspell dictionaries can be found here:
 | |
|    https://ftp.gnu.org/gnu/aspell/dict/0index.html
 | |
| 
 | |
| 4. Make the diff file.  "aap diff" will do this for you.  If a diff would be
 | |
|    too big you might consider writing a Vim script to do systematic changes.
 | |
|    Do check that someone else can reproduce building the spell file.  Send the
 | |
|    result to Bram for inclusion in the distribution.  Bram will generate the
 | |
|    .spl file and upload it to the ftp server (if he can't generate it you will
 | |
|    have to send him the .spl file too).
 | |
| 
 | |
| 5. When OpenOffice makes a new zip file available you need to update the
 | |
|    patch.  "aap check" should do most of the work for you: if there are
 | |
|    changes the .new.dic and .new.aff files will appear.  You can now figure
 | |
|    out the differences with .orig.dic and .orig.aff, adjust the .dic and .aff
 | |
|    files and finally move the .new.dic to .orig.dic and .new.aff to .orig.aff.
 | |
| 
 | |
| 6. Repeat step 5. regularly.
 | |
| 
 | |
| 
 | |
| LOCALE
 | |
| 
 | |
| For proper spell file generation the required locale must be installed.
 | |
| Otherwise Vim doesn't know what are letters and upper-lower case differences.
 | |
| Modern systems use UTF-8, but we also generate spell files for 8-bit locales
 | |
| for users with older systems.
 | |
| 
 | |
| On Ubuntu the default is to only support locales for your own language.  To
 | |
| add others you need to do this:
 | |
| 	sudo vim /var/lib/locales/supported.d/local
 | |
| 	    Add needed lines from /usr/share/i18n/SUPPORTED
 | |
| 	sudo dpkg-reconfigure locales
 | |
| 
 | |
| When using the check_locales.vim script, you need to exit Vim and restart it
 | |
| to pickup the newly installed locales.
 |