Input method (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Input method. Дата последней синхронизации: 28 сентября 2024. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Метод ввода

Совет: В данном разделе присутствуют китайские и японские символы; если они у вас не отображаются, то вам нужно установить подходящие шрифты. Список некоторых доступных шрифтов приведён в разделе Fonts#Chinese, Japanese, Korean, Vietnamese.
Примечание: Для простоты в следующих примерах упоминается только клавиатура, но вообще редакторы метода ввода умеют работать с разными источниками ввода, позволяя, например, рисовать символы от руки с помощью мыши или графического планшета.

Из Википедии:

IME, также Реда́ктор ме́тода вво́да, — компьютерная программа (утилита) или компонент операционной системы, предоставляющий возможность пользователям генерировать символы, отсутствующие на клавиатуре, при помощи сочетаний клавиш, электронных словарей и пользовательских настроек. Использование метода ввода обычно необходимо для языков общения, в которых количество графем больше, чем количество клавиш на клавиатуре, например, для ввода китайских или японских иероглифов.

Проще говоря, IME — это программа, которая позволяет вводить нелатинские символы с помощью латинских символов.

Некоторые IME делают это с помощью процесса, называемого романизацией или латинизацией, который представляет собой транслитерацию звуков нелатинского языка в наиболее близкие латинские эквиваленты. Например, японское слово саке, также пишется как さけ, а латинизируется как «sake». Редактор метода ввода выступает в качестве посредника между клавиатурой и полями ввода: когда пользователь вводит «sake», IME перехватывает ввод клавиатуры, заменяет «sake» на или さけ (по выбору пользователя) и вводит в поле ввода японские символы вместо нажатых пользователем клавиш.

Существуют также IME, которые не используют романизацию. Одна из самых известных, Цанцзе (Cangjie), делает это путём разложения китайских иероглифов на ключи (радикалы), сопоставления этих ключей со вторым набором своих собственных внутренних ключей и, наконец, сопоставления этих внутренних ключей с латинскими символами. В качестве примера рассмотрим китайское слово «вино» , которое состоит из ключей , , , и . Цанцзе сопоставляет их с внутренними ключами , , , и , а затем сопоставляет их с латинскими символами emcw; таким образом, когда пользователь вводит «emcw», Цанцзе перехватывает ввод с клавиатуры, заменяет «emcw» на и передаёт его в поле ввода.

Система ввода

Большинство редакторов метода ввода являются частью системы ввода (input method framework, IMF) — приложения, которое позволяет пользователю легко переключаться между разными методами ввода. Фактически, это то самое приложение, которое многие из нас неосознанно используют каждый день для переключения между обычными раскладками клавиатуры (например, английской и русской).

Наиболее распространённой системой ввода является IBus (часто используется в средах на базе GTK, таких как GNOME), за ним следуют Fcitx5 (в основном используется в средах на базе Qt, таких как KDE), Scim, Fcitx и Uim. К очень редким относятся Gcin, Nimf и Hime. [1] Кроме того, Emacs — очень популярный текстовый редактор, который имеет свою внутреннюю систему ввода.

Смотрите также Wikipedia:List of input methods for Unix platforms.

Примечание: Разработка SCIM неактивна, поэтому он не рекомендуется к использованию.

Список доступных редакторов метода ввода

В следующей таблице показаны IME для различных языков, доступные в настоящее время в репозиториях Arch и AUR.

Примечание: В некоторых случаях для одного и того же IME существует несколько пакетов. Хорошим примером этого является Mozc: так как он является самым популярным японским IME, множество разных сопроводителей пытались создать «идеальный» пакет Mozc в течение многих лет. В таблице ниже для каждой системы ввода указано по одному пакету Mozc, но это не означает, что это единственные доступные для использования пакеты Mozc.
Важно: Не все методы или системы ввода активно поддерживаются; например, Anthy больше не поддерживается, и обычно предпочтение отдаётся mozc. Некоторые методы ввода не очень популярны и не получают особой поддержки. Более подробную информацию можно найти на странице соответствующего языка (смотрите статью Localization).
Fcitx5 Fcitx IBus Uim Emacs Scim Hime Gcin Nimf
Китайский
Rime fcitx5-rime fcitx-rime ibus-rime встроен
Pinyin fcitx5-chinese-addons встроен ibus-pinyinAUR scim-pinyinAUR встроен
Zhuyin fcitx5-chewing fcitx-chewing ibus-chewing scim-chewing встроен
Cangjie
Sucheng
SmartCangjie
fcitx5-table-extra fcitx-table-extra ibus-table-chinese scim-tablesAUR
Wubi встроен встроен ibus-table встроен scim-tablesAUR
Libpinyin fcitx-libpinyin ibus-libpinyin
SunPinyin fcitx-sunpinyin ibus-sunpinyin
Японский
Mozc fcitx5-mozc-utAUR fcitx-mozc-utAUR ibus-mozcAUR emacs-mozcAUR
Anthy fcitx5-anthy fcitx-anthy ibus-anthy встроен scim-anthyAUR встроен встроен встроен
SKK fcitx5-skk fcitx-skk ibus-skk встроен
KKC fcitx5-kkc fcitx-kkc ibus-kkc
Корейский
Libhangul fcitx5-hangul fcitx-hangul ibus-hangul встроен scim-hangulAUR встроен
Вьетнамский
UniKey fcitx5-unikey fcitx-unikey ibus-unikey
Bamboo fcitx5-bamboo ibus-bambooAUR
Индийские языки
Avro (Bangla) ibus-avro-gitAUR
Helakuru (Sinhala) ibus-helakuruAUR
m17n fcitx5-m17n fcitx-m17n ibus-m17nAUR scim-m17nAUR
OpenBangla Keyboard (Bangla) fcitx5-openbangla-gitAUR openbangla-keyboardAUR
Sayura (Sinhala) fcitx5-sayura fcitx-sayura
Varnam govarnam-ibus-gitAUR

Настройка

Чтобы среда рабочего стола правильно зарегистрировала установленную систему ввода как доступную и назначила её для обработки пользовательского ввода, необходимо соответствующим образом настроить некоторые переменные окружения.

Примечание: Если эти переменные не заданы, GTK и Qt попытаются считать настройки локали, чтобы определить, какой IMF им следует использовать, но этот процесс основан на догадках и может приводить к ошибкам. Для корректной работы системы стоит всегда явно указывать эти переменные.
Совет: Если по каким-то причинам вы хотите полностью запретить своей среде рабочего стола обрабатывать ввод через IMF (в GNOME это делать не рекомендуется из-за тесной интеграции с IBus), то вы можете либо не устанавливать эти переменные, либо, в случае GTK и Qt, указать GTK_IM_MODULE=gtk-im-context-simple и QT_IM_MODULE=simple.

Fcitx5

Смотрите Fcitx5#Integration.

Fcitx

Смотрите статью Fcitx для более подробной информации.

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

IBus

Смотрите статью IBus для более подробной информации.

GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus

Uim

Смотрите статью Uim для более подробной информации.

GTK_IM_MODULE=uim
QT_IM_MODULE=uim
XMODIFIERS=@im=uim

Emacs

Как сказано в Fcitx wiki: «В Emacs есть историческая ошибка, которая заключается в том, что при использовании локали en_US.UTF-8 или аналогичной он никогда не будет использовать XIM (хотя emacs является gtk-приложением, он использует XIM). Единственный способ обойти это — использовать LC_CTYPE, чтобы исправить ситуацию.».

Scim

Смотрите статью Scim для более подробной информации.

GTK_IM_MODULE=scim
QT_IM_MODULE=scim
XMODIFIERS=@im=scim

Xim

GTK_IM_MODULE=xim
QT_IM_MODULE=xim

Смотрите также