English | 中文
Fcitx5 input method framework ported to macOS.
Please download installer.
Native build on Intel and Apple Silicon is supported.
This is NOT an Xcode project, but Xcode is needed for Swift compiler.
You may use nvm to install node, then
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
brew install cmake ninja extra-cmake-modules gettext librsvg
./scripts/install-deps.sh
npm i -g pnpm
pnpm --prefix=fcitx5-webview icmake -B build/$(uname -m) -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build build/$(uname -m)
sudo cmake --install build/$(uname -m)After the first time you execute cmake --install, you need to logout and login,
then add Fcitx5 in System Setttings -> Keyboard -> Input Sources, Chinese Simplified.
For installations afterwards, clicking Restart in Fcitx5 menu suffices.
You can also use Cmd+Shift+B in VSCode to execute a task.
Some features (e.g. notifications, core dump) require the app bundle be code-signed after installation:
./scripts/code-sign.sh- Check
Include Info MessagesandInclude Debug MessagesinActionmenu. - Put
FcitxLoginSearch.
/tmp/Fcitx5.log contains all log in Console.app,
plus those written to stderr by engines, e.g. rime.
SSH into the mac from another device, then
$ /usr/bin/lldb
(lldb) process attach --name Fcitx5sudo chmod 1777 /cores
sudo sysctl kern.coredump=1
ulimit -c unlimited # only works for current shell
pkill Fcitx5; /Library/Input\ Methods/Fcitx5.app/Contents/MacOS/Fcitx5When Fcitx5 crashes, it creates a ~10GB core file under /cores.
/usr/bin/lldb -c /cores/core.XXXX
(lldb) btFcitx5 only packages keyboard engine. To install other engines or tables, use the built-in Plugin Manager.
To update .strings files for each supported locale, run
cmake --build build/$(uname -m) --target GenerateStringsThis will, e.g., update assets/zh-Hans/Localizable.strings, and then the translator can work on it.
First, create assets/po/base.pot file:
cmake --build build/$(uname -m) --target potTo add a new language, do
cd assets/po && msginit -l <locale>Then, use a PO file editor to translate strings.
Finally, to merge new strings into PO files, do
cd assets/po && msgmerge -U <locale>.po base.pot- fcitx5: LGPL-2.1-or-later
- fcitx5-android: LGPL-2.1-or-later
- squirrel: GPL-3.0-only
- swift-cmake-examples: Apache-2.0
- SwiftyJSON: MIT
- AlertToast: MIT
- pugixml: MIT
- webview: MIT