There is a new optional third parameter $native_names for the function language_list().

$native_names is a boolean indicating whether the labels in the select list should use the native name instead of the English language name. This new third parameter only applies if the second parameter $option_list is TRUE.

Before:

$language_list = language_list(TRUE, TRUE);

After:

$language_list = language_list(TRUE, TRUE, TRUE); 
Introduced in branch: 
1.18
Introduced in version: 
1.18.2
Impacts: 
Module developers