Лучший текстовый экспандер для нелатинских алфавитов (арабский, кириллица, иврит, CJK)

Краткий ответ: большинство текстовых экспандеров строятся вокруг латинских клавиатур и молча ничего не делают, когда вы переключаетесь на арабский, русский, иврит, японский или хинди. Lightning Assist — нативный десктопный текстовый экспандер (Windows, macOS, Linux), который читает нажатия через раскладку, активную в вашей операционной системе. На клавиатурах, которые печатают буквы напрямую (арабский, персидский, иврит, кириллица и греческий), сниппеты разворачиваются прямо по мере набора (inline). На клавиатурах, где текст составляется через метод ввода или где приложение не может прочитать клавиши по одной (китайский, японский, корейский, тайский, вьетнамский, хинди и другие индийские письменности), используется режим «Горячая клавиша»: вы печатаете сокращение, а затем нажимаете клавишу, например F1. Новый аккаунт начинается со сниппета-приветствия на своём языке, который начинается с символа, печатаемого на его клавиатуре без Shift.
В статье разбирается, что происходит с каждой группой письменностей и как должен вести себя правильный нелатинский текстовый экспандер.
Почему нелатинские клавиатуры ломают многие текстовые экспандеры
Многие экспандеры, которые срабатывают по мере набора, устроены одинаково: они следят за вашими нажатиями в поисках символа-префикса (обычно ; или /), который сообщает: «дальше идёт сокращение сниппета, а не обычный текст». Когда инструмент видит префикс и за ним известное сокращение, он стирает набранное и вставляет полный текст.
Проблема в том, что префикс обычно выбирают для латинской клавиатуры, где ; находится на отдельной клавише. На многих нелатинских клавиатурах та же физическая клавиша печатает букву. А китайский, японский и корейский текст составляется через редактор метода ввода (IME), который стоит между клавиатурой и приложением, поэтому чтение «сырых» нажатий ненадёжно, какой бы префикс ни выбрал инструмент.
В итоге сообщения об ошибке почти не бывает. Экспандер просто ничего не делает, каждый раз, на клавиатуре, для которой он не создавался. Пользователи думают, что что-то неправильно настроили, и часами сидят в настройках, хотя настоящая причина в устройстве триггера, которое подходит только одному виду клавиатур.
Как к этому подходит Lightning Assist
Всё решают две вещи:
- Префикс принадлежит сниппету, а не приложению. У каждого сниппета есть сокращение и необязательное поле Префикс (только символы). Можно использовать
;,=, другой символ или обойтись без него, для каждого сниппета отдельно. Если вы выберете символ, который ваша текущая клавиатура не печатает напрямую, редактор сниппетов предупредит вас до сохранения. - Стартовый сниппет подходит вашей клавиатуре. Новый аккаунт получает сниппет-приветствие на языке системы, начинающийся с символа, который обычная клавиатура этого языка печатает без Shift. При первом открытии экрана «Активация» приложение сверяет этот символ с вашей реальной клавиатурой и при необходимости заменяет его.
Режим активации — одна настройка на аккаунт, она находится на экране Активация: Inline (по умолчанию) или Горячая клавиша. Если этот экран видит клавиатуру, на которой Inline работать не может, он помечает Inline как недоступный и переключает вас на «Горячую клавишу».
Письменность за письменностью
Арабский и персидский: Inline, с =
На арабских раскладках клавиша, на которой у английской клавиатуры ;, печатает букву ك (каф), а арабская точка с запятой ؛ требует Shift. Инструмент, который ждёт ;, не срабатывает никогда. Но арабский — письменность прямого ввода: напечатанное попадает прямо в текстовое поле, без этапа составления, поэтому Lightning Assist читает его как любую латинскую клавиатуру и разворачивает сниппеты inline.
Арабская и персидская раскладки печатают = без Shift, а = никогда не встречается внутри слова, поэтому новые аккаунты начинают с =مرحبا (арабский) или =سلام (персидский). Полное руководство: текстовый экспандер для арабского.
Иврит: Inline, с ;
Ивритские клавиатуры тоже работают с прямым вводом, а ; находится на основном слое ивритской раскладки, поэтому ивритские аккаунты начинают с ;שלום. Пишите сокращения на иврите и печатайте их на ивритской клавиатуре.
Кириллица (русский, украинский, болгарский…): Inline, с = или ;
Кириллица — прямой ввод, и сниппеты разворачиваются inline. Отличается пунктуация: на русской и украинской раскладках ЙЦУКЕН для ;, , и / нужен Shift, а для = нет. Поэтому русские аккаунты начинают с =привет, украинские с =привит, белорусские с =прывітанне. На болгарских раскладках ; находится на основном слое, поэтому болгарские аккаунты начинают с ;здравей. Полное руководство: текстовый экспандер для русской клавиатуры и кириллицы.
Греческий: Inline, с =
Греческий тоже печатается напрямую. ; там неудачный выбор: на греческой раскладке клавиша, на которой у английской клавиатуры ;, — это клавиша ударения (тонос), а ; к тому же греческий вопросительный знак. Поэтому для греческого используется =, и новые аккаунты начинают с =γεια. Греческие аккаунты, созданные до версии 2.6.6 приложения, начинали в режиме «Горячая клавиша»; они могут перейти на Inline на экране «Активация».
Китайский, японский и корейский: режим «Горячая клавиша»
Японский, корейский и китайский ввод проходит через редактор метода ввода (IME). Вы набираете фонетические знаки (ромадзи, пиньинь или чамо), IME показывает варианты, и вы выбираете один из них, прежде чем готовый текст дойдёт до приложения. Пока текст лежит в буфере составления IME, приложение его ещё не получило, поэтому экспандер, который следит за нажатиями, не может надёжно понять, что вы печатаете.
Поэтому для этих клавиатур Lightning Assist использует режим «Горячая клавиша»: вы печатаете сокращение, через IME или прямым вводом, затем нажимаете горячую клавишу, и готовый текст заменяется сниппетом. Стартовые сниппеты: 你好, こんにちは и 안녕, без префикса. Подробнее в руководстве по китайскому, японскому и корейскому.
Тайский, вьетнамский, хинди и другие индийские письменности: режим «Горячая клавиша»
На тайской, вьетнамской (Telex, VNI), хинди и других индийских клавиатурах, а также на грузинской, армянской, кхмерской, лаосской и мьянманской приложение не может надёжно прочитать, что вы печатаете, клавишу за клавишей: либо текст составляется методом ввода, либо клавиши не соответствуют один к одному появляющимся буквам. Для этих клавиатур используется режим «Горячая клавиша»: вы печатаете сокращение, нажимаете горячую клавишу, и расширение заменяет набранное. Стартовые сниппеты, например สวัสดี или नमस्ते, без префикса.
Inline и «Горячая клавиша»: справочная таблица
| Письменность / клавиатура | Режим | Стартовый сниппет |
|---|---|---|
| Латиница (QWERTY, QWERTZ, AZERTY и др.) | Inline | ;hello (или приветствие на вашем языке) |
| Арабский | Inline | =مرحبا |
| Персидский | Inline | =سلام |
| Иврит | Inline | ;שלום |
| Русский | Inline | =привет |
| Украинский | Inline | =привит |
| Болгарский | Inline | ;здравей |
| Греческий | Inline | =γεια |
| Японский | Горячая клавиша | こんにちは |
| Корейский | Горячая клавиша | 안녕 |
| Китайский (упрощённый/традиционный) | Горячая клавиша | 你好 |
| Вьетнамский | Горячая клавиша | — |
| Тайский | Горячая клавиша | สวัสดี |
| Хинди / индийские | Горячая клавиша | नमस्ते |
Всегда актуальная версия этой таблицы находится на странице поддерживаемых языков и клавиатур.
Что такое режим «Горячая клавиша» и как он работает
Режим «Горячая клавиша» разворачивает сниппет по нажатию клавиши, а не следит за набором:
- Вы печатаете сокращение сниппета как обычно, через IME или клавиатуру, без префикса.
- Нажимаете горячую клавишу. Её вы выбираете из списка в приложении: функциональные клавиши вроде F1 или сочетания с Alt или Ctrl.
- Lightning Assist заменяет сокращение сниппетом прямо у курсора.
Преимущество: режим «Горячая клавиша» читает готовый текст, а не перехватывает клавиши посреди составления, поэтому он не мешает IME.
Компромисс: расширение не происходит автоматически. Вы печатаете сокращение, а затем нажимаете клавишу. На клавиатурах, где работает Inline (латиница, арабский, иврит, кириллица, греческий), Inline быстрее для сниппетов, которыми вы пользуетесь весь день. В Linux под Wayland отдельную клавишу вроде F1 нельзя зарезервировать на уровне системы, поэтому там выберите сочетание с Ctrl.
Работает в любом приложении, а не только в браузерах
Lightning Assist — нативное десктопное приложение. Оно работает в:
- почтовых клиентах (Outlook, Gmail в браузере, Apple Mail, Thunderbird)
- веб-браузерах (Chrome, Firefox, Safari, Edge)
- офисных пакетах (Word, Google Docs, LibreOffice)
- чатах и мессенджерах (Slack, Teams, WhatsApp Web)
- редакторах кода (VS Code, IDE JetBrains)
- других десктопных приложениях с текстовым полем
Расширения браузера ограничены самим браузером. Именно десктопное приложение позволяет inline-расширению на уровне нажатий работать для письменностей прямого ввода вроде арабского, иврита, кириллицы и греческого, а режиму «Горячая клавиша» — для всех остальных клавиатур, в любом приложении.
Сравнение с другими инструментами
TextExpander предлагает приложения для Mac и Windows и расширение для Chrome; на его странице загрузки приложения для Linux нет.
Espanso бесплатен и кроссплатформенен (Windows, macOS, Linux). Его сниппеты («matches») хранятся в YAML-файлах, которые вы правите в текстовом редакторе; встроенного визуального редактора нет. Чтобы работать с нелатинским триггером, нужно правильно вписать эти символы в файл конфигурации. Сильный вариант для тех, кто привык к файлам конфигурации, и высокий барьер для всех остальных.
Lightning Assist даёт каждой письменности отправную точку, подходящую её клавиатуре (символ, который можно напечатать, или режим «Горячая клавиша» там, где inline не работает), и позволяет менять префикс для каждого сниппета в визуальном редакторе.
Как начать работать со сниппетами на нелатинских языках
Шаг 1 — скачайте Lightning Assist. Попробуйте бесплатно 14 дней, банковская карта не нужна. Доступно для Windows, macOS и Linux.
Шаг 2 — попробуйте стартовый сниппет. В вашей библиотеке уже есть сниппет-приветствие на языке системы. Напечатайте его на своей клавиатуре и посмотрите, как он развернётся (или, в режиме «Горячая клавиша», напечатайте и нажмите горячую клавишу).
Шаг 3 — загляните на экран «Активация». Там указано Inline или Горячая клавиша. На клавиатурах, где Inline работать не может, он помечен как недоступный, и используется «Горячая клавиша».
Шаг 4 — создайте сниппеты на своём языке. И сокращения, и текст сниппетов принимают любой Unicode-текст. В режиме Inline задайте каждому сниппету префикс, который ваша клавиатура печатает напрямую, или обойдитесь без него. В режиме «Горячая клавиша» выбирайте сокращение, которое вам удобно печатать или составлять через IME.
Шаг 5 — пользуйтесь везде. Печатайте в почтовом клиенте, браузере или любом другом приложении. Расширение работает в том приложении, которое сейчас в фокусе.
Цены
В бесплатный тариф Lightning Assist входят до 20 сниппетов, папки и одна команда, расширение без ограничений. Pro стоит $5.99/месяц: безлимитная библиотека, подсказки при наборе, Lightning Recall и до 15 команд. Есть 14-дневный бесплатный пробный период без банковской карты. Промокод LIFETIME50 даёт $2.99/месяц. Все подробности на странице тарифов.
Функции ИИ (AI Chat, AI Commands, AI Enhance) работают на любом тарифе и расходуют кредиты ИИ; голосовой ввод push-to-talk (AI Speech) расходует речевые кредиты. В Pro включено по 1000 тех и других каждый месяц, а на бесплатном тарифе кредиты покупают по мере необходимости.
Часто задаваемые вопросы
Какие нелатинские клавиатуры поддерживают inline-расширение (по мере набора)?
Арабская, персидская, ивритская, кириллическая (русская, украинская, болгарская и другие) и греческая: они печатаются напрямую, поэтому сниппеты разворачиваются при наборе. Китайский, японский и корейский (через IME), тайский, вьетнамский, хинди и другие индийские письменности используют режим «Горячая клавиша».
Почему некоторые стартовые сниппеты начинаются с =, а не с ;?
Потому что на этих клавиатурах для ; нужен Shift или его там вообще нет. На русской и украинской раскладках ; — это Shift+4; на арабской клавиша ; печатает ك; на греческой это клавиша ударения. = на всех них печатается без Shift. Префикс необязателен и задаётся для каждого сниппета, так что вы можете его изменить.
Я печатаю и по-арабски, и по-английски. Нужны ли отдельные библиотеки сниппетов?
Нет. Одна библиотека работает на всех раскладках. У каждого сниппета свой префикс и своё сокращение, поэтому =شكر и ;sig могут лежать рядом, и каждый срабатывает, когда вы печатаете его точные символы.
Можно ли использовать японские или китайские сниппеты?
Да, через режим «Горячая клавиша». Напечатайте сокращение, нажмите горячую клавишу, и Lightning Assist заменит его сниппетом. Текст сниппета может быть любым Unicode-текстом, в том числе японским, китайским или корейским.
Отправляет ли Lightning Assist мои нажатия куда-либо, чтобы определить клавиатуру?
Нет. Приложение спрашивает у вашей операционной системы, какая раскладка активна, прямо на вашем устройстве. Ваши нажатия сопоставляются локально и никогда не отправляются на сервер.
Что будет, если я переключу раскладку во время работы?
Lightning Assist читает ваши нажатия через ту раскладку, которая активна, поэтому каждый сниппет срабатывает, когда вы печатаете его точные символы, на любой раскладке. Сам режим (Inline или «Горячая клавиша») туда-сюда не переключается: это одна настройка аккаунта. Если экран «Активация» видит клавиатуру, на которой Inline работать не может, он переключает аккаунт на «Горячую клавишу», а вернуть Inline вы можете сами.
Есть ли версия для Linux?
Да. Lightning Assist работает нативно на Windows, macOS и Linux. На странице загрузки TextExpander приложения для Linux нет.
Источники
- Символ Unicode U+061B — арабская точка с запятой — справочник Unicode
- Русская раскладка клавиатуры — ЙЦУКЕН — справочник по раскладке
- Арабская раскладка (101) — справочник по раскладке
- Редактор метода ввода — документация Microsoft — устройство IME
- Загрузки TextExpander — доступные платформы
- Espanso — начало работы — как настраиваются matches
- Цены Lightning Assist — официальные сведения о тарифах