Quote:
Originally Posted by RickMaddy
Seeking i18n experts - and if you don't know what 'i18n' is then you aren't one
The Contacts app shows the letters A-Z on the list of contacts whether the contact list uses all of those letters or not. For fun I switched my iPhone's language to Russian and the letters on the contact list changed to an abbreviated list of the Cyrillic and Latin letters. It was abbreviated since the combined length of the two alphabets is too long to fit. Again it showed letters I didn't have corresponding contacts for.
OK, with that background, here's my question. For a given device's language setting / locale, how do I create the appropriate list of letters as shown in the Contacts app?
I've looked at all the NSString methods, NSCharacterSet, NSLocale and none seem to provide this list. There is a way to get something called an 'exemplar' character set from a locale but there is no way to extract the characters from a character set.
Any ideas?
So far I've taken the simple way out of just grabbing the first letter of all the entries in my table but that leaves out the letters that have no corresponding entry. And I don't want to hard code A-Z because then the app sucks for non-Latin alphabetic users.
P.S. Returning my phone back to English was a challenge since I had to pick the right Settings app menus with nothing but Cyrillic looking back at me 
|
I noticed the index scheme for contacts, and my first impression was "oh, that's nice" (meaning intuitive and convenient).
On closer examination it appears that the first index item is search; followed by all the (normal) letters of the alphabet; followed by a "#" placeholder for any oddballs (numbers, punctuation, special characters, etc.).
So, the index is an all-inclusive bookend of all possible characters + 2 (as it should be).
Then the highlighted sections are for those characters which have actual occurrences-- in my case: A,C,D,E,G,I,J,K,M,N,P,S,T,V,Z,# (or 16 of the possible 27 indexes).
This, again seems as it should be-- you can quickly scroll through actual data.
What I don't know is what happens when you have an overwhelming number of entries using most of the index letters-- the scroll list would get very long.
...I suppose the use of groups and search would help in this case.
I don't really have any suggestions, just observations that it seems natural and I like it!
HTH
Dick