Can someone explain why Cantonese is considered as a dialect of Chinese, instead of a language? It is also for any language exist in China, both land and Taiwan (Cantonese, Hunanese, Fujianese, Taiwanese, etc.).
AFAIK, dialect is differ from language. Just like in Indonesia: Javanese, Sundanese and Madurese is considered as a language, not a dialect. But, Javanese is called as a dialect when someone speak Indonesian language with Javanese accent.
But, for Cantonese (or any other languages listed above), although you speak Cantonese, Chinese will considered it as a dialect, not a language. You know that, Cantonese and Mandarin is 'completely' different each other.