The sorting algorithm for the new language overlay intermingles too many vastly different looking character sets in too close of proximity. This hampers ease of use and familiarity despite the enhanced visual hierarchy, and additionally appears to be related to the incorrect tappos value being sent to Event Logging (it is almost always equal to the full length of the list, which is nonsensical).
- Restore legacy sort order, maintaining new aesthetic
- Ensure correct tappos value is conveyed based on the actual position of the language at the time it is tapped. (e.g., if it is is second in the prioritized list, it should be 2; if there are no prioritized languages and it's the ninth in the all language list it should be 9; if there are two languages in the prioritized list but the third list in all languages is tapped it should be 5; if a search filter reduces the set of languages to three and the second element is tapped it should be 2; and so on).
Legacy version, applying ASCIIbetical sort to language names
New version, applying ASCIIbetical sort to ISO codes
UX wise the point is to largely reinstate the ordering from the legacy version, but have the aesthetic (including preferred versus all hierarchy) and keyboard heuristic of the new version.