Як і чому я створив Type Switch — застосунок для зручного перемикання мов на macOS

💡 Усі статті, обговорення, новини про продукти — в одному місці. Приєднуйтесь до Product спільноти!

Привіт! Мене звати Максим, моя професійна кар’єра тривалий час була пов’язана з UX/UI дизайном, але останні пів року я вирішив повністю зосередитись на створенні власних застосунків на Swift. Однією з таких розробок став Type Switch — зручний інструмент для перемикання мов у macOS.

Чому Type Switch

Ідея створити Type Switch виникла з моєї власної потреби. Як багатомовний користувач я постійно перемикаюся між кількома мовами, зокрема, між англійською та українською. Це завжди виглядало як гра на піаніно, де нотами були налаштування мови, а результат звучав як какофонія з латиниці, кирилиці та випадкових символів.

Більше того, навіть бажання послухати музику на стримінговому сервісі змушувало мене весь час переключати мову залежно від назви гурту. Наприклад, коли шукав Sigur Ros, забував змінити мову на англійську і українською виходило на кшталт «Ішпгк Кщі». І це ще непогано виглядає. А музику я люблю слухати — і роблю це досить часто, особливо під час роботи, тож такі ситуації траплялися не раз протягом години.

Головна проблема, яку я сформулював для себе, полягала в наступному:

  • По-перше, ти не бачиш поточну мову, якою пишеш. Уявіть ситуацію: ти відповідаєш на серйозне робоче повідомлення англійською, але замість «Yes, I agree» виходить «Нус, Ф щгуру». Можна, звісно, пояснити, що це новий скандинавський діалект, але хто в це повірить?
  • По-друге, стандартними можливостями macOS перемикати мову незручно, особливо коли їх не дві, а три чи чотири й більше. Це як спроба швидко знайти потрібну передачу в машині, коли всі ручки на коробці перемикання схожі, а ти за кермом сидиш уперше. Щось натискаєш, щось кудись їде, але точно не туди, куди планував.
  • По-третє, цей процес забирає багато зайвого часу та знижує сфокусованість на роботі чи інших завданнях. Іноді здавалось, що хаотичне натискання клавіш для зміни мов стало моєю другою роботою.

Таким чином я вирішив створити інструмент, який дозволить раз і назавжди вирішити цю «мовну плутанину».

Бо, як казав один мій знайомий:

Коли ти багатомовний, кожна мова — як додаткова валіза у життєвій подорожі. І все б нічого, якби тобі не треба було перемикати їх на MacBook

Як все почалося

Почалося, як завжди, з дослідження наявних рішень для зручної зміни мови в macOS. Я ретельно вивчав, як працюють існуючі додатки, аналізував їхні недоліки та можливості для вдосконалення.

Спочатку я хотів просто вдосконалити алгоритми автоматичного перемикання мови після початку вводу, як це робить, наприклад, застосунок Lang Switcher та подібні до нього. Вони здавалися зручними, але на практиці це викликало більше нервів, ніж радості та користі. Наприклад, застосунок міг несподівано змінити мову, перетворивши професійний лист у випадковий набір символів, що більше нагадував шифр шпигуна, ніж текст.

Особливо це дошкуляло, коли намагався написати щось термінове, наприклад, звіт для роботи. Кожна автоматична зміна мови була схожа на гру «вгадай, яку клавішу я натиснув», і щоразу я програвав. Тому на певному етапі дослідження зрозумів, що автоматичне перемикання все одно не вирішить проблему швидкого вводу тексту і відповідно швидкої зміни мови під час його набору.

Проаналізувавши ринок і зробивши відповідні висновки, я розпочав проєктування додатка у Figma. Завдяки моєму багаторічному досвіду роботи UX/UI дизайнером у різних компаніях цей етап пройшов швидко та без ускладнень. І, звісно ж, першим кроком стало створення логотипу :) Професійна деформація давалась в знаки.

Як казав мій колега:

Логотип — це як шапка на лисій голові: від холоду не врятує, але виглядаєш загадково


Розробка (тут вже без жартів)

Отже, врахувавши все зазначене, я вирішив, що це має бути саме ручне перемикання, тому що тільки воно забезпечує коректну, швидку та однозначну зміну мови.

Щодо того, як це мало б виглядати та функціонувати, я прийшов до наступного:

  • це має бути панель або кнопка (далі — кнопка), яка має показувати поточну мову;
  • її розмір, колір та прозорість можна змінювати для комфорту використання;
  • мову можна буде перемикати або натисканням на саме цю кнопку, або гарячою клавішею;
  • і найголовніше, вона має бути завжди поверх всіх вікон, що відкриті у користувача на екрані монітору.

Згодом, вже під час фінальної стадії написання коду, я подумав: було б зручно чути мову, на яку ти переходиш. Це дало б можливість взагалі не дивитись на кнопку і поточну мову, яку вона відображає, а орієнтуватись лише на голосові підказки.

Перші тестові версії програми були дуже мінімалістичними, але водночас базовими — щоб почати перевірку концепції. Основним елементом була кнопка, яка завжди залишається під рукою. Цей механізм працював максимально просто: натискання кнопки або використання гарячої клавіші миттєво змінювало мову. Одним із перших важливих удосконалень стало додавання гарячої клавіші, яка дозволила перемикати мову без потреби користуватися мишею. Це помітно покращило зручність і швидкість роботи.

Ще однією важливою функцією стало додавання звукових і голосових сповіщень, які повідомляють про зміну мови. Це виявилося корисним не лише для зручності, а й для людей із вадами зору, що зробило застосунок більш доступним і інклюзивним.

Відгуки від тестувальників, яким я надав ранній доступ, також відіграли значну роль у розробці Type Switch, принаймні у вигляді версії 1.0. Після першого релізу в закритому тестуванні я отримав кілька побажань і коментарів, що допомогло удосконалити програму та зробити її ще кориснішою для користувачів. Зокрема, не всіх тестувальників влаштувало, що озвучування мови під час перемикання не можна повністю вимкнути або відрегулювати його гучність. Я додав таку можливість. Також були враховані інші невеликі зауваження й внесені відповідні правки для покращення роботи програми.

Погляд зі сторони та реальний досвід користувачів — це завжди дуже корисна вправа, яка наводить фокус та виявляє проблеми твого продукту з різних сторін. Особливо коли ти працюєш над ним самостійно.

Як казав мій колишній CEO:

Критика — це як дощ: спочатку дратує, але потім розумієш, що без нього ніяк

Виклики під час розробки

Як і в будь-якому проєкті, принаймні з мого невеликого досвіду у цій сфері, розробка Type Switch не обійшлася без труднощів: Кілька безсонних ночей та майже повне переписування коду застосунку з початку відверто натякали про це. Щоправда, на такі натяки я тільки зітхав і варив ще одну каву.

Оскільки до цього я розробляв лише кілька проєктів для iOS та iWatch, розробка повноцінного застосунку під macOS була для мене викликом. Починаючи з того, що спочатку сама кнопка візуально виглядала смішно. Вона змінювала свій колір після кожного натискання, немов дискотечна куля на корпоративі 90-х, але це було швидко виправлено.

І закінчуючи найскладнішим для мене — зробити так, щоб кнопка за замовчуванням завжди була поверх всіх вікон. Тільки за цієї умови вона мала сенс. Також я не був певен, чи зможу реалізувати цю ідею на рівні коду, чи не порушує це догми ієрархії безпосередньо macOS, і чи дозволить мені взагалі App Store опублікувати такий застосунок.

Проте, як я вже писав, кілька безсонних ночей, а також запити до ком’юніті stackoverflow та Claude 3.5 Sonnet вирішили це питання.

Іншим важливим моментом була адаптація інтерфейсу. Моя мета полягала в тому, щоб Type Switch виглядав так, ніби він є частиною стандартного інтерфейсу macOS. Я прагнув створити дизайн, який би відповідав сучасним стандартам Apple і залишався інтуїтивно зрозумілим для користувачів.

Бо інтерфейс — це як добре налаштований годинник: ти ним користуєшся, не замислюючись, і тільки збій змушує згадати про існування механізму.

Публічний реліз і майбутнє

Перший публічний реліз Type Switch відбувся через кілька місяців після старту розробки. Загалом, він отримав позитивні відгуки та оцінки на Product Hunt й інших подібних ресурсах. Та знайшов свою аудиторію серед багатомовних користувачів.

Проєкт сподобався не лише тим, хто працює з текстами кількома мовами, а й тим, хто займається програмуванням, адже швидкість та зручність перемикання мови є важливою частиною їхньої роботи. Тож і розробники нарешті знайшли шорткат до власного спокою.

Це надихнуло на подальший розвиток застосунку, включно з адаптацією для різних категорій користувачів. Я планую додати нові функції кастомізації, щоб кожен міг налаштувати програму під себе. Моя мета — створити інструмент, який стане незамінним помічником для людей, що працюють з багатьма мовами, забезпечуючи зручність і ефективність у повсякденному використанні.

Так що не дивуйтеся, якщо одного дня Type Switch виявиться настільки універсальним, що зможе перемикати вас з понеділка на п’ятницю без зайвих зусиль.

Він став не просто інструментом для роботи, а й прикладом того, як одна проста ідея може стати корисним рішенням для багатьох людей. Завдяки ідеї, яка виходить з власних потреб, можна створити продукт, що допомагає людям у їх повсякденному житті. Я вдячний всім, хто підтримав мене на цьому шляху, і, сподіваюся, моя історія надихне інших розробників не боятися створювати щось нове. Навіть якщо це означає кілька безсонних ночей.

Завершуючи, хочу сказати, що навіть найменший проєкт може змінити світ — або, принаймні, змусити його трохи зручніше функціонувати. І, як кажуть у подорожах:

Маршрут — це не про нові місця, а про нові можливості для незабутніх вражень

До чого це б не було сказано.

Дякую за увагу і підтримку. Сподіваюсь, що моя історія надихне вас на нові звершення і створення власних проєктів, які зможуть зробити світ трошки простішим і набагато цікавішим.

Посилання

Завантажити Type Switch

Відвідати сайт

Написати особисто: [email protected]

👍ПодобаєтьсяСподобалось10
До обраногоВ обраному2
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Питання до автора: припустимо, я помилково натайпав текст не тою мовою, якщо я його виділю і переключу розкладку, виділений текст перетайпається правильною мовою?

Вітаю! Ні, для цього я маю відстежувати що ви вводите на клавіатурі, а я проти цієї концепції.

Те, що таких додатків багато — показує, що проблема є і попит на рішення теж))
Потестив кілька аналогів з коментарів. Але наступна команда в консолі вирішує мою проблему найкраще:
defaults write com.apple.HIToolbox AppleFnUsageDelay -float 0.1

Критика — це як дощ: спочатку дратує, але потім розумієш, що без нього ніяк

Цікавий проєкт, гарний дизайн!
Макс, респект!

А чим це відрізняється від стандартного еплового перемикання? Я натискаю на `fn` і можу обрати будь яку мову, вона буде відображена рівно біля місця де знаходиться інпут. І це все по дефолту. Наче, навіть, можна налаштувати постійне відображення поточної мови там, де вводиться текст

Тим що автор хоче заробити на непотрібному додатку :)

Це можна зробити «по дефолту»?:

— зручнo і швидко змінювати мову однією клавішою, без зайвих поп-апів;
— озвучувати мови при зміні, що корисно як для продуктивності, так і для людей з порушеннями зору;
— завжди бачити поточну мову, в будь-якому місці на робочому столі, яке зручно для користувача в даний момент.

1. Так, без жодних попапів, одна клавіша, + лише ідентифікація нижче курсору в момент набору тексту.
2. Не дам відповіді, бо працюю з вимкненим звуком завжди, і не цікавився цим питанням.
3. Так, при наборі тексту. І ні, місце не будь-яке, але тупо там де набирається текст на даний момент, що навіть ще краще, за можливість перетягнути кудись.

Тобто по пунктах 2 і 3 ви по суті відповіли — «ні», а по пункту 1, вас просто влаштовує як працює перемикання «по дефолту» ( а тут вже я відповім «ні» того що мене не влаштовує)

Ні, Ви перекручуєте.
1) Воно працює ідентично до того, що ви зробили, але нативно
2) Дефолтно — не можна, але за 2 хвилини і 4 рядки коду тепер перемикання мови озвучується.
3) Тобто рішення яке вирішує вашу проблему, але краще є гірше, вірно? В Вашому випадку через те, що Ви працюєте в фулл вікнах — не видно мову, окей. Але навіть без фулл вікна піднімати очі і дивитись кудись теж не зручно, це правда. Але в Вашому рішенні це теж саме, але з кастомним позиціонуванням, тобто юзеру все одно треба кудись переводити погляд, або постійно тягати де зручніше і видніше. А є рішення, по дефолту(!) яке робить те саме, але конкретно в місці де це потрібно, тобто воно вирішує Вашу проблему + ще одну, і безкоштовно..

Слухайте, це абсолютно не предметна розмова.
1) не ідентично, перемикання клавішою по дефолту працює через раз і ви не можете перемикати мови під час друкування (вам треба зупинитись що б змінити мову і почати друкувати знову), а Type Switch дозволяє це робити.
2) це взагалі смішний аргумент, так! дійсно все можна написати і дописати.
3) це ваша думка як кому краще, в мене як розробника якій досліджував цю проблему і тестував серед користувачів, вона інша.

Основний ваш аргумент це — «безкоштовно» і все можна зробити «безкоштовно» дописуючі і перероблюючи, я це почув, дякую.

вам треба зупинитись що б змінити мову і почати друкувати знову

ну я хз як це взагалі друкувати на одній мові а потім хоба, і вже без затримки почати друкувати вже іншою, як мінімум затримка треба щоб нажати кнопку перемикання мови. Це прям настільки треба бути спідранером щоб друкувати без жодної паузи, що час на перемикання мови буде здаватись чимсь дуже набридливим. Мені здається що люди які друкують на будь-якій мові роблять паузи, як мінімум щоб подумати.

Але головне зробити якийсь непотрібний фікс якоїсь неіснуючої проблеми і вже можна себе вважати «CEO в Type Switch».

1. Не зовсім вас зрозумів. Що значить «працює через раз і ви не можете перемикати мови під час друкування»? Я коли друкую щось, а потім натискаю клавішу, то автоматично перемикаюсь на наступну мову. У яких випадках це працює через раз? І як це працює в Type Switch, що не треба зупинятись під час друкування?
2. Це додаткова фіча вашого застосунку, тут претензій немає.
3. Знову ж таки, я не зовсім зрозумів вас. Мова зазвичай показується в меню зверху. Якщо вмикаєте повноекранний режим, то тоді її не видно. Але я вважав, що так і має бути, що в повноекранному не видно нічого зайвого. Я правильно розумію, ви робите повноекранний режим, а потім робите видимою іконку мови?

— Mac, є застосунок KAWA дозволяє зробити:
Ctrl+1 -> En
Ctrl+2 -> Ua
Ctrl+3 -> Tr
Ctrl+4 -> Sv
і вас перестає цікавити яка саме розкладка зараз для поточного вікна.
У неї правда є баг що збережені хоткеї не застосовуються після перезавантаження.
Її потрібно «паличкою тикнути», почати зміну хоткеїв і відмінити.
— Win, та сама фунціональність вбудована але має багу для обходу якої потрібно зберігати
хоткеї в дефолтний профіль користувача, а це пожливо тільки при доступі до адмін прав в
системі.
— KDE, здається вбудоване
— Gnome, довелося написати маленького плагіна для власного використання

Ну... особливо мені комфортніше працювати зі системою письма (кирилиця, латиниця, деванагарі), ніж з мовами. Простіше кажучи, мати одну розкладку на en, tr, sv.

Тому що треба кожен раз тикати паличкою?

А можно просто поставить Caramba Switcher или любой из менее удобных аналогов

Поставити російську херню?

так, зараз будь яка прога з срасії це потенційне шпигунське ПЗ

какой ужас, телегу уже снес? А я вот в ней читаю канал некоего Ермака, ему не страшно русский софт ставить

проблема тормозного переключения по клавише Fn решается просто, и не надо кастомного софта:
defaults write com.apple.HIToolbox AppleFnUsageDelay -float 0.1 

Першочергова мета додатку — вирішити трохи інші завдання:

— зручнo і швидко змінювати мову однією клавішою, без зайвих поп-апів;
— озвучувати мови при зміні, що корисно як для продуктивності, так і для людей з порушеннями зору;
— завжди бачити поточну мову, в будь-якому місці на робочому столі, яке зручно для користувача в даний момент.

— цей підхід робить перемикання однією клавішею і швидко (без великого попапу, лише з відображенням біля курсора)
— (хоч і не озвучує)
— для відображення можна в «треї» вивести системну іконку, або в моменті переключення — ця команда виводить

Дякую, саме те, що потрібно! Видалив додаток, який знайшов колись давно, бо він робив те саме.

Коли читав статтю, очікував побачити лінк на GitHub. Уже готувався ставити зірочку, але наприкінці, бачу ціну 4 долари в AppStore.

P.S. Особисто на мою думку, такі штуки повинні бути open source.

А хліб і молоко в «Сільпо» мені теж будуть давати безкоштовно? Тоді я не проти.

У вас же, здається, не якийсь ультимативний додаток (наприклад Lang Switcher — Autoswitch, теж від укр. розробника), якого бракує на ринку. Можливо, краще було б доробити її разом із ком’юніті? Є ж безліч варіантів підтримки — донати, Patreon тощо.

Але це моє особисте — ІМХО

Ви теж не ультимативна компанія, могли б разом з наприклад АТБ (укр. компанія) безкоштовно роздавати всі продукти які у вас є, а ми б вам — донати, Patreon тощо.

А ви, здається, зовсім не користуєтесь open source? Усі рішення купуєте або створюєте власноруч?
І до чого тут Сільпо чи АТБ? Я ж не власник цих компаній.
Але вашу думку почув. Дискутувати далі не бачу причин.
Удачі вам, в продажах.

Користуюсь, але розробник (або розробники) має повне право самостійно вирішувати як, розвивати і розповсюджувати свій додаток (продукт). Ви висловили вашу думку, я її зрозумів і навів свої аналогії, як я це бачу.

mindset розробників на макос — $9.99 за 2-3 виклики апі в оболонці на SwiftUI/Cocoa, meanwhile розробники на Windows — відоме комплексне shareware з цінником в $30 продало майже 6к ліцензій за 2023, а аналог зазначенної програми на 3 виклики апі з макосі на вінді був би free (punto switcher) або в кращому разі опенсорс

а для віндовса є шось таке? тіпа punto switcher, замахався вже перемикатись :) більшість прог що користувався — гівно повне

Вам ок що він російській, і є частиною яндексу?

мені впринципі концепт пунто світчера не подобається і я ніколи його не розумів — тупо програма для офісного планктона який і так на яндекс браузері сидить

тупо slopware на рівні з антівірусами кашпіровського

sorry not sorry, але концепт “CEO в Amphetamine” (app/amphetamine/id937984704, iykyk) мені здається ще кумеднішим

хто це на тому браузері сидить? ніколи не чув такого

карамба! до речі від автора пунто світчера є ru.wikipedia.org/wiki/Caramba_Switcher в тому числі і на мак =) офісному планктону відставити паніку!

Чому не підписка відразу? Сайт зроблений для продажу, але навіть не має мобільної версії. Без лохів звичайно важкувато, але вони знайдуться.

Власне я бажаю вам, щоб ваш застосунок не продавався, бо ви не вмієте спілкуватись і позіціонувати свою точку зору приплітаючи сюди сільпо і атб... То й таке

На жаль зараз більша частина оцих ваших CEO не зацікавлені в створенні продуктів які в першу чергу user-experience-oriented, а не vc-funded blockchain-powered AI-enhanced bullshit machine (TM) — он вже перша жертва user hostile бізнесу (підписка на «sorry this is not covered by your insurance») підтянулась (а саме кулька яка одна-самісінька на морозі!) www.tiktok.com/...​video/7444959574702099758

він стрьомний кацапський та ще й з яндексом

є карамба від того ж автора і без яндекса — правда від цього концепт карамби або пунто світчера не стає менш сумнівним

концепт — я напечатав не у тій розкладці, а воно само перевело, не треба печатати 2 рази

концепт — треба на екран дивитись а не клавіатуру

не придурюйся, моя робота думати а не друкувати як секретарка сліпим методом

Під вінду є Mahou, там здається розробник також російський, але хоча б сама прога опенсорс gitea.com/BladeMight/Mahou

Вибачте. Але опенсорс не так працює. Більшість проектів опенсорс це та штука на якій планують... ОПА! заробляти грощі.
Цей додаток в таку модель не вписується і є звичайною шароварою (shareware).

Я вже давно видалив москальську з розкладки і проблеми з переключанням нема. Укр і англ переключаються однією кнопкою, швидко, безкоштовно, без смс і реєстрацій. Рекомендую спробувати цей спосіб.

А якщо потрібна ще катакана з хіраганою?

Aле й додаток автора теж нічим не поможе в перемиканні між хіраганою й катаканою, він не допоможе в перемиканні режиму ввода японських знаків з каною чи ромадзі. Не кажу вже про специфічні способи вводу хангилю чи китайської мови...

пане кодіровщик закодіруй мого діда прошу випив весь метиловий спирт з заводу

Єдина проблема, що не миттєво, а із затримкою у секунду.
Але знайшов Open-Source рішення, яке прибирає цей лаг.

Доречі якщо треба рос. кракозябри, то в укр. розкладці:
[option] + і = ы
і т.д.

по-перше, було б не погано вивчити сліпий метод. тоді купа проблем зникає.

мишки, станьте йожиками і вас ніхто на з’їсть ©

Зіткнувся з такою самою проблемою перемикання мов на Mac OS, і написав собі додаток.
Мої вимоги були наступні:
— Відмовитися від циклічного перемикання мов, я маю вмикати відразу потрібну мову, незалежно від того, яка зараз стоїть мова
— Перемикання має бути миттєвим, без затримки на показ і анімацію попапа перемикання
— Без візуального шуму та з мінімумом налаштувань

Як працює додаток:
— Запускаєш
— У налаштуваннях вимикаєш дефолтну поведінку клавіші Globe
— Швидке натискання на Globe або CapsLock вмикає першу мову
— Подвійне натискання вмикає другу, потрійне — третю і тд

Написано на Rust. Якщо комусь цікаво — пишіть, додам до репо або скину файл (для Apple Silicon), репозиторій не буду відкривати, щоб не створювати автору конкуренцію.

Вирішив підтримати вашу розробку, купив
Однак я чомусь не вчитався уважніше в статтю та мав постійне враження, що апка буде автоматично замінювати мову тексту — якщо його ввів іншою мовою з розкладки.
Я б хотів очікувати від вас таку можливість — ібо це було б додатковим етапом вирішення проблеми декількох розкладок/мов в системі. Хоча розумію що таку фічу не просто було б зробити
Також можливіть змінити клавіші зміни мови, на той самий капслок

Є і баги:
— палітра кольорів для фону не відркивається
— оновленні налаштування не зберігаються
— щоб відкрити сетінги — потрібно клікнути чітко в кружечок, а не в активну область яку підкреслює синім кольором система. Це архі не зручно — дайте можливість відрити сетінги з контекстного меню «центру керувань» (верхній системнй хідер де інші фонові апки мають іконки)
— коли вікно кольору Кнопки та Тексту відкрито, потім натиснути Esc — закривється фонове вікно сетінгів спершу, потім кольору. При повторному відкритті сетінгів — вікно кольору кнопки або тексту знову вспливає.

MacOS 15.1.1

Дякую за ваш інтерес і розгорнутий фідбек! Деяка поведінка, яку ви описали, цілком очікувана, але дещо виглядає досить дивно, і з таким я стикаюся вперше. Обов’язково досліджу це і виправлю в наступних версіях.

Щодо автоматичного перемикання мови, то тут є кілька моментів:

1. Я часто пишу одразу двома мовами. Наприклад, фраза: «Як там наші Scrum та Kanban дошки?». Якщо я перемикаю мову вручну за допомогою Type Switch, ця фраза залишається такою, як вище. Але якщо використовувати додаток з автоматичним перемиканням мови, текст буде таким: «Як там наші Ісвкгь та Лфтифт дошки?», мені все одно доведеться повертатись до цієї фрази, виділяти і видаляти некоректні слова, перемикати мову вручну. Це створює ще більше незручностей.

2. Як уже писали в коментарях, виникає питання: чи хочу я, щоб хтось знав про те, що я набираю на клавіатурі? Особисто для мене це важливий момент, і я не готовий до такого компромісу.

Саме тому Type Switch залишається додатком для ручного перемикання мови, але робить це максимально комфортно і зручно для користувача.

Вот прям зараз почав писати і неправильною розкладкою.

1. ви описали ваше припущення які проблеми є в інших юзерів. В інших юзерів ще наступна проблема: коли людина з першого слова починає писати іншою розкладкою на відміну від запланованої і доводиться передруковувати
2. ми ж не говоримо про реалізацію що відправляє увесь контент в тирнет, а про локальну перевірку того, що людина ввела

для мене вирішить проблему саме така функціональність в апки

подивіться на аналоги типу punto switcher, там є словник слів що не треба перекладати і тп

а які в тебе розкладки, що ти в них плутаєшся, просто в мене тільки дві, це системна англа, і русский(Украина), в якому одразу 2 алфавіта. Що ще треба?

якщо це Тебе влаштовує, то супер, мене ні, і буває навіть встановлено 4 мови для зміни, тому я і зробив цей додаток

А нафіга? Якщо в цій частині планети лише 2 алфавіти, це кирилиця, і латиниця. І всі мови, або кириличні, або на us розкладці.

не певен що на таке треба взагалі відповідати, але давай. якщо Ти спробуєш писати для прикладу на французькій, норвезькій, грецькій мові, і на багатьох інших, там або трохи інші символи або взагалі інші

ви явно не бачили світу.
Навіть «кирилиця» в Украінскій мові е `ЄЇҐ` котрі не використовуються в інших мовах (або в рашки `Ъ`).
З латиницею ще краще — там дуже багато мов з усілякими «додаваннями» (по типу `Łź`)

І це ми не торкаемось іерогліфів і піктограм (еврейська, арабська)

---

Стосовно топіку:
В лінуксі (KDE) е дуже гарна реалізація, коли ти можеш мови «группувати» і переключати як між группами, так і в середені группи (або переключати все підряд списком)

ну набрав не дивлячись команду іншою розкладкой — що робити?

Перепиши. Яка велика проблема, за роботу платят по годинам, яка різниця, що ти в ці години робити будеш.

Гарна спроба без тріалки, але ні.

А можете обгрунтовано написати чому це «спроба...»?

бо купувати програму не маючи можливості її перевірити — мошонство

без тріал не ризикнув. Може це тулза яка стане незамінною, а може марна покупка яку не начепити навіть на capslock. Так і не впізнати.

Якщо дійсно хочете спробувати, напишіть мені особисто, я надам вам таку можливість.

так друже, це дійсно смішно, заскочити у коментарі о 5-тій ранку, настрочити 5 негативних коментарів, і я так розумію закрити цим якусь свою емоційну проблему. був радий що допоміг тобі в цьому

бачу, друже, що твоє призвання — психологія, а програмування то не твоє

а щодо 5 ранку — що я маю робити, якщо ще й комендантська година?

Як і чому я створив

А для чого перемикати?

Цікаво, а чому коли переходиш по лінку apps.apple.com/...​switch/id6737172560?mt=12
пише, що коштує $3.99, а коли відкривається в App Store — $4.99?

І дивно, що немає пробного періоду, хоча б 1 день, не кажучи вже про тиждень або місяць
У мене 50/50 не перемикається розкладка і я давно шукаю собі рішення і перепробував багато програм, які не підійшли. Тому не готовий віддавати $5 за те, чим не буду користуватися.

P.S. мені не шкода $5 і я не кажу, що це дорого. Просто я вже перепробував з 20 програм і усі не підходять. А уявіть, якщо б кожна з них коштувала $5. Просто витратив би $100, так і не отримавши рішення

саме так. Але ідея озвучкі на хук перемикання це ок, може молживо якось скріптами. Треба подивитись.

згадав про карабінер але він чомусь не хоче заводитися. Спробую завтра перевстановити, а то він не бачить, що я граберу дав права в налаштуваннях приватності

P.S. але з карабінером, мені не подобаєтсья в принципі ідея, коли я дозволяю програмам зчитувати те, що я ввожу з клавіатури.

Якщо ви про Caramba Switcher, то це російській додаток, і «завести» ви його не можете того що він знаходиться на російських серверах.

Ви правда не знаєте, що таке Karabiner-Elements?

Звичайно знаю. Але в контексті даної статті, подумав що просто переплутали назву «кара...», тому що Type Switch, і стаття загалом, це не про налаштування клавіатури (як «Karabiner-Elements» і подібні), а про:

— зручну зміну мови однією клавішою;
— озвучування мови при зміні;
— завжди бачити поточну мову, в будь якому зручному для вас місці на робочому столі.

Ок, я трохи здивувався. :)

Karabiner-Elements — дуже потужний інструмент, який для мене як раз вирішує першу і третю проблеми з вашого списка. На кожну з двох мов, якими я постійно користуюсь, встановлено окрему комбінацію клавиш (а насправді тільки одну клавишу — Left Control та Right Command, відповідно). Така система робить індікатор мови непотрібним, бо дуже швидко з’являється рефлекс перемикання мови перед тим як починаєш писати.

Але навіть без цього я не зовсім зрозумів, в чому проблема з «завжди бачити поточну мову» — вона ж завжди в menu bar, хіба ні?

У моєму випадку ні, бо я звик працювати в повноекранному режимі. Щоб побачити поточну мову, мені доводиться, як тут вже писали: «Вести курсор наверх, щоб віконце опустилося, і там дивитися мову». Це не надто зручно, погодьтеся.

Так, взагалі не зручно. Мені, насправді, навіть просто дивитись кожного разу на menu bar чи деінде було б незручно, тому — Karabiner-Elements. :)

Якщо так, то вам точно Karabiner-Elements — і ні кроку вбік! :)

Щодо ціни, це «ігри» самої Apple. Я встановив фіксовану ціну в $3,99 для всіх країн, де зробив застосунок доступним, але під час публікації ціни автоматично ранжувались, по якомусь не зрозумілому для мене принципу.

Щодо пробного періоду, якщо дійсно хочете спробувати застосунок, напишіть мені особисто, я надам вам таку можливість.

пише, що коштує $3.99, а коли відкривається в App Store — $4.99

додається ПДВ — 20% і результат округлюється.

Раз топік про перемикання мов на macOS, не можу не запитати:
Чи виникає у когось проблема, що при перемиканні мови за допомогою Cmd+Space і вона не перемикається. Ти точно натиснув але при швидкому перемиканні воно не реагує.
Перечитав усі форуми але не знайшов рішення, окрім як змінити перемикання мови на стандартне(в нових macOS) клавішою Fn. Або поставити на перемикання Caps lock.

з 90х на bsd та с нульових на casplock чипляв це. Зараз навіть не треба даже додатково щось робити, з коробкі є в налаштуваннях. Дивно що capslock дожила до ціх часів з первинним функционалом, а не перемикання ;)

Бо мов/розкладок буває більше 2х, і бінарний перемикач всіх кейсів не покриває.

Маю схожу проблему. Перемикання не спрацьовує навіть з Caps Lock, якщо перед цим стирати текст через Backspace і зразу після відпускання клавіші спробувати перемкнути мову через Caps Lock.

Буває (бувало) не перемикається, тому що там попап і анімація, яка, схоже, не встигає відпрацювати

Чи дозволяє застосунок обирати комбінацію клавіш для переключання ?
Я користуюся CTRL (лівий) + Space. Чи зможу зберегти цю комбінацію для переключання використовуючи ваш застосунок ?

Раніше це працювало норм на маку, мова відображалася в невелечкій модалці поверх усіх вікон при переключанні, що було дуже зручно (імхо). Потім зробили що відображення при переключанні тільки біля інпуту — і стало погано, бо не завжди працює і не завжди мені треба переключатися коли активний input. Тож в результаті часто веду курсор наверх щоб віконце опустилося и там дивлюся мову.

Ідея була в тому, щоб мову можна було перемикати «на льоту», завжди бачити її візуально, і бути завжди у контексті мови, якою пишете. Щоб як ви пишете не було потреби «...в результаті часто веду курсор наверх щоб віконце опустилося и там дивлюся мову.»

У версії 1.0 я вирішив зробити зміну фіксовано, однією клавішею, без зайвих комбінацій. Ось чому.

Наприклад: у тесті «Як там наша Scrum-дошка?» — треба двічі переключити мову: з української на англійську і назад.
CTRL (лівий) + Space, буде відволікати від процесу написання, весь час змушуючи зміщувати руки із зони клавіатури з літерами і відволікатися.
Type Switch дозволяє змінювати мову одним пальцем пальцем прямо під час набору тексту, взагалі не відриваючись від процесу набору тексту.

«Чи зможу зберегти цю комбінацію для переключання використовуючи ваш застосунок ?»- так!

Продублюю свою відповідь :
«Спробуйте одночасно друкувати й змінювати мови через fn, у вас цього не вийде, ви все одно будете зупинятись, і відволікатись на поп-ап. Type Switch дозволяє це робити прямо під час друкування, не стопить процес поп-апом, ще й озвучує мову при зміні.»

перемикаюсь капс-лок и взагалі нічого не чекаю

чомусь згадав punto switcher

Так! але він російській, і дуже часто неточно працював (колись давно ним користувався), я написав про подібні додатки.

саме так. Тому про це лайно не варто навіть згадувати)

По-друге, стандартними можливостями macOS перемикати мову незручно, особливо коли їх не дві, а три чи чотири й більше. Це як спроба швидко знайти потрібну передачу в машині, коли всі ручки на коробці перемикання схожі, а ти за кермом сидиш уперше. Щось натискаєш, щось кудись їде, але точно не туди, куди планував.

Для себе вирішив цю проблему комбінацією Ctrl+Option+Space. Мови переключаються в заданому порядку. Знаючи поточну мову знаєш скільки разів треба натиснути щоб переключитись на потрібну. Як саме застусонок вирішує цю проблему чи робить процес більш зручним?

Так, застосунок і вирішує цю проблему і робить процес більш зручним.

— Перемикати мову можна однією клавішею — лівий Ctrl.
— Поточна мова завжди відображається поверх усіх вікон, і ви можете розмістити кнопку (з зображенням мови) в будь-якому місці на робочому столі. Наприклад, поруч із текстовою зоною, де ви працюєте.
— При перемиканні мови програма озвучує вибрану мову. Наприклад, переключившись з англійської на українську, ви почуєте «ukrainian».

Супер! А перемикання по Ctrl не конфліктує з іншими гарачими клавішами де Ctrl також залучений?

При тестуванні, жодних конфліктів і проблем не було виявлено)

Для мене просто працює ’fn’, що змінює мову в один клік і показує поверх всіх вікон вибрану мову. Так, голосової озвучки з коробки немає, але як на мене це функція доволі специфічна і малому відсотку людей вона буде дійсно цікава.
Коли використовую external keyboard (mx keys), то Сtrl + Space, але впевнений, що також можно на 1 кнопку задати кнопку для зміни мови. Поточна мова з коробки теж є, не велика, але справа звички.

Спробуйте одночасно друкувати й змінювати мови через fn, у вас цього не вийде, ви все одно будете зупинятись, і відволікатись на поп-ап. Type Switch дозволяє це робити прямо під час друкування, не стопить процес поп-апом, ще й озвучує мову при зміні.

Чесно кажучи, наразі не виникає жодних проблем з друкуванням — все працює без зупинок та відволікань. Я дуже часто переключаюсь між англійською та українською протягом дня через специфіку роботи і в мене особисто за весь час користуванням MacOS не виникало жодної проблеми з друком (а ось до роботи з вікнами на MacOS досі не можу звикнути на всі 100%). До прочитання цього топіку я навіть не здогадувався, що з зміною мови можуть бути проблеми.

Якщо я правильно все зрозумів, то для мене особисто цей додаток не приносить нічого нового порівняно зі стандартними функціями macOS, окрім голосового озвучення, яке я б вимкнув в першу чергу. Проте я впевнений, що є кому ця фіча буде великим +.

Здається, цей додаток був розроблений для старіших ревізій, коли не було можливості змінювати мову на fn, і користувачі мали грати на піаніно для зміни мови, але для нових ревізій, що додаток концептуально змінює?

Для кращого розуміння, що саме цей додаток вирішує, було б гарно мати табличку, де описано стандартий функціонал VS TypeSwitch. Якщо я правильно зрозумів ідею і функціонал то це трохи інший попап + голосове озвучення вибраної мови

Ні, додаток був розроблений нещодавно, для вирішення таких завдань:

— зручнo і швидко змінювати мову однією клавішою, без зайвих поп-апів;
— озвучувати мови при зміні, що корисно як для продуктивності, так і для людей з порушеннями зору;
— завжди бачити поточну мову, в будь-якому місці на робочому столі, яке зручно для користувача в даний момент.

Крім того він дозволяє прямо під час друку змінювати мову не зупиняючись. Якщо ви користуєтесь Fn ви маєте зупинитись, натиснути на Fn яка не відразу викликає вікно поп-апу з вибором мови, і тількі після цього почати друкувати знову.

конфліктує, постійно юзаю шорткати і контрол інколи задіюється —
тепер контрол одразу змінює мову та озвучуює її

Звісно, що застосунок не забирає весь функціонал лівого CTRL на себе, якщо б це було так, у вас не працювали б шорткати з цією клавішою.

У тих випадках, коли озвучування мови може заважати, ви завжди можете у налаштуваннях або зовсім відключити озвучування мови, або зробити її на комфортному для вас рівні гучності.

Підписатись на коментарі