From where dictionary is being picked in spell checker?

I understood that dictionary will be picked up based on this
Language lang = Languages.getLanguageForLocale(Locale.US); langTool = new JLanguageTool(lang);

but I have a doubt regarding dictionary words.
Spell checker is failing on words like geo, India, Calenders, BLue. I feel these are valid words.
Why it is failing?

From your documentation I found this to ignore case but I did not understand where to add this for java(using maven).
<pattern case_sensitive=“yes”>
<token negate=“yes” skip=“1” regexp=“yes”>(?iu)ten </token>
<token regexp=“yes”>one|two</token> </pattern>

Please help to solve these issues.

We are using dictionary from https://github.com/marcoagpinto/aoo-mozilla-en-dict (en_GB) and http://wordlist.aspell.net/ (en_US)

Thank you. Could you tell me how to make spell check case insensitive in java maven project?

You can add

fsa.dict.speller.convert-case=true

in https://github.com/languagetool-org/languagetool/blob/master/languagetool-language-modules/en/src/main/resources/org/languagetool/resource/en/hunspell/en_US.info

Details- Spell check - LanguageTool Wiki

Thanks for your reply. I Could not understand how to add that property in my project. I am developing this using Java with maven. How can access en_US.info file and how it will effect in my project?
Could you elaborate more with code?