Bopomofo/ 注音 for typing traditional Chinese

I know this would probably be to big of a task but have you considered adding the possibility of typing in bopomofo for the traditional curriculum?
Outside of Hanzihero i never use pinyin and it be amazing to just learn it with the bopomofo right away.

I haven’t met many Chinese learners who took the (arguably short) time to learn bopomofo but Is anyone else here using bopomofo as a non native speaker?
It helps immensely if you have Taiwanese friends and language partners and you ask them how to pronounce something and it will enable you to read all the things that are made for children in Taiwan even if you don’t know all the Hanzi.

6 Likes

Welcome to the forum! :slight_smile:

Yes, we have considered adding in this option! The main concern is compatibility across devices/how users could type it in especially if they can’t configure their keyboard to do so.

The main path forward we thought of was to have a pinyin->zhuyin typing conversion for those that want to learn the zhuyin of characters/words. e.g. z. Thus you still have the pinyin (which is necessary for the mnemonics) but you also get familiar with the zhuyin for the benefits you mentioned.

This makes it so one wouldn’t have to constantly switch keyboards while doing reviews, too. I wouldn’t be sure how directly typing bopomofo would look like with the mixture of meaning/pronunciation questions otherwise :thinking:

If you have opinions on how bopomofo support would look like, let me know :+1:

3 Likes

Okay i see your point, i might have over looked that i have a Taiwanese Laptop with a Taiwanese Keyboard. And at my other PC i bought Taiwanese Keyboard stickers for typing bopomofo. I guess on a phone it would be super easy to just add a Taiwanese keyboard.

I really like the idea of pinyin to zhuyin conversion though! It would be a bit like the hiragana in wanikani, where you also type romaji but then it converts it into hiragana on screen.

As a side note my Taiwanese keyboard has messed up so many of my reviews cause i click on the actual tone signs and then will always forget to type the first tone or mess up the second and type 6 instead. So i am very grateful for the back function.

1 Like

To expand on this a bit more, one big issue is the inability to type raw Zhuyin on most platforms.

For example, on Mac it is only possible by hitting ENTER after every single non-tone character.

For iOS it is only possible by typing it out then laboriously finding the completion option that is the raw zhuyin. The auto-completions, incidentally, serve as a sort of live-updating cheat-sheet, which makes this pretty terrible.

I believe it is possible to add a custom non-Google keyboard on Android to do this, but 99% of users just use the Google keyboard.

For those using a physical keyboard, one option we’ve thought about is to just simulate raw zhuyin typing within our app directly, without relying on the underlying OS. E.g., inputting z would output into our input box, as those share the same physical key on the keyboard. Unfortunately this would only work for those with a physical Zhuyin keyboard, or a normal keyboard with some sort of rubber Zhuyin overlay or something.

Edit: If anyone is using Windows, please let me know if it is possible to type raw Zhuyin on that. I currently don’t have access to a Windows machine.

Sidenote, HH is the reason I had to get rid of autocomplete on my phone.

I don’t understand what’s wrong with just doing your solution though:

  • For physical keyboard w/Zhuyin key stickers it works like you said
  • For physical keyboard w/English key stickers, I’d imagine the users are touch typists who don’t use the stickers anyway. This is how things work for Korean learners in the west, you are a touch typist and intuitively know how that the F-key will type out ㄹ, etc. This requires a level of skill, but anyone who wants this feature probably can already do it or is willing to learn.
  • For phone, you could have two options. One is the same trick where the HH interface renders z as ㄈ. It would be perhaps confusing, because probably more people type on their phone by looking at the keys. Another option is to have a dynamic in app keyboard that switches between English layout and Zhuyin. I could understand if this would be not worth the trouble, after all the native iOS/Android keyboard has features like haptic feedback, appearing and disappearing based on focus, etc.

I think for me personally it would already help seeing the Zhuyin on screen so i can observe how i would write it. Ideally typing pinyin and then having the Zhuyin appear in the text field. that way i would also finally connect pinyin and Zhuyin in my head and not have to look up the pinyin for characters i only know the Zhuyin and vice versa.
This way everyone can use it without having fancy keyboards or installing extra keyboard settings.

I wonder if that is just my legasthenic brain that struggles with knowing the right letter for similar sounds and that’s why i struggle going back and forth between Zhuyin and Pinyin. I have the same problem in German and English, where pronunciation is completely off from the spelling all the times. And even in Japanese sometimes when you can’t really hear if it’s a long “ou” or not.

1 Like

I mean this would be an absolutely amazing setting for me!!! I just meant it doesn’t have to go that far to already be super helpful ^^

(I got confused for a second, cause at my tower PC i have a German keyboard with Taiwanese stickers and the z and y are flipped so my z is coincidently the same key as ㄗ )

1 Like

Gotcha. I think just having zhuyin displayed alongside pinyin within the various pages in the app, and especially on the review/lessons pages (e.g., alongside the pinyin when you answer a pronunciation question correctly), would go a long way towards that, even without the fancy pinyin->zhuyin live conersion thing within the input field itself that Phil mentioned. We have that in our backlog, and hope to implement it in the coming months. :+1:

2 Likes

I thought I would revive this older topic to voice my recent ideas about fitting 注音 into Hanzi Hero. I brought this up in my study log, but I have had some new ideas since then. I will reiterate my old ideas too.

Ideas from my other topic:
For computer, when a pronunciation field is in focus, convert input from keystrokes. t = ㄔ, k = ㄜ, x = ㄌ, z = ㄈ. For mobile, when a pronunciation field is in focus, bring up a totally Hanzi Hero keyboard which has all the 注音 in the right place and inputs them on press. My main reasons for wanting this is that I think looking at 注音 helps my pronunciation more than looking at 拼音 and I want to build muscle memory for the 注音 input method.

New ideas:
Since this topic is specific to the traditional course, I would like to voice my desire for having 注音 as an option the simplified course too. The main snag point on my study log topic was how to fit the fundamentally different alphabet into the 拼音 focused curriculum. I think I have a solution that fits with Hanzi Hero without changing any mnemonics. 拼音, changes some finals when they are combined with certain initials; for example ou when paired with li becomes with liu instead of liou. We could do this same thing with 注音; for example, electricity plant would be introduced as being ㄜ and ㄝ. When a character with pronunciation like 蝶 comes along, you just show ㄉㄧㄝˊ instead of ㄉㄧㄜˊ just like how you show liu instead of liou; this is fine because ㄉㄧㄜ is not a thing. I believe this takes just as much memorization as remembering when to drop the o from ou. More examples for completeness: The Ong Temple would be shown as being ㄨㄥ and ㄩㄥ. Xena would be shown as being ㄒㄧ. When Xena is in the Ong Temple the 注音 shown is ㄒㄩㄥ of course; perhaps there could be a note explaining the dropped ㄧ. This is fine because Professor X (ㄒㄩ) never goes to the Ong Temple. It could be a little confusing why ㄩㄥ is Yoshi instead of Yugi in the Ong Temple, a note should clear it up; Hanzi Hero also never quizes in that direction (spelling to 汉字). I think that basically covers all the special cases. The special cases are basically ㄩ + ㄜ = ㄩㄝ, ㄧ + ㄜ = ㄧㄝ, ㄧ + ㄨ = ㄩ. This is not so different from i + eng = ing and i + ou = iu and i + en = in.

1 Like

We discussed this a bit more today. I think when we get around to this we will tackle it in discrete steps:

  1. Add an option to show Zhuyin throughout the app.
  2. Add an option to remap Latin keys to the Zhuyin keys for desktop users. This would work for anyone who has a Zhuyin-compatible keyboard, which would mainly be a US Latin one or an actual Zhuyin keyboard (the Latin letters have the same layout for both of them).

For mobile, adding an on-screen keyboard may be worth looking into, but we worry that it may be too buggy. But I think the two steps above are easy low lying fruits we can tackle first.

2 Likes

That sounds great! I can’t wait :grinning:.

1 Like

I created a basic input method just for this. You type 注音, but instead of 汉字 or nonsense, you get 拼音. It is a basic table input method for fcitx5. You can get it here ~charje/zhuyin-tools - sourcehut git.

Here is a short video showing how it works.

zhuyin-to-pinyin

In the video, I type ㄅㄟˋ by typing 1o4 on my regular ANSI keyboard. I did get 注音 key caps though. The moment I press the ˋ, the IME writes out bèi. I press enter twice to move to the meaning. Then I tap shift to switch to English input. I type wolf. I press enter twice to move to the next character. Then I press shift again to switch back to 注音 to 拼音 input.

Now we can use 注音 for Hanzi Hero reviews and lessons on computer at least.

2 Likes

That’s really cool!

One thing we’ve thought about hacking around with is trying to grab intermediate IME completion text at the browser level and then try to “short-circuit” the IME so that it starts anew. I.e., if one types in “ㄩ”, that is in fact available to the browser input and triggers an input change event. We could in theory grab that and then close and re-open the input or something for the IME to reset. If done smoothly, it would be like typing without the IME ever getting in the way.

However, when I demoed it locally, at least on MacOS, it seems that the tone markers were never actually “input” into the input so that we could grab them.

1 Like

If the user is going to have to set up an IME, may as well use an input method for typing raw 注音 script. There is one in the repository that I linked.

1 Like