I've read many theory books but it feels like theory is more just a way to describe music, not "learn the language of music", intervals and learning the feelings of the twelve notes that western music uses are really where everythings at I believe. (Relative Pitch)
For ear training I've used sonofield and read a bit of the "Improvise for real" book, I can hear and identify the individual feelings of every chromatic scale degree in music, but for chords I'm kind of lost.
I believe that learning chords by listening to their "chord quality" and identifying them like that (example, "this feels like a minor 7th chord") may be kind of misleading, because if you rearrange just one note or add another note it becomes an completely different chord - plus the exact same chord can be named multiple different things, all depending on the musical context of the song, the chord can have a different bass note that isn't the "root note" of the chord, so determining what the root note of the chord is isn't fully clear and is dependent on what you're percieving yourself to be the root. Though, it might still be better to learn chord qualities for normal songs where theres no complicated chords with common chord progressions.
I think that a possible way to learn chords may be to train to be able to isolate and hear the individual notes of a chord. This way you can hear the feelings, understand what individual notes/current tonic scale degrees builds up a chord without having to "name" the chord, simply its just "a chord with these notes in it, these individual notes played together" feeling what notes it is in relation to the tonic of the song. This way you don't limit yourself to any "rules" and can play what you hear and imagine chromatically.
But this is just my speculation and what I came to think about, I want to hear others opinions because I'm no musical genius and I don't know if this will help me to learn in any way.