Programming is a "class of language" ... latin/romance, germanic, slavik, etc.
"I speak programming. Specifically I speak C++."
Furthermore, within programming there are classes of languages (imperative, functional, oo, pattern matching, etc).
"I speak programming. I understand imperative and OO from C++, but struggle to understand functional, as I'm not used to composing my thoughts that way."
There are varying degrees of fluency / literacy in each of these classes of languages.
"I'm an expert in C++11, and wouldn't hesitate to write or maintain any C++ code. I can also read and modify many C-like languages (Java, JavaScript, Objective-C, Go) and may play with them on the weekend, but they would not be my first choice in starting a project at work. I can read some lisp code, but I can never understand something written in erlang no matter how many times I try."
So I would say that you can draw comparisons between northern v. southern english (ie: versions of C++) then english (ie: C-like languages) rolling up into germanic / romance (ie: imperative languages).
Regarding "translation", that's reasonable to understand. However, a programming translation has extra requirements to be successful.
1) it must be complete (at least the translated portion)
2) it must be 100% correct
3) regardless of the language, it must cause the same effect
...a partial translation, a translation with errors, or a slightly different meaning can "ruin" the programming translation, whereas minor errors or awkwardness in your normal translation are generally easy to overcome compared to a traditional written text designed for human (not computer) consumption.