F41 Change Proposal: IBus Chewing For Traditional Chinese (Taiwan) Desktop by Default (self contained)

IBus Chewing for Traditional Chinese (Taiwan) Desktop by Default

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Wiki
Announced

:link: Summary

Change the default input method for Traditional Chinese (Taiwan), the zh_TW locale, from ibus-libzhuyin to ibus-chewing. ibus-chewing is the ibus front-end of the libchewing library. Chewing (新酷音, https://chewing.im/) is one of the most popular and featureful IM among zh_TW users.

:link: Owner

:link: Detailed Description

Change the default input method for zh_TW locale from ibus-libzhuyin to ibus-chewing. ibus-chewing is the ibus front-end of the libchewing library. Chewing (新酷音) is one of the most popular and featureful IM among zh_TW users.

:link: Feedback

Initial feedback from the community is positive: Ibus-libzhuyin and ibus-chewing Test Day / 測試 ibus-libzhuyin 與 ibus-chewing

Fedora i18n is tracking this Change in Issue #185: Evaluate if we can have ibus-chewing as default IME for Taiwan - i18n - Pagure.io.

:link: Benefit to Fedora

This change will make Fedora more friendly to users. ibus-chewing and libchewing is maintained by native speakers and the upstream is active.

  • ibus-chewing has user base that can report issues. ibus-libzhuyin was in an unusable state for some time but no one has filed issues to Fedora or upstream. Users chose to manually install ibus-chewing or fcitx5-chewing.
  • ibus-chewing has maintainer that can fix issues. ibus-libzhuyin’s answer for maintenance was (translated by google) “I haven’t had time to update this project recently. Sorry, I am not very familiar with Traditional Chinese. I may need users who understand Traditional Chinese to help maintain…” 請問這個項目已經被放棄了嗎?怎麼都沒看到有更新? · Issue #76 · libzhuyin/ibus-libzhuyin · GitHub
  • ibus-chewing is a thin-wrapper of libchewing. libchewing provides abstract UI layer so it was easier to integrate with different IM services. This means ibus-chewing has less code and shares feature with other chewing ports. ibus-libzhuyin has logic in both ibus-libzhuyin and libzhuyin.
  • libchewing has usage document and API document GitHub - chewing/libchewing: libchewing - The intelligent phonetic input method library
  • libchewing ensures the phrase candidates list is stable sorted. Users can rely on the order for phrase selection.
  • libchewing has a cross-platform user dictionary editor that uses dictionary API provided by libchewing.
  • libchewing has optimized the phrase selection shortcuts. Anecdotes say it’s intuitive compare to ibus-zhuyin 請問為什麼以 ibus-libzhuyin 作為預設中文注音輸入法? - 在地化與翻譯 - Fedora 臺灣社群論壇
  • libchewing dictionary is decoupled from keymaps. The system dictionary can be upgraded independently. New keymaps can be added without recompile the dictionary. It seems libzhuyin may need to rebuild the dictionary.

Upcoming Chewing roadmap during Fedora 41 timeframe:

  • 0.8.0 - stabilize the Rust internal rewrite and switch to as default (ABI unchanged)
  • 0.9.0 - stabilize the Rust API and enable new features
    • Simple mode that disables automatic phrasing. More advanced users can use this mode and the stable sorted candidates list to achieve fast and accurate typing.
    • Prefix only mode that allow users to only input partial syllables, similar to how pinyin and some smartphone keyboard works.
    • Toneless mode that allow users to skip the tone. It will be useful for users using pinyin and/or learning Chinese as second language.
    • Multi dictionary so users can load domain specific dictionaries.
    • Sharable system and user dictionary. The new on-disk format can store author and copyright metadata so users can share their dictionary more easily.

:link: Scope

  • Proposal owners:

    • The version targeting Fedora 41 is ibus-chewing 2.1.0 and libchewing 0.9.0 that is planned to be released around July 2024.
    • Change anaconda to install ibus-chewing when Traditional Chinese (Taiwan) “繁體中文(台灣)” language is selected.
    • Update GNOME to set chewing as default.
    • Update fedora-comps Input Methods group to include ibus-chewing.
  • Other developers: N/A (not needed for this Change)

  • Release engineering: #Releng issue number

  • Policies and guidelines: N/A (not needed for this Change)

  • Trademark approval: N/A (not needed for this Change)

  • Alignment with the Fedora Strategy:

:link: Upgrade/compatibility impact

This Change only affects new installations. Users upgrade from previous Fedora release can continue to use their current input method.

:link: Early Testing (Optional)

Do you require ‘QA Blueprint’ support? No

:link: How To Test

Install Fedora and choose Traditional Chinese (Taiwan) “繁體中文(台灣)” as system locale. Make sure ibus-chewing is usable during system setup.

For existing installation:

dnf install ibus-chewing

and add Chewing as input source from Gnome or KDE settings.

i18n test day template should be updated to test ibus-chewing

https://fedoraproject.org/wiki/Test_Day:2024-03-05_I18N_Test_Day

using this ibus-chewing test case

https://fedoraproject.org/wiki/QA:Chewing

:link: For early adopters

For anyone wanting to try:

  • Rawhide has ibus-chewing 2.0.0
  • kanru/libchewing-git Copr has the upcoming libchewing 0.8 release and future unreleased ibus-chewing and libchewing versions.

:link: User Experience

Newly installed Fedora will use a working and actively maintained input method for zh_TW users.

Chewing provides features similar to other IMs you can find on other non-free OSs that zh_TW users are used to. It’s available on multiple platforms including Android ports which allows users to reuse their user dictionary or habits on other OSs.

:link: Dependencies

:link: Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No

:link: Documentation

N/A (not a System Wide Change)

:link: Release Notes

Last edited by @amoloney 2024-05-21T10:36:37Z

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply giving that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.

This change proposal has now been submitted to FESCo with ticket #3217 for voting.

To find out more, please visit our Changes Policy documentation.

This change has been accepted by FESCo for Fedora Linux 41. A full list of approved changes to date can be found on the Change Set Page.

To find out more about how our changes policy works, please visit our docs site.

1 Like