All lines in C # are Unicode. English (Latin), Japanese and Chinese code points are located only in different ranges of code points.
I think you have two options:
For option 2, you can look at Unicode charts to find out where the different code points are, and deploy your algorithm to guess the language.
Example for Hiragana :
bool IsHiragana(char ch) { return (ch >= '\u3040') && (ch <= '\u309f'); } bool IsHiragana(string s) { return s.Count(IsHiragana) > 0; }
source share