Все версии RuSwitcher по порядку, новые сверху. Текст взят из релизов на GitHub, там же лежат DMG старых версий.
3.4.0c
бетав стабильную ещё не выходила
Комбо ⌥+⇧ (Option+Shift) - привычный по Windows Alt+Shift - теперь назначается на переключение раскладки, триггер конверсии и смену регистра (Настройки → Основные). По просьбе из discussion #32. Плюс всё из прошлых бет: скрытие иконки меню-бара и фикс знаков на "Русской - ПК" (#33).
Раскладка "Русская - ПК": знаки на клавише /? теперь конвертируются правильно (#33) - "tkrb?" дает "елки," а не "елки?". Обычная Русская не затронута ("привет," цела). Плюс из 3.4.0a: иконку в меню-баре можно полностью скрыть (Настройки → Расширенные) - вернуть можно, просто запустив RuSwitcher еще раз.
Иконку в меню-баре теперь можно полностью скрыть (Настройки → Расширенные) - по запросу пользователя, перешедшего с Punto. Чтобы открыть настройки или вернуть иконку, просто запустите RuSwitcher ещё раз ("Программы" или Spotlight). Все хоткеи и конверсия при скрытой иконке работают как обычно. Также в "Расширенных" появилась кнопка "Завершить RuSwitcher". Беты приходят только подписчикам бета-канала.
Смена регистра по хоткею (как в Punto): отдельный хоткей циклит регистр последнего слова, выделения или всей строки - ВЕРХНИЙ → нижний → Заглавный. По умолчанию выключен (Настройки → Основные).
Иврит теперь конвертируется в RTL-веб-полях (адресная строка Chrome, WhatsApp Web).
Подсказка о защищённом вводе больше не крадёт фокус при вводе пароля; можно отключить в "Расширенных".
Печать быстрее: убраны редкие "фризы", замена слова стала визуально мгновенной.
Смена регистра по хоткею (#29): отдельный хоткей (Настройки → Основные) меняет регистр - ВЕРХНИЙ → нижний → Заглавный по повторным нажатиям, как Alt+Break в Punto. Работает на последнем слове, на выделении И на всей строке (если включено "Convert whole line"). По умолчанию выключен.
Иврит в RTL-веб-полях (#26): конверсия теперь работает там, где каретка визуально слева (адресная строка Chrome, WhatsApp Web).
Подсказка о защищённом вводе больше не крадёт фокус (#27): не мешает вводить пароль; можно отключить в "Расширенных".
Производительность (из 3.2.1): убраны редкие "фризы" при печати, замена слова стала визуально мгновенной.
Смена регистра по хоткею (#29): отдельный хоткей (Настройки → Основные) меняет регистр последнего слова или выделения - ВЕРХНИЙ → нижний → Заглавный по повторным нажатиям, как Alt+Break в Punto. По умолчанию выключен.
Иврит в RTL-веб-полях (#26): конверсия теперь работает там, где каретка визуально слева (адресная строка Chrome, WhatsApp Web) - раньше не срабатывала.
Подсказка о защищённом вводе больше не крадёт фокус (#27): не мешает вводить пароль в терминале; можно отключить в "Расширенных".
Производительность (из 3.2.1): убраны редкие "фризы" при печати, замена слова стала визуально мгновенной.
Бета производительности: устранены редкие фризы при печати (таймауты Accessibility, кэш раскладок и словарей, прогрев спелл-чекера), замена слова визуально мгновенная (паузы перепечатки ~45мс → ~12мс). Спасибо @russelgal за вклад (#25). Если конверсия начала терять буквы в каком-то приложении - напишите, в каком. Беты приходят только подписчикам бета-канала в настройках.
"Convert whole line" now works inside terminals (iTerm2, Terminal.app, Claude Code) via the keystroke buffer - no mouse selection. Plus the 3.2.0 skeptic-review fixes (smart conversion keeps foreign words/brands, clipboard safety, dead-key layouts).
Enable Settings → Advanced → Get beta versions, or download below.
issue #24: the trigger can convert the whole line, not just the last word (Settings → Advanced → "Trigger converts the whole line"). Handy in terminals where selecting by mouse is awkward.
Enable Settings → Advanced → Get beta versions, or download below.
issue #22: words on punctuation keys auto-convert (`krf→ёлка), and smart selection conversion - converting a selection fixes only mis-typed words and keeps correct text (Settings → Advanced).
Enable Settings → Advanced → Get beta versions, or download below.
🧪 Beta for testing / Бета для тестирования - 3.2.0a
⚠️ Pre-release. Enable Settings → Advanced → “Get beta versions” to receive it via the in-app updater, or download the DMG below. ⚠️ Пред-релиз. Включите Настройки → Расширенные → "Получать бета-версии" или скачайте DMG ниже.
EN - what to test:
Third-party keyboard layouts (e.g. Ilya Birman Typography): auto-conversion, the menu-bar flag and the caret flag should now work - the layout’s language is detected from its actual output.
Spotlight conversion - manual and as-you-type auto - no stray leftover letter.
If the trigger ever does nothing, you now get a hint when a password field is holding “Secure Input”.
RU - что проверить:
Сторонние раскладки (напр. Ilya Birman Typography): автопереключение, флаг в меню-баре и флаг у курсора теперь должны работать - язык раскладки определяется по её реальному выводу.
Spotlight - конверсия ручная и автоматическая - без лишней первой буквы.
Если триггер вдруг ничего не делает - теперь есть подсказка, когда защищённый ввод (поле пароля) блокирует конверсию.
🧪 Beta for testing / Бета для тестирования - 3.1.1a
⚠️ Pre-release. Enable Settings → Advanced → “Get beta versions” to receive betas via the in-app updater, or download the DMG below. Not for everyday use. ⚠️ Пред-релиз. Включите Настройки → Расширенные → "Получать бета-версии", чтобы получать беты встроенным апдейтером, или скачайте DMG ниже. Не для повседневного использования.
EN: Completes the #16 Spotlight fix for auto-conversion. The manual trigger was fixed in 3.1.0; here the leftover first letter is gone for as-you-type auto-conversion in Spotlight too (e.g. "еуые" → "test", not "еtest"). Please test in Spotlight (manual and auto) and report anything odd.
RU: Доводит фикс #16 в Spotlight до автоконверсии. Ручной триггер был исправлен в 3.1.0; здесь убрана лишняя первая буква и при автозамене "на лету" в Spotlight (напр. "еуые" → "test", а не "еtest"). Проверьте в Spotlight (ручной и авто) и напишите, если что-то не так.
Исправлена конверсия в Spotlight (#16). При конверсии слова, набранного не в той раскладке, в Spotlight больше не остаётся лишняя первая буква - RuSwitcher читает реальное поле и заменяет чисто.
Короткие частые слова теперь переключаются (#22). Двухбуквенные "Не", "да", "мы" тоже - "Не могу" больше не остаётся наполовину переключённым.
Поделиться RuSwitcher. Новое подменю: Telegram, VK, X, WhatsApp, Facebook, Reddit, почта или копирование ссылки.
Окно "Что нового" после обновления, на языке приложения (16 языков).
Опт-ин бета-канал. Включите "Получать бета-версии" в "Расширенных", чтобы помогать тестировать будущие версии.
Исправления надёжности. Хоткей смены раскладки теперь срабатывает надёжно даже при чуть более твёрдом нажатии (#21); серый пункт настройки хоткея исправлен (#20); плюс накопленные багфиксы 3.0.1 и правки локализации по всем 16 языкам.
RuSwitcher 3.0 - иврит, первая раскладка с письмом справа налево. שלום!
> ⚠️ Поддержка иврита - новая и экспериментальная. Движок тщательно проверен, но пока не обкатан носителями иврита. Если вы печатаете на иврите - попробуйте и сообщите о любых странностях. Сам интерфейс на иврит пока не переведён (RTL-интерфейс - отдельным этапом).
Поддержка ивритской раскладки. Движок конверсии теперь работает с любой парой раскладок, включающей иврит: набрали akuo не в той раскладке? Один тап - и это שלום. В обе стороны, с любой второй раскладкой (английская, русская, немецкая…), потому что конверсия кейкодная - без зашитых таблиц.
RTL сделан безопасно. Вставка текста учитывает направление письма и никогда не переставляет и не сливает огласовки (никуд); слова с прилипшей пунктуацией обрабатываются так же, как в LTR-раскладках.
Авто-конверсия для пар с ивритом - сознательно консервативная. Системный ивритский словарь непригоден для проверки (принимает любой набор букв), поэтому авто срабатывает только при положительном сигнале: вы набрали в иврите, а слово - настоящее слово языка второй раскладки - тогда конвертируем. Обратное направление (в иврит) - ручным триггером: точность важнее полноты, никаких испорченных слов.
🇮🇱 в меню-баре, עב на монохромной плашке, иврит в переключателе раскладок меню - всё на месте.
Новое: отдельный хоткей переключения раскладки. Вторая настраиваемая комбинация, которая просто переключает раскладку - без конверсии. В том числе комбо из одних модификаторов вроде Ctrl+Shift, которые системные настройки macOS назначить не позволяют, и опциональный режим двойного тапа (например, двойной Shift → смена) - чтобы вешать на рабочую клавишу без ложных срабатываний. По умолчанию выключен (Настройки → рядом с триггером конверсии). Спасибо @polpinty и @xumix за запрос (#14).
Исправлено: больше нет системного запроса безопасности при каждом переключении со сторонними раскладками. Раскладки вроде "Ilya Birman Typography" вызывали подтверждение macOS на каждое переключение; RuSwitcher больше не "включает" уже включённую раскладку. Спасибо @iamniketas (#19).
Локализация интерфейса пока остаётся на 16 языках; ивритский (RTL) интерфейс - отдельным этапом.
Под капотом: репозиторий переструктурирован под будущую Windows-версию (macos/ · windows/ · shared/).
Установка / обновление:brew upgrade --cask ruswitcher - или скачайте RuSwitcher-3.0.0.dmg ниже.
Автоконверсия подружилась со знаками препинания, а апдейтер получил большой оверхол надёжности.
Исправлено: слова со знаком препинания теперь авто-конвертируются.ghbdtn, превращается в привет, (и наоборот) - знак остаётся как набран, конвертируется само слово. Работает для , . ! ? ; : ), включая связки вроде ?!. Неоднозначные случаи (когда "знак" может быть последней буквой слова: levf. → "думаю" или "дума."?) сознательно не трогаем - точность важнее; ручной триггер их конвертирует целиком. Спасибо @iizotov за баг-репорт (#15).
Исправлено: по удалённому столу слова с пунктуацией больше не портят текст - авто-конверсия теперь безопасно их пропускает.
Исправлено: обновление из приложения падало с "Проверка загруженного файла не пройдена" со второй попытки. Два давних бага приводили к тому, что прошлая попытка обновления (даже успешная!) ломала следующую - до перезапуска приложения, а то и перезагрузки Mac. Оба устранены.
Понятные ошибки обновления. Вместо одной обобщённой фразы теперь видно, что случилось: битая загрузка (с кнопкой скачать в браузере - выручает за фильтрующими прокси), провал проверки подлинности или ошибка установки.
Усиление апдейтера. Загрузки и образы переехали в приватную временную директорию; резервные ссылки больше не доверяют фиду обновлений.
Флаг в меню-баре теперь мгновенно реагирует на системную смену раскладки.
Установка / обновление:brew upgrade --cask ruswitcher - или скачайте RuSwitcher-2.7.0.dmg ниже.
Примечание: исправления апдейтера действуют начиная с этой версии - если само это обновление упадёт с ошибкой установки, перезапустите RuSwitcher и попробуйте ещё раз (или поставьте DMG ниже).
Исправлено: ⌘A (выделить всё) перед конверсией больше не стирает текст. Теперь выделение конвертируется целиком, а не удаляется с заменой на одно слово. По удалёнке (Screen Sharing) заодно пропала лишняя "ф". Спасибо @nagaina1881-code за баг-репорт и фикс (#13).
Новое: переключение раскладки из меню. В меню строки-раскладки (флаг + имя, галочка на текущей) - клик переключает.
Новое: опциональная монохромная иконка в меню-баре. Системная плашка РУ/EN вместо цветного флага, сама подстраивается под светлую/тёмную тему. По умолчанию выключена (меню → "Монохромная иконка").
Установка / обновление:brew upgrade --cask ruswitcher - или скачайте RuSwitcher-2.6.1.dmg ниже.
Теперь RuSwitcher может показывать флаг текущей раскладки прямо у текстового курсора на пару секунд после переключения - видно, в какой раскладке печатаете, не глядя в меню-бар. Прячется, как только начинаете печатать. Включается в меню или Настройки → Автоконверсия → "Показывать флаг раскладки у курсора" (по умолчанию выключено).
Работает там, где приложение отдаёт позицию курсора через Accessibility - нативные приложения и большинство текстовых полей. Некоторые приложения, рисующие текст сами (например, редактор VS Code), позицию не отдают; там раскладку показывает встроенный индикатор macOS.
🔧 Ещё
Проверка обновлений теперь идёт и периодически, пока приложение открыто (не только при запуске) - управляется настройкой "Автоматически проверять обновления" (включена по умолчанию, можно отключить).
Исправления стабильности и устойчивости.
Требуется macOS 13+. Бесплатно и open-source (MIT).
Теперь RuSwitcher работает через Apple Screen Sharing. Печатаете в сессии удалённого Mac - и неправильная раскладка исправляется прямо там, по триггеру или автоматически, как на локальной машине. Запустите RuSwitcher на обеих машинах и включите Режим удалённого стола (бета, помечен в меню).
⌨️ Свои комбо для триггера
Триггер переключения теперь можно назначить на комбо из двух клавиш, а не только на один модификатор: ⌘+⇧, ⌃+⇧, ⌘+⌥, ⌃+⌥ - удобно, если привыкли к Alt+Shift на Windows. Настройки → Триггер.
🔊 Звук раскладки
Опциональный короткий звук на первой букве после смены раскладки - чтобы слышать, в какой раскладке печатаете. Включается в Настройках.
🚩 Умнее флаг в меню-баре
Флаг обновляется при любой смене раскладки - включая системный хоткей, а не только триггер RuSwitcher - и определяется по языку раскладки, поэтому корректен для любой пары.
🔧 Ещё
Чище установка: и приложение, и DMG полностью подписаны, нотаризованы и застейплены.
Исправления стабильности конверсии и индикатора в меню-баре.
Требуется macOS 13+. Бесплатно и open-source (MIT).
Теперь RuSwitcher умеет исправлять раскладку автоматически по ходу набора - без нажатий. Заканчиваете слово, и - только при уверенности (сверка с системным словарём macOS) - RuSwitcher конвертирует его в правильную раскладку и сам переключает. По умолчанию выключено - включается в Настройках → Автоконверсия.
Триггер конвертации больше не привязан к Option. В Настройки → Основные выбери Option ⌥ (Alt) / Command ⌘ / Control ⌃ / Shift ⇧, можно только правую клавишу и одиночный или двойной тап.
Теперь работает в Atom / VS Code / Electron
Новый движок без буфера обмена: конвертация стирает набранное слово и впечатывает результат напрямую через юникод-вставку - без выделения и copy-paste. Это чинит редакторы, где раньше текст не заменялся, и больше не трогает буфер обмена.
Два новых языка
Добавлены армянский и грузинский - интерфейс теперь на 16 языках.
> Caps Lock как триггер: macOS делает прямой перехват Caps Lock ненадёжным, поэтому > его нет в списке. Чтобы использовать - переназначь Caps Lock → Control в Системных > настройках и выбери триггер Control.
Обновление:brew upgrade --cask ruswitcher (для установок через tap) или скачай DMG.
Исправлено: встроенное "Install & Restart" не работало
Апдейтер заменял приложение прямо с read-only тома DMG, чего macOS не позволяет - любой Install & Restart заканчивался "Ошибкой установки". Теперь приложение сначала копируется во временную папку, а потом подменяется. В окне ошибки показывается реальная причина.
> ⚠️ Сломанный апдейтер был во всех прошлых версиях, поэтому они не обновятся > сами до 2.2.1. Обновитесь один раз вручную: > ``` > brew upgrade --cask ruswitcher > ``` > (или скачайте DMG). Начиная с 2.2.1 встроенное Install & Restart работает.
Клик по "Проверить разрешения", когда всё уже выдано, раньше не делал ничего - выглядело как мёртвая кнопка. Теперь показывается понятное окно-подтверждение. (Окно появляется только при ручном вызове из меню, не при каждом запуске.)
Полная локализация - все 12 языков
Португальский, китайский, японский, корейский и польский были переведены лишь наполовину: флоу обновлений, визард разрешений и часть настроек молча падали на английский. Теперь каждый язык интерфейса локализован на 100%.
Homebrew
В cask добавлены livecheck и auto_updates. Обновление как обычно:
Важно: в прошлом DMG 2.1.0 по ошибке лежало приложение 2.0.3 (без ключевой функции - запоминания раскладки по приложению). В 2.1.1 исправлен пайплайн сборки, чтобы DMG всегда соответствовал заявленной версии, и собран настоящий билд 2.1.1. Homebrew и встроенное обновление подхватят его автоматически.
Безопасность и приватность
Авто-обновление теперь проверяет подпись: скачанное приложение проверяется на валидную подпись Developer ID (пиннинг Team ID) и совпадение bundle id/версии перед заменой. Проверка sha256 стала обязательной.
Отладочный лог больше не сохраняет набираемый текст - только длины.
Буфер обмена надёжно восстанавливается при сбое и при выходе.
Надёжность
Пайплайн сборки пересобирает и жёстко сверяет версию перед упаковкой и сам вписывает sha256 в манифест и Homebrew-cask.
Логирование нажатий убрано с горячего пути.
Тумблер "Auto-switch" теперь действительно включает/выключает конвертацию.
Запоминание раскладки по приложениям - RuSwitcher теперь запоминает, какая раскладка была активна в каждом приложении. При переключении обратно раскладка восстанавливается автоматически. Включается в Настройки → Основные → "Запоминать раскладку для каждого приложения".
Установка и перезапуск - В диалоге обновления появилась кнопка "Установить и перезапустить". Один клик: скачивает новую версию, проверяет целостность (sha256), заменяет приложение и перезапускает - без ручного монтирования DMG.
Исправление: граница слова - Исправлен баг, при котором конвертация по Alt захватывала символы из предыдущего слова через пробел, выдавая искажённый текст. Структурные клавиши (пробел, Enter, стрелки, Backspace) теперь всегда отслеживаются независимо от состояния модификаторов.
Selection conversion no longer re-selects the result. Previously, after converting selected text, the converted result remained highlighted - so the very next keystroke would overwrite it. Now the cursor lands at the end of the converted text, ready for normal typing.
Clipboard contents are fully preserved across conversion. Previously only the .string representation was saved, so images, files, RTF, and other data types were lost. The conversion now snapshots every NSPasteboardItem with all its types and restores them after it's done.
Version display in the app now matches the release. The About tab was showing 2.0.0 even on the 2.0.1 Homebrew cask (reported in #1). CFBundleShortVersionString is now synchronized with version.json, create_dmg.sh, and the Homebrew cask.
DMG is now properly notarized and stapled by Apple. Previous 2.0.1 builds were signed but not notarized, which caused Gatekeeper to block them with "Apple could not verify that [app] is free of malware". The build pipeline now runs notarytool submit + stapler staple on every DMG.
Install
Homebrew:brew upgrade --cask ruswitcher
Direct: download RuSwitcher-2.0.2.dmg below, open and drag to Applications.
Thanks to @nickgarkusha and @innokenty for reporting and fixing the version mismatch.
Что исправлено
Конвертация выделенного текста больше не пере-выделяет результат. Раньше после конверсии выделенный текст оставался выделенным, и следующий же символ затирал результат. Теперь курсор оказывается в конце вставленного текста - можно сразу продолжать набор.
Буфер обмена полностью сохраняется при конвертации. Раньше сохранялось только текстовое представление (.string), поэтому картинки, файлы, RTF и другие типы данных терялись. Теперь конвертация снимает snapshot всех NSPasteboardItem со всеми типами и восстанавливает их после завершения.
Версия в приложении совпадает с версией релиза. В About-вкладке показывалось 2.0.0 даже у Homebrew-каста 2.0.1 (см. #1). CFBundleShortVersionString синхронизирован с version.json, create_dmg.sh и Homebrew-формулой.
DMG теперь корректно нотаризован и застаплен Apple. Прежние сборки 2.0.1 были только подписаны, но не нотаризованы - Gatekeeper блокировал их с сообщением "Apple не удалось подтвердить отсутствие вредоносного ПО". Пайплайн сборки теперь автоматически прогоняет notarytool submit + stapler staple на каждый DMG.
Установка
Homebrew:brew upgrade --cask ruswitcher
Прямая загрузка:RuSwitcher-2.0.2.dmg ниже - откройте и перетащите в "Программы".
Спасибо @nickgarkusha и @innokenty за репорт и фикс несоответствия версии.
Конвертация раскладки - нажмите ⌥ Alt для конвертации последнего слова или выделенного текста Layout conversion - tap Alt to convert last word or selected text
Любая пара раскладок - русская, украинская, белорусская, немецкая и любая другая Any two layouts - Russian, Ukrainian, Belarusian, German, or any other pair
Повторный Alt - обратная конвертация Double Alt - reverse conversion
12 языков интерфейса / 12 interface languages
Автозапуск при входе / Auto-start at login
Проверка обновлений / Update checker
~500KB, чистый Swift 6 / pure Swift 6, no dependencies
Без телеметрии / No telemetry
Установка / Installation
Скачайте RuSwitcher-2.0.1.dmg ниже / Download below
Откройте DMG и перетащите в Программы / Drag to Applications
Запустите - программа запросит разрешения / Launch - app requests permissions
macOS 13+ | Apple Silicon + Intel | Signed and Notarized by Apple