Ibus

Bách khoa toàn thư mở Wikipedia
Buớc tưới chuyển hướng Bước tới tìm kiếm
IBus
IBus logo
Ảnh chụp ibus-pinyin
Intelligent Input Bus (IBus)
Thiết kế bởiPeng Huang
Phát triển bởiPeng Huang
Phát hành lần đầutháng 8, 2008; 10 năm trước
Phiên bản ổn định
1.5.12 / 18 tháng 1, 2016; 3 năm trước[1]
Repositorygithub.com/ibus/ibus
Tình trạng phát triểnĐang phát triển
Được viết bằngC, Python
Hệ điều hànhTương tự Unix
Ngôn ngữ có sẵnĐa ngôn ngữ
Thể loạiBộ gõ
Giấy phépGNU LGPL v2 hoặc mới hơn
Trang mạnggithub.com/ibus/ibus

Intelligent Input Bus (IBus, đọc là I-Bus) một nền tảng hỗ trợ các phương thức nhập liệu, hay còn gọi là bộ gõ, cho các hệ điều hành tương tự Unix. Tên "Bus" của nó đến từ kiến trúc tương tự bus của nó.

Mục tiêu[sửa | sửa mã nguồn]

Mục tiêu chính của IBus bao gồm:

  • Cung cấp phương thức nhập liệu đầy đủ và thân thiện với người dùng.
  • Sử dụng giải pháp xác thực để cải thiện an ninh
  • Cung cấp một giao diện và thư viện phổ quát cho các nhàn phát triển.
  • Phù hợp với nhu cầu của người dùng từ các khu vực và phong khác nhau

Động lực[sửa | sửa mã nguồn]

Dự thảo Specification of IM engine Service Provider Interface[2] tài liệu từ Northeast Asia OSS Forum[3] Work Group 3 đề nghị kiến trúc nền tảng bus-centric IM với một bus thêm vào (tương tự như dbus). Theo các đặc điểm kỹ thuật, SCIM-1.4 được xem là không thích hợp thêm,trong khi nó lại được viết bằng c++ thường gây ra các vấn đề chuyển đổi ABI.[4]

Kể từ đó, các dự án thành công như IM-BUS (bởi James Su) và SCIM-2 (bởi Zheng Hu) được khởi động. Tuy nhiên cả hai dự án bị ngừng. Do đó, Huang Peng từ Red Hat thành lập dự án IBus để chứng minh ý tưởng của IM-BUS bằng cách dùng Python, D-BusGLib hơn là thực hiện theo các khuyến cáo của diễn đàn CJK OSS. Mặc dù vậy IBus đã nhận được sự chấp thuận của cộng đồng, và FreeBSD cùng nhiều bản phân phối Linux khác như FedoraUbuntu đã đưa IBus vào kho phần mềm của họ. IBus trở thành bộ gõ mặc định mới trên Fedora 11,[5] và thay thế SCIM trên Ubuntu 9.10.

Kiến trúc[sửa | sửa mã nguồn]

IBus được viết bằng CPython, như vậy tránh được các vấn đề chuyển đổi C++ ABI của SCIM <1.4.14.

IBus cung cấp hầu hết các chức năng của nó thông qua các services. Có ba loại services:

  • Input method engine (IME): Bộ gõ hiện thời
  • Configuration: Xử lý các cấu hình cho IBUS và các dịch vụ khác như IME.
  • Panel: Giao diện người dùng như thanh ngôn ngữ và bảng lựa chọn bộ gõ

IBus dùng D-Bus để liên lạc giữa các ibus-daemon, services, và IM clients chẳng hạn như giả lập thiết bị đầu cuối, trình soạn thảo và các trình duyệt web. ibus-daemon quản lý tất cả clients và services bằng cách nhận đăng ký từ các services, và gửi các tin nhắn qua D-Bus tới các services và IM client.

Nó triển khai các giao thức XIM, và có các modules bộ gõ GTK+Qt.

Tính năng[sửa | sửa mã nguồn]

  • Engine loading/unloading theo yêu cầu.
  • Hỗ trợ Systray.
  • Làm việc với XKB.
  • Áp dụng các thay đổi cấu hình ngay lập tức.[cần dẫn nguồn]
  • Cung cấp các ràng buộc C và Python.

Các plugins và engines bộ gõ có sẵn[sửa | sửa mã nguồn]

  • ibus-anthy: Một plugin cho Anthy, một IME tiếng Nhật.
  • ibus-cangjie: một engine cho bộ gõ Cangjie.
  • ibus-chewing: một Chinese Phonetic IME cho người dùng Zhuyin. Nó dựa trên liTCN hewing.
  • ibus-hangul: Một IME tiếng Triều Tiên.
  • ibus-m17n: Một IMEm 17n cho phép nhập liệu đa ngôn ngữ từ bộ gõ m17n-db.
  • ibus-mozc: Một plugin cho IME tiếng Nhật "mozc" phát triển bởi Google.
  • ibus-pinyin: Một Chinese Phonetic IME cho người dùng Hanyu pinyin. Thiết kế bới Huang Peng (tác giả chính của IBus) và có nhiều tính năng tiên tiến như kiểm tra chính tả tiếng Anh.
  • ibus-libpinyin: Một IME tiếng Hán mới hơn cho người dùng Pinyin. Thiết kế bởi Huang Peng và Peng Wu.
  • ibus-table:
  • ibus-unikey: Một IME cho gõ các ký tự tiếng Việt.

Xem thêm[sửa | sửa mã nguồn]

Chú thích[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]