I saw some discussions about internationalization and localization, and saw some examples of lists displaying languages written in that specific language. I think it is quite confusing to try and sort these because not all language systems use the roman letters. I would have thought it is better to group them geographically, but this might be confusing for some people as well. Is there a logical way of doing this if I have a mega dropdown menu or a dropdown selection list? I also thought about the amount of speakers of a language, but this is probably not something that everyone knows.
Personally, I prefer the way the Ubuntu installer displays languages. It's not a drop-down, and it allows for many options to be displayed at once.
Not only does it provide a relatively alphabetized list, but it provides the option for no localization.
While this may not be the optimal display method, it is a familiar method for many people. And intuitive isn't always the best way to do things - sometimes, familiarity is best.
As for the best example of familiarity over intuitiveness I can think of? The Imperial System in the USA. It works well enough, because it is widespread and well understood. It may not be the best system, but doing otherwise will cause problems.
You don't need to write name of a language in its own language. Instead of writing عَرَبِيَّة use Arabic and that solves the problem of left to right and right to left languages. People who use internet can identify their name of language even when it is written in English.
Use Alphabetical Listing whenever possible. This is the first expected ordering and is accepted globally.
Don't use Regional Grouping as within each regional group, you will have to list languages in their own alphabetical order. That means a person finding a language would need to discover that languages are grouped by region AND then scan its region to find the language it needs.
An example - Google Translation.