On the EN Wiki I read that both C# and Java are interpreted languages, however at least for C# I think it is not true.

> 
> Many interpreted languages are first compiled to some form of virtual
>  machine code, which is then either interpreted or compiled at runtime
>  to native code.
> 
> 
> 

From my understanding, it is compiled into CIL and when run, using JIT its compiled to target platform. I have also read that JIT is an interpreter, is that really so? 
Or are they called interpreted as they are using intermediate code? I do not understand it.
Thanks