From Fedora Project Wiki
(Create from template)
 
No edit summary
Line 4: Line 4:


== Summary ==
== Summary ==
Change the default input method for zh_TW locale from ibus-libzhuyin to ibus-chewing
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.


== Owner ==
== Owner ==
Line 46: Line 46:
== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
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.


== Feedback ==
== Feedback ==
<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. -->
<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. -->
Initial feedback from the community is positive: https://discussion.fedoraproject.org/t/ibus-libzhuyin-and-ibus-chewing-test-day-ibus-libzhuyin-ibus-chewing/109962


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the distribution?  Will the software we generate be improved? How will the process of creating Fedora releases be improved?
This change will make Fedora more friendly to users. ibus-chewing and libchewing is maintained by native speakers and the upstream is active.
 
      Be sure to include the following areas if relevant:
      If this is a major capability update, what has changed?
          For example: This change introduces Python 5 that runs without the Global Interpreter Lock and is fully multithreaded.
      If this is a new functionality, what capabilities does it bring?
          For example: This change allows package upgrades to be performed automatically and rolled-back at will.
      Does this improve some specific package or set of packages?
          For example: This change modifies a package to use a different language stack that reduces install size by removing dependencies.
      Does this improve specific Spins or Editions?
          For example: This change modifies the default install of Fedora Workstation to be more in line with the base install of Fedora Server.
      Does this make the distribution more efficient?
          For example: This change replaces thousands of individual %post scriptlets in packages with one script that runs at the end.
      Is this an improvement to maintainer processes?
          For example: Gating Fedora packages on automatic QA tests will make rawhide more stable and allow changes to be implemented more smoothly.
      Is this an improvement targeted as specific contributors?
          For example: Ensuring that a minimal set of tools required for contribution to Fedora are installed by default eases the onboarding of new contributors.  


    When a Change has multiple benefits, it's better to list them all.
* 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..." https://github.com/libzhuyin/ibus-libzhuyin/issues/76
* 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 https://github.com/chewing/libchewing/
* 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 https://fedora-tw.org/t/ibus-libzhuyin/715
* 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.


    Consider these Change pages from previous editions as inspiration:
Upcoming Chewing roadmap during Fedora 41 timeframe:
    https://fedoraproject.org/wiki/Changes/Annobin (low-level and technical, invisible to users)
* 0.8.0 - stabilize the Rust internal rewrite and switch to as default (ABI unchanged)
    https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo (low-level, but visible to advanced users)
* 0.9.0 - stabilize the Rust API and enable new features
    https://fedoraproject.org/wiki/Changes/VirtualBox_Guest_Integration (primarily a UX change)
** 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.
    https://fedoraproject.org/wiki/Changes/NoMoreAlpha (an improvement to distro processes)
** Prefix only mode that allow users to only input partial syllables, similar to how pinyin and some smartphone keyboard works.
    https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack)
** 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.


== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
Test and stabilize libchewing release 0.8.x before Fedora 41 freeze.
Change the default for zh_TW to ibus-chewing. (TODO: link to repo)


* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: N/A (not needed for this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


Line 101: Line 98:
== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
This Change only affects new installations. Users upgrade from previous Fedora release can continue to use their current input method.


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 107: Line 105:
<!-- This is an optional step for system-wide changes to avail of. If you would like to build an initial proof of concept of your change and have a member of Fedora QA help you write and/or run some initial basic tests on your code, please email tests@fedoraproject.org and include the link to your change proposal. This step is *optional*. -->
<!-- This is an optional step for system-wide changes to avail of. If you would like to build an initial proof of concept of your change and have a member of Fedora QA help you write and/or run some initial basic tests on your code, please email tests@fedoraproject.org and include the link to your change proposal. This step is *optional*. -->


Do you require 'QA Blueprint' support? Y/N <!-- Optional Step for System-Wide Changes only -->
Do you require 'QA Blueprint' support? No <!-- Optional Step for System-Wide Changes only -->


== How To Test ==
== How To Test ==
Line 123: Line 121:
3. What are the expected results of those actions?
3. What are the expected results of those actions?
-->
-->
Install Fedora and choose zh_TW as system locale.
For existing installation:
<pre>
dnf install ibus-chewing
</pre>
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


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 137: Line 147:
  - Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system.
  - Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system.
-->
-->
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.


== Dependencies ==
== Dependencies ==

Revision as of 23:27, 2 May 2024

IBus Chewing for zh_TW Desktop by Default

Important.png
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.

Summary

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.

Owner


Current status

  • Targeted release: Fedora Linux 41
  • Last updated: 2024-05-02
  • [Announced]
  • [<will be assigned by the Wrangler> Discussion thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

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.

Feedback

Initial feedback from the community is positive: https://discussion.fedoraproject.org/t/ibus-libzhuyin-and-ibus-chewing-test-day-ibus-libzhuyin-ibus-chewing/109962

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..." https://github.com/libzhuyin/ibus-libzhuyin/issues/76
  • 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 https://github.com/chewing/libchewing/
  • 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 https://fedora-tw.org/t/ibus-libzhuyin/715
  • 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.

Scope

  • Proposal owners:

Test and stabilize libchewing release 0.8.x before Fedora 41 freeze.

Change the default for zh_TW to ibus-chewing. (TODO: link to repo)

  • Other developers: N/A (not needed for this Change)
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with the Fedora Strategy:

Upgrade/compatibility impact

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


Early Testing (Optional)

Do you require 'QA Blueprint' support? No

How To Test

Install Fedora and choose zh_TW as system locale.

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


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.


Dependencies

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


Documentation

N/A (not a System Wide Change)

Release Notes