Глибше
Чому так стається
На головній — коротка версія: сайти за замовчуванням віддають російську, навіть коли ви просили українську. Довша версія — це купа дрібних збоїв, де кожен сам по собі має пояснення, але разом вони складаються в той самий результат. Ця сторінка проходить увесь цей ланцюжок — що запитує ваш браузер, що декларує сторінка, що вгадує детектор, що показує пошуковик, що поверх цього пише ШІ, що з вашим вибором роблять двомовні сайти, і як власники сайтів переносять цей результат у бюджети наступного року.
01
Детектори мов вгадують за літерами
Вони не читають сторінки — вони обирають мову, чий тренувальний корпус має найбільше збігів за n-грамами. Для кирилиці це російська.
- Великі детектори — CLD2 і CLD3, fastText, плюс власні варіанти пошуковиків — натреновані на корпусах, де російський веб приблизно впʼятеро більший за український (за даними W3Techs, російською написано 3,4% сайтів проти 0,7% українською). Коли текст неоднозначний, вибір падає на більший корпус.
- Короткі запити не дотягують до порога впевненості детектора. Запит з одного-двох слів — наприклад, «новини» чи «погода» — не несе достатньо сигналу, щоб перебити початкове припущення. А для кирилиці це припущення — російська.
- В української та російської спільні більшість службових слів, чимало лексики й майже вся абетка. Сторінка, де ця спільна лексика переважає — картка товару, меню, підвал сторінки, — за замовчуванням класифікується як мова з більшим корпусом.
- Сторінки зі змішаними мовами зводяться до одного ярлика. Українська стаття з російською секцією коментарів читається як одне ціле й отримує тег «російська»; українська картка товару серед російських відгуків — те саме.
- Транслітерований текст узагалі випадає з поля зору кириличних детекторів. Українські імена латинкою — Volodymyr, Kyiv, Lviv — читаються як англійська. Так само й будь-який український текст, записаний латинкою — у дописах чи в URL-адресах.
02
Сторінки декларують свою мову — і помиляються
HTML має стандартні способи позначати мову. Більшість сайтів або пропускають їх, або заповнюють неправильно, або суперечать самі собі в різних механізмах.
- <html lang="ru"> на сторінці, яка насправді українською — найчастіший випадок. Зворотне — українська розмітка на російському змісті — трапляється приблизно так само часто. Мовар спочатку читає атрибут, а коли значення виглядає ненадійним, запускає власне визначення.
- Вкладені атрибути lang на одній сторінці суперечать одне одному. Українська оболонка, що огортає <div lang="ru"> з основним контентом — формально коректна розмітка, але марна для будь-якого правила рівня сайту, якому потрібна одна відповідь.
- <link rel="alternate" hreflang> вказує на URL-адреси, у яких <html lang> однакові — кожен «альтернативний» варіант декларує ту саму мову. У Мовара є запобіжник саме на цей випадок — без нього розширення ганялося б за власним хвостом по зламаному графу hreflang.
- og:locale, og:locale:alternate та meta http-equiv="Content-Language" зазвичай суперечать одне одному й <html lang>. Якому сигналу довіряє конкретний робот, той і перемагає.
- inLanguage зі Schema.org та xhtml:link rel="alternate" у sitemap декларують, що українська версія існує. Відкриваєш URL — а тіло сторінки досі російською: CMS публікує запис раніше, ніж зʼявляється переклад.
- <title> і <h1> сторінки — однією мовою, тіло — іншою. Google індексує заголовок; читачі читають тіло.
- Машинерія, що вирішує, яку версію показати в пошуку й як її підписати, довіряє тому, що сайт декларує — lang, hreflang, структурі URL, sitemap, — а не тому, що насправді в тексті. Звірити одне з одним нікому: російська сторінка потрапляє в індекс як українська, а ви фільтруєте видачу за українською і отримуєте російські результати з українською биркою.
03
Транспортний шар ігнорує те, що запитує ваш браузер
Ваш браузер з кожним запитом надсилає Accept-Language: uk. Більшість серверів цього не враховують.
- Багато серверів читають лише перші два символи Accept-Language, ігнорують q-параметр або зважають на заголовок лише на першому запиті — а потім кешують це рішення на весь сеанс.
- CDN кешують відповіді лише за URL. Варіант, який отримав перший відвідувач — зазвичай російський, бо ринок більший, — потім дістається всім іншим, у кого збігається ключ кешу.
- Geo-IP перебиває заголовок. Браузер з налаштуванням «українська» у закордонній мережі отримує російську, незважаючи на заголовок. Браузер з налаштуванням «російська» всередині України — навпаки. Жодна з двох поведінок не збігається із заявленою.
- Застарілі теги локалі ru-UA лишаються в старіших інсталяціях і профілях акаунтів. Одні сервери трактують їх як російську, інші як українську; обидві відповіді помиляються приблизно в половині випадків.
- Кука, поставлена одним випадковим кліком, перебиває кожен Accept-Language, який ви надсилаєте потім. Кука живе довше за вибір, який її поставив, — часто роками.
04
Пошуковики тримають мову на трьох окремих осях
Мова інтерфейсу, мова результатів і визначена мова запиту — це три різні налаштування. Всі три мають збігтися, перш ніж ви надійно отримаєте українські результати.
- У Google hl= керує мовою інтерфейсу, тоді як lr= і cr= фільтрують результати. Зміна одного не чіпає другого. Визначена мова запиту — третя вісь поверх обох.
- Картка-довідка — та, що стоїть поряд із результатами — формується з найактивнішої Вікіпедії для відповідної сутності. Зазвичай це англійська або російська, незалежно від мови інтерфейсу. Українська Вікіпедія менша, тож картка щоразу спирається на більше джерело.
- У Wikidata є багатомовні мітки для більшості сутностей, але картка користується ними лише вище певного порогу кількості редакторів. Нижче порогу картка знову бере англійську чи російську, а українська мітка лежить без діла.
- YouTube тримає мову інтерфейсу, мову запиту й мову рекомендацій як три незалежні сигнали. Поставити інтерфейс на українську ще нічого не каже системі рекомендацій про те, що саме рекомендувати.
- Україномовний індекс структурно менший за російський. Ранжування частково відносне — російський результат із середніми сигналами може обійти український із тими самими сигналами просто тому, що його корпус щільніший.
05
ШІ відповідає мовою своїх джерел
У пошуку виростає шар відповідей — ШІ-огляди й чат-асистенти, які замість списку посилань пишуть готову відповідь. Відповідь приходить тією мовою, якою написані джерела.
- Відповідь ШІ складається зі сторінок, знайдених за вашим запитом. Коли найсильніші джерела за кириличним запитом — російські, відповідь виходить російською. Навіть коли інтерфейс — українською, а налаштування пошуку просять українські сторінки.
- Мовне налаштування пошуку фільтрує, які посилання потраплять у видачу. Воно не обмежує, що напише генератор відповіді — обидва видно на одному екрані: інтерфейс український, фільтр результатів український, а над ними — російська відповідь.
- Українські компанії самі це підгодовують. Український виробник, чиї сторінки товарів написані російською, стає російським джерелом — і його цитують українським покупцям російською, вище за всі звичайні результати.
- Виправити це постфактум неможливо. Відповідь, згенерована російською, — це російський текст; машинний переклад лише вдягнув би його в українське. Чесних варіантів рівно два: показати як є — або не показувати взагалі.
- Єдиний важіль — корпус. Ці системи відповідають з того, що можуть прочитати, тож кожна сторінка, яку український сайт публікує українською, зсуває шальку терезів: більше українських джерел сьогодні — більше українських відповідей завтра. Через шар відповідей перехід на українську важить подвійно.
06
Двомовні сайти за замовчуванням ведуть на більший ринок
Сайти, що мають і українську, і російську версію, все одно за замовчуванням видають російську — а шлях до української рідко буває очевидним.
- Російська версія займає корінь сайту, українська живе за /uk/, /ua/ або на окремому піддомені. Клік по результату пошуку — і ви на російській.
- Перемикач захований у самому низу сторінки, за гамбургер-меню чи під значком прапора, який легко пропустити. Більшість відвідувачів його ніколи не знаходить.
- Кука вибору живе тільки в межах одного піддомену. Перейти з www.example.com на shop.example.com — і вибір скидається.
- Налаштування привʼязане до акаунта. Перегляд без входу — а це більшість відвідувань — щоразу починається із замовчування.
- Мовні версії в CMS розходяться. Український переклад відстає від російського оригіналу на тижні, тож відвідувач, що потрапив на українську за замовчуванням, бачить застарілий контент — і сам перемикається на російську. Власники сайтів читають цю аналітику й роблять висновок, що читачі хочуть саме російської.
07
Українська версія є — але на правах додаткової
Припустімо, ви таки дісталися української версії. Рівною вона буває рідко — і тут причина вже не технічна, а людська.
- Її роблять «щоб була», а далі підтримують за залишковим принципом. Кнопки, службові повідомлення, помилки у формі замовлення, підказки й сторонні віджети лишаються російськими — вони просто лежать не в тому файлі, який перекладали.
- Вбудований у сайт чат-бот відповідає російською, хай би якою мовою ви до нього писали. Це окремий продукт із власною мовною логікою, і мовне налаштування сайту до нього не дотягується.
- Банери та інфографіка намальовані російською. Підпис усередині картинки — робота дизайнера, а не рядок у файлі перекладу, тож текст локалізують, а зображення лишають як є.
- Сам переклад часто машинний і невичитаний — той, де «электропитание» стає «електрохарчуванням», електричний котел — «казаном», а «две недели» доставки — «двома неділями» замість двох тижнів.
- Формально українська версія є. Насправді ви читаєте суміш — і саме вона підштовхує повернутися на російську, де принаймні все написано людиною.
08
У переліку мов російської немає — а в стрічці вона є
Окремий випадок — маркетплейси, дошки оголошень і все, де вміст пишуть самі користувачі.
- Інтерфейс там буває бездоганно українським, а в перемикачі мов російської немає навіть у списку — обирати можна хіба між українською та англійською.
- Але картки товарів, описи, характеристики й відгуки — російською, бо мову вмісту не перевіряє ніхто. Платформа локалізує свою оболонку, а не те, що в неї заливають продавці й дописувачі.
- Перемикати тут нема на що. Сторінка справді українська — російські в ній лише окремі блоки, тож жоден вибір мови на рівні сайту цього не виправить.
- Саме тому вердикт для всієї сторінки тут марний: потрібен окремий висновок для кожної картки. Це і є та межа, за якою мовне налаштування закінчується, а починається фільтр вмісту.
09
Сторінка — це не весь досвід
Навіть українська сторінка приходить загорнутою в речі, які сама сторінка не може перекласти.
- Зображення несуть неперекладений текст — банери, інфографіка, рекламні макети, знімки екрана. Перемкнути їх на рівні сторінки нічим: кожна картинка — окреме рішення, якого сторінка не ухвалює.
- Вбудовані плеєри — відео з YouTube, картки Twitter, кліпи Spotify, Vimeo, SoundCloud — не переймають мову сторінки, в яку вставлені. Кожен плеєр вирішує сам, за власними сигналами.
- Магазини мобільних застосунків в українських локалях віддають російські описи й знімки екрана, навіть коли в самому застосунку є українська локалізація. Сторінка в магазині застосунків публікується окремо від самого застосунку.
- Транзакційні листи, push-сповіщення й розсилки нерідко ігнорують мовне налаштування сайту й користуються тією мовою, яка була за замовчуванням під час створення акаунта.
- Alt-текст і ARIA-мітки лишаються мовою, якою їх написали, навіть коли сторінку переклали. Користувачі зчитувачів екрана чують з тієї самої сторінки іншу мову, ніж бачать зрячі.
10
Економіка тече назад у технологію
Усе це мало б бути невидимим для власників сайтів. Але це не так — і коло стискається само.
- Аналітика повідомляє, що «більшість читачів обрала російську». Рішення ухвалював не читач, а сам сайт. Сигнал, з якого виростають інвестиції наступного року, — це попередня поведінка самого сайту, а не справжній вибір читачів.
- Машинно перекладені українські версії читаються погано, тож читачі обирають російський оригінал — помилка вцілілого, яку метрики записують в уподобання.
- Замовчування операційних систем — Windows, що продавався в Україні з російською, телефони, налаштовані ще до того, як українська зʼявилася серед мов інтерфейсу, — просочуються в кожен сигнал вище й рідко скидаються.
- У підсумку замикається коло. Менша україномовна аудиторія цьогоріч — менше замовленого українського контенту наступного року. Менше контенту — менший індекс. Менший індекс — детектори й ранжувальники ще сильніше хиляться до російської. Сильніше замовчування — ще менша україномовна аудиторія через рік. Коло крутиться само.
- Найкраще це коло видно там, де цифри публічні. Опитування Steam показує, якою мовою користувачі запускають клієнт: станом на липень 2026-го російська — третя мова платформи з 9,3%, українська — пʼятнадцята з 0,7%. Видавці дивляться саме в цю таблицю, вирішуючи, які локалізації замовляти. Гравець, у якого клієнт стоїть російською за звичкою, щороку підтверджує аргумент «українською майже ніхто не грає».
- Важіль працює і в інший бік. За останні роки українська в Steam уже обійшла італійську — 0,70% проти 0,63%, — мову, для якої локалізації замовляли за замовчуванням десятиліттями.
Що Мовар може, а чого не може
Мовар може виправити те, що відбувається у вашому браузері: запит, який надсилає браузер, адресу, яку ви відвідуєте, параметри, додані до пошуку, перемикач мови, який Мовар уже знає для конкретного сайту. Він не може правити закешовані відповіді CDN, виправляти мовні теги в неправильно класифікованих статтях Вікіпедії, перекладати тексти на зображеннях, змусити ШІ написати відповідь українською чи переписати економіку. Але правильна робота на рівні браузера — передумова для всього іншого: доки сигнал від самих читачів не стане чистим, ніхто далі в ланцюжку його не прочитає.