I’m working on an application that has a spreadsheet-like interface. There is a grid of cells. Rows are numbered, and letters are used for the columns. So “names” like A2 and Q17 refer to cells in the grid.
I know I can use GetLocaleInfo(Ex) with LOCALE_SNATIVEDIGITS to get the appropriate digits for the user’s locale, so I can format the row numbers. But I don’t see something comparable for the locale-appropriate “alphabet”.
I could imagine the same question arising for things like word processors that have an outline mode and need to be able to enumerate some list items with letters.
I’ve been pouring through the Windows NLS APIs, and I don’t see anything like LOCALE_SNATIVEALPHABET nor do I see an API like EnumLocaleAlphabet. Am I missing such an API or am I stuck rolling my own?
Personally I haven’t heard of such API. The closest to what you are asking would be ICU uchar’s UBlockCode but it still won’t give you concrete alphabet.
By the way, I don’t think it is actually localize cell names unless you localize the whole User Interface. But in such case you may simply ask translators to provide valid cell symbols.
And this probably what you should do, because some writing systems do not have concept of alphabet at all. That is, it is called script, not alphabet. For example, I don’t think it would be good idea to use Arabic for cell symbol (which glyph variant in such case?) nor I would use Chinese (all possible ideograms?).
My suggestion is: leave it to translators, if they want to localize it, that is OK, if they don’t, just trust them, they really should know their craft.