I am implementing multilingual glossary where we have alphabets and glossary content having title and description. Currently it is in english and I want to add support for Chinese. In English I have alphabets like A, B, C, D, etc. On click of any of the alphabets the corresponding title gets displayed. How do we implement the same for Chinese?

1 Answer 1


Chinese can be sorted by Pinyin. This is also what is done in the dictionary. Basically, each character has a prononciation, and that prononciation can be latinized into Pinyin. You can look up Pinyin on Wiktionary. The first letter of Pinyin can be used to group the phrases in your glossary.

For example, word "苹果" has Pinyin "píng guǒ" according to here. You can sort the word on Pinyin just like English words, with an additional rule of the tone. If a letter in Pinyin has a tone, sort tone in the order of "ā, á, ǎ, à". And toned vowels come prior to the untoned.

Note that, one Chinese character may have multiple prononciations, so you should search for the entire phase to determine the Pinyin for the characters.

Other sort schemes also exist, such as the radical order, or total strokes. But these are now less commonly used than Pinyin. Also keep in mind that, Chinese has a lot of accents, so Pinyin sorting may not be ideal if your audience is old Cantonese who does not speak Mandarin, for example. In that case, total strokes might be a better solution. Another side note, Taiwan is also using Pinyin as their official Latinization system. So Pinyin can be generally used for both Mainland and Taiwan audience.

  • Thanks Harry for information. Currently, for english the approach is lets say I have titles as Aeroplane, Apple, Aqua in this sequence. So, when user clicks on 'A' alphabet, it gets auto scrolls to Aeroplane because alphabet 'A' matches to title[0] - A in Aeroplane. Can you please help me how can this be done for Chinese as this approach would fail for Chinese and I want to have generalised approach.
    – Barbara
    Oct 25, 2018 at 7:17
  • If you want to do this in a program. I think you have two choices. First, directly use the first Chinese character as the glossary title. However, this is only feasible if you don't have a large number of Chinese characters in the first position. Second, you should store Pinyin, or at least the first letter of Pinyin, along with the glossary item in your database. You could name it sort_key or something, and for English just store the word itself. Then, you can have a generalized approach by jumping to the first sort_key that matches your glossary title. Oct 25, 2018 at 7:29
  • OK.. I will check which approach I can go with. Thank you very much Harry for the information.
    – Barbara
    Oct 25, 2018 at 8:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.