I have been using Discourse for 4 years and love the modern design and quick updates. Thank you!
Recently, I have noticed some issues in my forum. In China, we seldom use spaces as you do in English, so basically every emoji from the emoji picker is rendered incorrectly like this:
呵呵:thinking:
This is annoying and confuses most Chinese users. Can you think of a way to improve the Chinese user experience?
(a) If an emoji are chosen from the emoji picker, it will lack for a space before the first colon :, not only in Chinese posts, but in English posts as well. Users will get a not rendered a:smile: (a:smile:) if they input a and then select (:smile:) from the emoji picker.
(b) A colon : after a Latin character won’t cause auto-completion, yet a colon after a CJK Unihan character will. It could be solved exactly by (2).
To solve (a), (3) should be implemented in the emoji picker, not / not just in auto-completion.
(1) and (4) are in different logic.
To check if a character is in Chinese or not, we could try:
Though I don’t know whether the regular expression above will provide higher performance.
I remember going down the regular expression route in the past but that means we carry this giant regexp everywhere we go. For chinese forums, we can just have a site setting that does not require a space before : to render emojis.