I've tried to distinguish levels of proficiency with a language in my CV. For example, "expert/highly proficient", "proficient", or "familiar". There's only one or two that I'd consider myself "highly proficient" in, and probably a half dozen that fall into the latter categories. Gives you some flexibility to say "hey, I've worked with [language X], but I'm not as strong as I am with [language Y]"
That makes a lot of sense!
But how do you deal with people that expect something different from those levels? That is, 'proficient' might mean 'expert' for some people.
I do a similar thing but just use "proficient" and "familiar", leaves much less room for misinterpretation when there are only two levels imo. Over time I've also trimmed down the list significantly to only languages I would be OK working with and be comfortable doing an interview in. For example, I know C++ to a "familiar" level thanks to school, but I personally dislike it and wouldn't want to it to be part of my work at all, so it's not on my resume.
It's not an exact science, so I'd try to provide an honest self-assessment while ultimately not worrying too much about it. The CV should really be a conversation starter more than anything - you can provide more clarity in the interview.