Well, for the SQL, you can add tables and fields to your own dictionary. (there is a field to specify the file). Though its global => for all projects.
=> its a plain text file. So you can edit it in case of mistakenly added words.
Also, fields (and idents in source) are often based on words. Though, if your text is not English, your code still may be based on English => then you need both languages. (there may be some way using .multi files / according to google / as I said, not yet looked into adding config in the IDE for that...)
Of course they often have prefixes. E.g. in Sources many words are prefixed by T, F, I (Interface), P (pointer type)... => "List of chars (prefix) to ignore at start...": TFfPI (case sensitive)
And "PasswordHash" => words are broken at camel casing, and each part tested. (and "_" snake is not a word-char, so password_hash is always 2 words.)
Short words, or short "camel parts" can be ignored (ok, then they are not checked in strings either).
I do need to document all of that still...
But in most of my sources, I get few false positives. On the other hand, some files in the RTL have concatenated all lowercase idents => they can't be broken down, and show up.
Of course all of those rules are based on my experience with English based code. (Albeit, I think they would work for German based too). If there are common enough other cases for other languages....
another issue is "don't" => because the ' isn't a word char (and the spelling is done word-wise in order to deal with above extra checks.
Also in Pascal "don't" can only appear in a comment. In a string it would be "don''t" (escaped '). But the escaping is language specific, and the spell check works for all files...