DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Curious about the future of data-driven systems? Join our Data Engineering roundtable and learn how to build scalable data platforms.

Data Engineering: The industry has come a long way from organizing unstructured data to adopting today's modern data pipelines. See how.

Threat Detection: Learn core practices for managing security risks and vulnerabilities in your organization — don't regret those threats!

Managing API integrations: Assess your use case and needs — plus learn patterns for the design, build, and maintenance of your integrations.

Avatar

Jonathan Lermitage

Java Analyst at ATOS

Lyon, FR

Joined Dec 2012

About

Hi! My name is Jonathan Lermitage and I am a French programmer. I work with the Java, Spring, SQL, NoSQL since 9 years.

Stats

Reputation: 2
Pageviews: 47.2K
Articles: 1
Comments: 31
  • Articles
  • Comments

Articles

article thumbnail
How to build a dictionary for the NetBeans spellchecker
I'll try to explain how I have developed the French, German and Spanish dictionaries for the NetBeans online spellchecker : we will build a French dictionary for NetBeans 7.3 (it works with 7.2 and 7.1 too). Summary : #1 expand GNU Aspell dictionaries files. #2 checkout the NetBeans 7.3.0 FCS sources from Mercurial repository. #3 open the English dictionary project and make a copy. #4 modify the copied project. #5 make the NBM file and test it. #6 (optional) sign the NBM file and submit it to the community for validation. Step 1 : expand GNU Aspell dictionaries files Download Aspell. You can get the latest Win32 installer version from ftp://ftp.gnu.org(...)Aspell-0-50-3-3-Setup.exe. Run it to install Aspell. Download the latest French dictionaries file. You can get Win32 installers from ftp://ftp.gnu.org/gnu/aspell/w32/. The latest French dictionnaries file is Aspell-fr-0.50-3-3.exe. Run it to install the French dictionaries into Aspell. You can now expand the dictionaries files you want to include in the future NetBeans plugin. We'll expand the "fr_FR" and "fr_CH" dictionaries. Go to the "dict" directory of Aspell and run the following commands (if necessary, add the Aspell "bin" directory to your PATH variable, in the Operating System or a batch script) : aspell --lang=fr_FR --master=fr_FR dump master | sort > aspell_dump_fr_FR.txt aspell --lang=fr_CH --master=fr_CH dump master | sort > aspell_dump_fr_CH.txt The first line will expand and sort the "fr_FR" dictionary to the default output. The > switch is used to save the output to a file (aspell_dump_fr_FR.txt), in the current directory. The second line does the same job with the "fr_CH" language. You'll note that the expanded dictionaries files may not be UTF-8 encoded. If necessary, re-encode them to UTF-8. You can do it with Notepad2 : open a file and go to File, Encoding, and select the UTF-8 encoding. It will encode the opened file. To finish, pack the two files into a ZIP file (you can do it with every ZIP archiver, like 7-Zip). We will call this archive "aspell-frwl.zip" : Nota n°1 : What does "expand a dictionary file" means ? Aspell dictionaries files are a set of words and affixes lists. Word lists contains basic forms of common words. Affixes are used to compute the different variations of words. By expanding a dictionary , we ask Aspell to compute a list of all words with all their variations. The result is a huge file. We need to expand dictionaries files because the NetBeans Spellchecker (seems to) use only expanded dictionaries files : it doesn't support affixes lists ;) Nota n°2 : These are the MS Windows instructions. Linux and MacOS ones should be easy to find. Step 2 : checkout the NetBeans 7.3.0 FCS sources from Mercurial repository Refer to the given tutorial : How to build NetBeans from sources, step 1 only. After that, you need at least two directories : "releases/nbbuild/" and "releases/spellchecker.dictionary_en/". If you want to free some space, you can delete the other directories. You can now start your NetBeans IDE and load the "spellchecker.dictionary_en" project. Step 3 : open the English dictionary project and make a copy NetBeans will ask you for a new project name. Choose something like "spellchecker.dictionary_fr" : Actually, the project name you have chosen is the project's folder name. NetBeans will show you the "SpellChecker English Dictionaries (0)" title for your project. Rename it (you can use the F2 key on the project's name) to "SpellChecker French Dictionaries" : You now have the two projects, English and French dictionaries plugin projects : Step 4 : modify the copied project The French project is correctly named, so we can now modify its content to target French dictionaries. Switch to the "File" project tab to show more files. Step 4.1 : empty the "external" directory's content and copy your French dictionaries archive file This directory contains the English dictionaries files. We will provide our own files. Delete the files located into the "external" directory and copy the "aspell-frwl.zip" created during step 1. Step 4.2 : edit the "nbproject/project.properties" file Replace : release.external/ispell-enwl-3.1.20.zip=modules/dict/ispell-enwl-3.1.20.zip jnlp.indirect.files=modules/dict/dictionary_en_US.description,modules/dict/dictionary_en_GB.description,modules/dict/ispell-enwl-3.1.20.zip,modules/dict/dictionary_en.description by : release.external/aspell-frwl.zip=modules/dict/aspell-frwl.zip jnlp.indirect.files=modules/dict/dictionary_fr_FR.description,modules/dict/dictionary_fr_CH.description,modules/dict/aspell-frwl.zip,modules/dict/dictionary_fr.description We have replaced references to English dictionary and locales by French ones. Step 4.3 : edit the "nbproject/project.xml" file Replace : org.netbeans.modules.spellchecker.dictionary_en by : org.netbeans.modules.spellchecker.dictionary_fr Step 4.4 : rename the "src/org/netbeans/modules/spellchecker/dictionary_en/" folder Rename the "dictionary_en" folder to "dictionary_fr". Step 4.5 : edit the "src/org/netbeans/modules/spellchecker/dictionary_fr/Bundle.properties" file Replace : OpenIDE-Module-Display-Category=Base IDE OpenIDE-Module-Long-Description=\ Provides Ispell's (ver. 3.1.20) word list for use in the online spellchecker. OpenIDE-Module-Name=Spellchecker English Dictionaries OpenIDE-Module-Short-Description=English Dictionaries for Spellchecker by something like : OpenIDE-Module-Display-Category=Base IDE OpenIDE-Module-Long-Description=\ Provides Aspell's French word list for use in the online spellchecker. OpenIDE-Module-Name=Spellchecker French Dictionaries OpenIDE-Module-Short-Description=French Dictionaries for Spellchecker This file describes your plugin. Do not hesitate to change the description fields. Step 4.6 : edit the "build.xml" file Replace : by : Step 4.7 : edit the "manifest.mf" file Replace : Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.dictionary_en XOpenIDE-Module-Layer: org/netbeans/modules/spellchecker/dictionary_en/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/dictionary_en/Bundle.properties OpenIDE-Module-Specification-Version: 1.8.1 by : Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.dictionary_fr XOpenIDE-Module-Layer: org/netbeans/modules/spellchecker/dictionary_fr/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/dictionary_fr/Bundle.properties OpenIDE-Module-Specification-Version: 1.0 Please note we have changed the plugin version, from 1.8.1 to 1.0. Step 4.8 : rename and edit the "release/module/dict/dictionary_en.description" file Rename the "dictionary_en.description" file to "dictionary_fr.description". After that, replace : jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.0 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.1 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.2 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.3 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/american.0 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/american.1 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/american.2 by : jar:nbinst:///modules/dict/aspell-frwl.zip!/aspell_dump_fr_FR.txt jar:nbinst:///modules/dict/aspell-frwl.zip!/aspell_dump_fr_CH.txt Some explanations : our plugin will contain dictionaries for the "fr", "fr_FR" and "fr_CH" locales. We have a ".description" file for each of them. In these files, we locate the word list(s) to use. So, the "fr" locale is the combination of the "fr_FR" and "fr_CH" word lists. The "fr_FR" locale uses the "fr_FR" word list, and the "fr_CH" locale uses the "fr_CH" word list. Here, we have edited the description file of the "fr" locale. Let's do it for the other ones :) Nota : The "aspell-frwl.zip!" syntax means that we enter into a ZIP file. Step 4.9 : rename and edit the "release/module/dict/dictionary_en_GB.description" file Rename the "dictionary_en_GB.description" file to "dictionary_fr_FR.description". After that, replace : jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.0 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.1 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.2 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.3 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/british.0 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/british.1 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/british.2 by : jar:nbinst:///modules/dict/aspell-frwl.zip!/aspell_dump_fr_FR.txt Step 4.10 : rename and edit the "release/module/dict/dictionary_en_US.description" file Rename the "dictionary_en_US.description" file to "dictionary_fr_CH.description". After that, replace : jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.0 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.1 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.2 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/english.3 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/american.0 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/american.1 jar:nbinst:///modules/dict/ispell-enwl-3.1.20.zip!/american.2 by : jar:nbinst:///modules/dict/aspell-frwl.zip!/aspell_dump_fr_CH.txt Step 5 : make the NBM file and test it You can now launch the Build action to compile the project, and the Create NBM action to package your plugin into a NBM file ("build/org-netbeans-modules-spellchecker-dictionary_fr.nbm"). To test it : go to the Plugins Manager ("Tools" / "Plugins"), the "Downloaded" tab, the "Add Plugins..." button, load your NBM file and confirm : your plugin is now installed ! you can now change the spellchecker default locale, open a text file and type a letter (only !), wait a few seconds to let Netbeans generate a cache file for the selected locale (if you don't wait, the cache creation will fail and the spellchecker won't work), and try to use the spellchecker correction. This is explained in my French Dictionary Plugin page. Nota : If you don't wait the cache creation, the spellchecker won't work for the selected locale. You can go to your ".netbeans/7.x.y/var/cache/dict/" directory and delete the corresponding ".trie1" (or ".trie2") file. Restart NetBeans to let it to recreate a cache file. Step 6 : (optional) sign the NBM file and submit it to the community for validation You can now publish your plugin on the NetBeans Plugins Portal (don't forget create an account). To make it available in the NetBeans Plugins Manager (Tools / Plugins), you have to submit it to validation. Firstly, you have to sign your plugin (generate a certificate file and sign your plugin) : you'll find a tutorial at http://wiki.netbeans.org/DevFaqSignNbm. Example : keytool -genkey -storepass PASSWORD -alias ALIAS -keystore FOO.cert -validity 3651 (it will create the "FOO.cert" certificate file with a 3651 days validity, the "ALIAS" alias an the "PASSWORD" password. The tool will ask you additional information). Then, you can now upload your plugin to the NetBeans Plugins Portal and ask for a validation. Once validated, your plugin will be available in the NetBeans Plugins Manager.
March 4, 2013
· 10,147 Views

Comments

How to build a dictionary for the NetBeans spellchecker

Oct 06, 2017 · Geertjan Wielenga

Have you installed Aspell and given dictionaries? Do you run commands in a writable folder?

Oracle Discontinues Free Java Time Zone Updates

Jun 09, 2013 · Tony Thomas

Hey, Oracle doesn't discontinue Java, they discontinue the Timezone Updater standalone tool. That means you still can install the latest JRE to get the... latest timezone informations ! Where's the problem? It's like the Java For Business edition: you still can run regular and up to date Java at no cost, nobody force you to buy updates for an outdated software.
Just Use Sublime Text

Apr 05, 2013 · Denzel D.

So true :)
Java vs. Python

Mar 31, 2013 · Ryan Wang

Seriously, you compare things that are not comparable (entire Java methods VS simple lines of Python, this is ridiculous). Who cares about the "System.out.println" verbosity (in NetBeans, simply type "sout" + TAB) ? Java is: one of the (maybe the, with C++) greatest and biggest ecosystems; very good IDEs (NetBeans, eclipse, etc), a very popular language; a lot of servers, new features (look at Java 7 and 8 VMs) etc. In addition, there are the JVM languages (if you prefer, they are Python killers, like Scala ^_^).
Worms Armageddon HTML5 Clone

Mar 28, 2013 · Joe Soap

OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS WORMS :)
Bindows 4.2 Released

Mar 25, 2013 · Ran Meriaz

The website still blocks Opera users. I can't stand this kind of website (Opera is standards compliant since a while ! Why don't they simply ask for standards compliance ?) :p
'No Compilation' or why Eclipse rocks

Mar 23, 2013 · Prashant Deva

Hi, nowadays, main majors IDEs have adopted the "intelligent background compilation/deployment" process of Eclipse. NetBeans implemented it since a few releases already, and it works very well for ant/maven desktop and webapp applications (I use this feature everyday too) ;) Anything else: have you tried JRebel? If you like no-compilation/deployment, you should make a try: it is simply amazing. It is free for OOS an many types of projects, and it is well integrated with IDEs.
How to build a dictionary for the NetBeans spellchecker

Mar 13, 2013 · Geertjan Wielenga

Update for step 2: I've uploaded the "nbbuild" and "spellchecker.dictionary_en" projects, so you don't have to download the Mercurial sources.

Check https://sourceforge.net/projects/nbdictextra/files/nbbuild/ and https://sourceforge.net/projects/nbdictextra/files/misc/

Introduction to game programming in Silverlight

Mar 13, 2013 · David Miles

Update for step 2: I've uploaded the "nbbuild" and "spellchecker.dictionary_en" projects, so you don't have to download the Mercurial sources.

Check https://sourceforge.net/projects/nbdictextra/files/nbbuild/ and https://sourceforge.net/projects/nbdictextra/files/misc/

SOA and Service Identification

Mar 10, 2013 · Nitin Kumar

Why don't you link the original website directly ? (InfoQ)
Java Version History

Mar 07, 2013 · Nitin Kumar

Hi, there's a little error : Java NIO was introduced in Java 1.4 (not Java 7). Java 7 gave us NIO2 ;)
Simple Templates Using PHP - Make Your Own Templates

Mar 04, 2013 · Tony Thomas

Hi,

you have not done the same test on these two SSD :p (2*500MB vs 2*100MB). What happens on heavy loads ? (like 40*10GB)

In general, SSDs are great and there's not significant difference between models and generations. Simply buy the most stable (e.g. avoid OCZ and prefer Intel, Samsung, Crucial...) and/or the cheaper.

Programs like CrystalDiskMark are good to check that the SSD has normal performances, only. They are not designed to provide analyses that reflect real cases.

Glassfish 3.1.2.2 Web Service Memory Leak

Mar 02, 2013 · Julien Paoletti

Hi, I only use well known annotations. To test, I've uploaded my server and client code to http://netbeanscolors.org/files/tmp/jaxws2-client.zip and http://netbeanscolors.org/files/tmp/jaxws2-service.zip (two Web Services : the first makes a sum of two integers, and the other downloads a file with MTOM).
Glassfish 3.1.2.2 Web Service Memory Leak

Mar 01, 2013 · Julien Paoletti

The bug case seems to be very specific. I'm testing a very similar SOAP Web Service (that computes the sum of two integers) on GlassFish 3.1.2.2 with JDK7u15 x64 on Windows7 x64 : after 5.000.000 calls the memory utilization is still very stable. I'll let it run during the night to verify ^^. A screenshot of the current situation: http://tof.canardpc.com/view/7d408dfa-f855-4070-b3f9-bb1012ecbd52.jpg
Where does NetBeans install your modules?

Feb 27, 2013 · Mark Stephens

Hi, delete plugins like that is a bad idea (it is very hazardous). Two ways to deal with these plugins : #1 : customize the NetBeans User and Cache directories by modifying the "netbeans_default_userdir" and "netbeans_default_cachedir" keys in the "etc/netbeans.conf" file. It's a good way to centralize your user preferences data and make some backups. #2 : install the plugin called "Module manager". It will list all installed plugins and provide a way to enable, disable and uninstall what you want.
Java Code Coverage with EclEmma for Eclipse - Importance of Branch Coverage

Feb 13, 2013 · $$anonymous$$

Thx for the information! I was looking for an EMMA alternative, for a NetBeans plugin. I'll make I try with JaCoCo... :)
Java Code Coverage with EclEmma for Eclipse - Importance of Branch Coverage

Feb 13, 2013 · $$anonymous$$

Does it support Java7 bytecode ? The EMMA library's project is discontinued since many years, and it didn't support Java 7 bytecode, Java 1.4 / 5 / 6 only. If the EclEmma has provided a patch, it will be very interesting for many programmers.
Download a JRE without the Ask.com or McAfee ads

Feb 12, 2013 · Jonathan Lermitage

On Windows, go to the Control Panel -> Programs -> Java. It will launch the Java Control Panel. In the "Update" tab, simply uncheck the "Check for Updates Automatically" checkbox. As an alternative : go to msconfig and disable the autostart of "Java(TM) Platform SE Auto Updater 2 0" (this is the jusched.exe program). As an other alternative, via CCleaner : disable the autostart of "jusched.exe". Restart your computer : autoupdates are gone.
I Didn't Ask for a Toolbar with That Java

Feb 04, 2013 · Cay Horstmann

This is very strange : I have never seen this kind of screen on a JRE installer. Verified with JRE 7u13 too, x86 and x64 on Win7 and Win8. Where did you download JRE from ?? I get them from http://www.oracle.com/technetwork/java/javase/downloads/index.html , always.
Friday Java Quiz: It Can't Go Simpler Than This

Dec 23, 2012 · Mr B Loid

In addition, I think IDEs support is very important. Eclipse seems to support Ivy, but NetBeans only have a limited and unofficial plugin. On the other hand, Eclipse and NetBeans offer an excellent support of Maven v1, v2 and v3. It's one of their core features.

I'd like to use Ivy (I like Ant), but without any plugin, I can't. So, I have only two choices : Ant without Ivy, or Maven.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 14, 2012 · Noura

Finally, I have understood my problem : to let the JRebel plugin to add the javaagent flag automatically, the registered server's property "Use IDE Proxy Settings" has to be checked. I had unchecked it on my previous installations, that's why it didn't work.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 14, 2012 · Noura

Finally, I have understood my problem : to let the JRebel plugin to add the javaagent flag automatically, the registered server's property "Use IDE Proxy Settings" has to be checked. I had unchecked it on my previous installations, that's why it didn't work.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 14, 2012 · Noura

Finally, I have understood my problem : to let the JRebel plugin to add the javaagent flag automatically, the registered server's property "Use IDE Proxy Settings" has to be checked. I had unchecked it on my previous installations, that's why it didn't work.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 14, 2012 · Noura

Finally, I have understood my problem : to let the JRebel plugin to add the javaagent flag automatically, the registered server's property "Use IDE Proxy Settings" has to be checked. I had unchecked it on my previous installations, that's why it didn't work.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 14, 2012 · Noura

Finally, I have understood my problem : to let the JRebel plugin to add the javaagent flag automatically, the registered server's property "Use IDE Proxy Settings" has to be checked. I had unchecked it on my previous installations, that's why it didn't work.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 14, 2012 · Noura

Finally, I have understood my problem : to let the JRebel plugin to add the javaagent flag automatically, the registered server's property "Use IDE Proxy Settings" has to be checked. I had unchecked it on my previous installations, that's why it didn't work.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 14, 2012 · Noura

Finally, I have understood my problem : to let the JRebel plugin to add the javaagent flag automatically, the registered server's property "Use IDE Proxy Settings" has to be checked. I had unchecked it on my previous installations, that's why it didn't work.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 14, 2012 · Noura

Finally, I have understood my problem : to let the JRebel plugin to add the javaagent flag automatically, the registered server's property "Use IDE Proxy Settings" has to be checked. I had unchecked it on my previous installations, that's why it didn't work.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 14, 2012 · Noura

Finally, I have understood my problem : to let the JRebel plugin to add the javaagent flag automatically, the registered server's property "Use IDE Proxy Settings" has to be checked. I had unchecked it on my previous installations, that's why it didn't work.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 10, 2012 · Noura

I have some problems with this feature, that's why I preferred not to mention it yet. But you're right :)

[edit] Okay, I have re-registered my server into NetBeans, and the javaagent flag is now automatically added. Strange, but good news.

25+ Incredibly Useful Twitter Tools and Firefox Plugins

Dec 10, 2012 · Noura

I have some problems with this feature, that's why I preferred not to mention it yet. But you're right :)

[edit] Okay, I have re-registered my server into NetBeans, and the javaagent flag is now automatically added. Strange, but good news.

User has been successfully modified

Failed to modify user

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: