Spell checker
BlueFish 1 and 2 spell checker doesn't take into account the language written in the file header nor the "lang" attribute of tags. For the spell checker to work properly, you have to select the page language manually. To do so, right-click in the text you want to check (don't go to the menu as you used to do with BlueFish 1). If your page is in several languages, repeat the operation for each language.
The language code used in the list is a simplified version of the IETF language tag, mostly defined in the technical document RFC 5 646, except that, in BlueFish spell checker, the hyphen has been replaced by an underscore. The first 2 or 3 small letters stand for the language, while the capital letters after the underscore stand for the region. For instance "en_GB" means "British English". The list of codes is known as the "language subtag registry".
Bluefish uses enchant as spell checking backend, so most spell dictionaries should be supported. I think aspell dictionaries are preferred for enchant. Use your package manager to install the dictionaries.
The 'string' textstyle is automatically checked. You can disable that in the preferences.
Spell checking before 2.0.1 missed the "Ignore spelling" and "Add to dictionnary" functions.