-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
International alphabet support / disable Romanization #455
Comments
I implemented that behaviour deliberately, so you have less char sections. Commonly, you don't have many apps that start with an Umlaut (Ä/Ö/Ü) for example, so having a whole section dedicated to (most of the time) one app would be overkill. Diacritics are not counting as unique letters I believe, at least not in German. |
It's true that German does not separate their letters, although I never mentioned German. On the CLDR page, the German index is the same as the English. But other languages does separate their own letters. It's fine to have an alternate feature that does combine these letters, but I still want my own alphabet. If a letter isn't use, say Å, then it doesn't show up in the alphabet anyway. |
@Liggliluff there is no real standart though, e.g. according to the index table Austrian German (de_AT) includes the Umlauts whereas default German doesn't even though there should be no difference between the two alphabets. |
Even so, Unicode is what most software use for locale support. If Unicode has defined that de_AT sorts those letters separately, then that is what the users of de_AT will expect to happen. |
Pls consider support for Chinese! |
This would go well with my idea of allowing the user to use the national "alphabetical" sort provided by Unicode, or using the ISO Latin alphabet For the national order; Chinese will be sorted by stroke order. For the ISO Latin order, the Chinese-to-Pinyin could work. |
Yeah thx, that's great! |
@Make-Mark, yeah Pinyin will definitely be supported, see: #234. Also, thanks for your advice. |
@Make-Mark I've looked more into Unicode's sort order for Chinese. By default; Unicode uses Pinyin sort order. You are right about that. By simply supporting Unicode's national sort order, you will get Pinyin sort order. But Traditional Chinese in Unicode is sorted by stroke number. That's where I got confused. |
@Liggliluff I've done some research. For Republic of China where people use Traditional Chinese, "ZhuYin" sorting method is mostly often used. It transforms Chinese into 40 ancient symbols for pronunciation. |
@Make-Mark I don't know how the people of China sorts, so I can only go by how Unicode sorts. Unicode should support the methods that the each country and language sorts, and if a method is missing, you can report it. Unicode offers 7 methods of sorting, named: pinyin, private-pinyin, gb2312han, stroke, zhuyin, big5han, unihan. By default, the locale zh is set to pinyin, and zh-Hant is set to stroke. Most popular systems like Android, Windows, iOS supports Unicode and will use it's methods of sorting. Windows allows you to change the sorting method, but uses the abovementioned defaults as default. You can find the document for Chinese here: |
@Liggliluff |
This is why Unicode exists, so the user can pick their method provided by Unicode and it will work on all platforms supporting Unicode. Android does not allow you to change sorting method, but it would preferably be added so anyone who wants to sort by "zhuyin" should have the option. This is why I want Niagara to support Unicode primarily; but can offer other sorting method on top of it. |
Just wanted to add a +1 here. From a swedish perspective it's kinda weird that "Översätt" (Swedish name for Google Translate) ends up under the letter O. |
The easiest solution in my opinion, is to add a toggle to not group apps starting with similar letters (e.g. A |
@8bitPit The easiest solution in my optinion, is to allow the user to choose their own alphabet, as provided by Unicode, or use the ISO alphabet with translitteration (the feature you currently want everyone to use). I'm curious of where you would put "Ä" if you were to have a feature to split Ä from A. |
I don't really know how these things work in Android, but isn't there way of getting the correct sorting out of the currently set locale? This normally works out of the box without me needing to fiddle with any setting... In swedish, the alphabet simply ends with "...xyzåäö". |
@DanielMalmgren You are correct. Unicode's CLDR contains both indexing and sorting algorithm. Android has this CLDR built in, and several apps are utilising it. Google apps that contains alphabetical sorting (Contacts, Files, ...) uses this information to put the letters in the correct order. It exists to help programmers offer the default alphabetical order for each locale automatically, and will update as CLDR is updated with new information and languages. – Swedish users usually expects to find Ä after X,Y,Z,Å and German users expects Ä to be sorted with A, except for Austrian users who expects Ä to be sorted separately after A, Estonian expects Ä between W and X. It's perfectly fine for @8bitPit to offer sorting according to the ISO/English alphabet (with translitteration) as an option. But there should still be an option for users to have their local alphabet (preferably chosen by default). – The idea of offering a toggle to split accented letters from the base letters does not solve the issue. In Swedish, Ü is sorted under Y, and should neither be sorted under U or be a separate letter. In Spanish, only Ñ should be split from the alphabet, all other accented letters should still be sorted under their base letter. Hungarian users expects the letters CS, DZ, GY and more to be sorted as separate letters, which are digraphs, and not even accents. Then you got locales that has changed the order of the base 26 letters, in addtion to extra letters. Examples are Azerbajani: .. G H X I İ J K Q L .. V Y Z W, Estonian: .. R S Š Z Ž T .. V W Õ Ä Ö Ü X Y. So even if similar letters are grouped together or not, the order will still be wrong, which might annoy users. |
Thanks for the detailed explanation @Liggliluff. Yeah, afaik, Android added a lot of classes to support localized character sorting in Android 7. I did some simple tests for transliteration at the weekend, but I get your point, it’s not the only way to improve the app list. I’ll trying my best to support transliteration for Chinese & Japanese and providing localized alphabets for several other countries. I’ll get back to you when I further developed both parts. However, that might take some time, because I’m currently working on a time-consuming feature (but I think it’s worth it 😉). |
Great explanation @Liggliluff! Felt I just got smarter by reading your explaination. I'll be looking forward to this as well as a Dane, missing my Æ, Ø, Å! 🌿 And looking forward to see what you're cooking up @8bitPit. In relation to you comment about these characters not being used that much, at lot of people will use the launcher in our own experimental ways, since we can! I've added a category to each of my apps in front of their name, so they're sorted by that, giving me 5 apps staring with Ø (for finances = økonomi). So I'll look forward to this feature, so they'll get their own letter. ✨ |
Niagara now transliterates app names written Cyrillic, Hiragana, Katakana, Hangul, and (simplified & traditional) Chinese into Ascii-Latin for determining its sort order. |
This option seems to be working only one way. How can I turn off "similar letter bundling" after enabling it with “/bundle characters”? |
Hi @inbx, you can toggle this option on and off with the same command. |
Ok, after one more “/bundle characters” (and restarting launcher) all my apps names written Cyrillic went to '#' Group. I thought they should bundle their first characters Groups (like Афиша, Авито goes to a separate Cyrillic 'A' Group) |
I was thinking about this again and implementing a solution to this, could also be a solution to #13: If it was possible to organise apps using an implementation like @Liggliluff and with support for emoji/special characters (✿ ☺ ☻ ☹ ☼ ☂), apps could be sorted/categorised by renaming them. (I'm not sure if #13 is correct for the example, believe I've read another thread before with the idea of using icons (like letters currently) to sort apps, but I can't seem to find the specific one now). |
To better plan ahead and to give users an estimate which features will be added to Niagara, I’ve decided to close all feature requests that that are unlikely to be implemented in the next year (2020). This is one of those, unfortunately. I'm sorry. Feel free to open this ticket again in 2021 or later. |
Hi @8bitPit I'd like for this feature to be reopened! It's now 2023 and I still miss my Æ, Ø, Å! 😄 |
Hey, @ssssamstrup, your video convinced us haha
I'm sorry @Liggliluff that this does not strictly conform to Unicode (e.g. ü and y have separate sections in Swedish); we might improve it depending on the amount of feedback we get. |
Thank you! Look forward to trying it. |
Hi again @8bitPit , love the update! Could you extend it to folder names? Just created a folder with Ø and it's placed before O, rather than at the end of the alphabet/folder list as expected. Let me know if you want me to create a new issue for i, then I'll do that. 😊 |
Thanks @ssssamstrup and apologies for the late response. I saw that you already opened a new issue (#2483). We're slowly processing all the new tickets and will respond once we get to yours. Oh, and Happy New Year! |
Currently the alphabet is set to the ISO / English order A to Z with alternative letters like Á Ä Å sorting under their counterpart ("A" in this case). Any unexpected letter will be added after Z such as Æ, Ø.
However, different languages have different alphabets. An example is Swedish where Å, Ä, Ö are unique letters that appears after Z, and Spanish where Ñ is a different letter from N and comes after N and not mixed together with it. But the alphabet is incorrectly displayed in Niagara. Other apps like Google Now launcher, and Google Contacts does use the correct alphabet of the locale.
This is of course nothing you should manually implement yourself. Unicode has the CLDR covering international systems in different locales. The CLDR of Alphabetic Information covers the alphabets of most languages. The section Others: index covers the alphabet of each locale. More information about collation ordering is available at Unicode's Collation Guidelines.
The text was updated successfully, but these errors were encountered: