Expert: Participates in the development and direction of the language or major frameworks, or extremely deep knowledge of some uncommon area of the language's semantics/runtime. Substantial experience developing sophisticated tools/products in that language. Why are you even writing a resume?
Strong: Knowledge that goes beyond what one would expect of a "standard" X programmer.
Proficient: Experience doing professional work on a project in a language without needing to come back up to speed.
Moderate: Able to do real work in a language, but limited depth, or a bit rusty.
Introductory: Still learning. Can write code in the language, but nothing significant.
Self evaluation:
I'm either strong or proficient in Java (I know things about the runtime, compiler optimizations, bytecodes, that aren't everyday knowledge for a typical enterprise Java programmer, but there's so many things I don't know).
I'm proficient at Javascript--did two years of professional work at it in my current company, but nothing special.
I'm either moderate or proficient in Python. I reach for it as a scripting language, but my web development experiments were a few years ago, and I'd be starting from scratch.
I'm moderate at shell scripting.
I'm introductory in Haskell, C, Elisp and AWK.
I wouldn't list my experiments with J, Scheme, Ruby, Rust or PHP at this point.
I confess that I don't know how a resume reader would react to that. It's just the terms that I think in.
I'm significantly better at C# now than I was 3 years ago, but I'm also more aware of the things I don't understand. I also recently saw a Jon Skeet talk and it ruined my level of self-worth.
As I've said in the other comments, I never thought that this would be an issue. I think your proposed solution might be the closest to the answer.
Thanks for your time and feedback