Все об Arch Linux

Arch Linux будет тем, что вы из него сделаете!

Как мы с «ё» воевали: история одной буквы в интерфейсе

В русских текстах буква «ё» — не прихоть и не пережиток, а полноценная буква алфавита, которая различает смысл слов. Мы убедились в этом на собственном опыте: вычистили все «ё» из русского текста форка Klavaro, а через несколько минут вернули обратно. Вот как всё происходило и почему правильная локализация не выбрасывает «ё».

Как мы вычистили «ё»

Всё началось с форка Klavaro — клавиатурного тренажёра, в который я добавил режим «работа над ошибками» (про это есть отдельная заметка). Доводил русские тексты до ума и поймал себя на мысли: «ё» в них как-то мешает. То шрифт в интерфейсе кажется неровным, то «сложно», то «все так пишут». Классический набор оправданий.

И я вычистил. Коммит c4bd4d2 с говорящим сообщением: «texts: удалена буква ё из всех русских текстов (ё->е)». Замена прошла по шести файлам, 202 буквы: перевод интерфейса po/ru.po, словарь data/ru.words, тексты для практики data/ru.paragraphs, README и .desktop-файл. «Вперёд» стало «Вперед», «объёмными» — «объемными», «Ещё один клавиатурный тренажёр» — «Еще один клавиатурный тренажер». Сборка прошла, всё работало.

Раскладки я не тронул: там «ё» — назначение клавиши, а не текст. Это, кстати, первая подсказка: буква «ё» на клавиатуре есть, а в тексте её нет. Странно, правда?

Что показала практика

Прошло три минуты. Коммит 3e55002: «texts: возвращена буква ё в описания и перевод интерфейса». Я открыл интерфейс и понял: «Вперед» режет глаз. Не потому, что это ошибка, а потому, что это не тот русский язык, на котором я говорю.

А дальше — хуже. Без «ё» русский текст теряет однозначность. Вот пара примеров, которые всплыли сразу:

  • всё / все — «всё сделано» и «все сделали» читаются по-разному;
  • поём / поем — «мы поём» и «мы поем» — разные действия;
  • совершённый / совершенный — «совершённый подвиг» и «совершенный человек»;
  • узнаём / узнаем — «мы узнаём новое» и «мы узнаем завтра».

Без «ё» читатель каждый раз угадывает смысл из контекста. Глаз спотыкается, скорость чтения падает. В интерфейсе программы, где каждая подпись должна читаться мгновенно, это не мелочь.

Почему «ё» возвращают

Тут я вспомнил, что вопрос давно решён на уровне правил. Правила русской орфографии прямо требуют ставить «ё» там, где слово можно прочитать неправильно: «всё» и «все», «узнаём» и «узнаем». То есть «ё» — не вольность, а инструмент однозначности.

Плюс практика. Современные шрифты — DejaVu, Noto, Liberation — отлично рисуют «ё». UTF-8 хранит её без проблем. Никакой технической причины избегать «ё» в 2026 году нет. Причины остались только в голове: привычка писать «е», старые шрифты, страх перед «сложной» буквой.

Как правильно

Правильно — оставить «ё». В интерфейсе, в описаниях, в README, в текстах для чтения. Если шрифт не показывает «ё» — это проблема шрифта, а не буквы: поставьте Noto Sans или DejaVu, и всё нарисуется. Если текст превращается в кракозябры — проверьте локаль, об этом мы писали в заметке про setlocale.

Единственное место, где я оставил замену, — тексты для набора (ru.words, ru.paragraphs). Там задача не читать, а печатать, и «ё» — отдельная клавиша, которую всё равно тренируют отдельно. А вот всё, что читают глазами, вернулось к «ё».

Частые вопросы

Нужна ли «ё» в интерфейсах программ?

Да. Интерфейс читают глазами, и «Вперед» вместо «Вперёд» выглядит как опечатка. Локализация, которая уважает язык пользователя, пишет «ё» там, где она нужна.

Учитывают ли поисковики «ё» в запросах?

Яндекс и Google приводят «ё» и «е» к одному виду, так что страница с «все» найдётся по запросу «всё». Но в сниппете текст без «ё» выглядит хуже: «все» вместо «всё» читается неоднозначно. Практический совет: пишите с «ё» — это не вредит SEO, а текст становится точнее.

Что делать, если шрифт не показывает «ё»?

Сменить шрифт на современный с поддержкой кириллицы: Noto Sans, DejaVu Sans, Liberation. Проверить, что файлы в UTF-8, а локаль — ru_RU.UTF-8.

«Ё» мешает в коде и файлах?

Нет. UTF-8 хранит «ё» без проблем. Мешать она может только в старых кодировках вроде CP1251 или KOI8-R, но это прошлый век.

Заключение

История с «ё» заняла у нас три минуты и два коммита, но запомнилась надолго. Вывод простой: правильная локализация уважает язык пользователя. «Ё» — часть русского языка, и выбрасывать её из интерфейса — значит делать текст беднее и неоднозначнее.

Если пишете русский текст в программе, в README или в блоге — пишите с «ё». Это бесплатно, это правильно, и читатель скажет спасибо. А если сомневаетесь, вспомните нашу историю: мы попробовали без «ё» и вернули через три минуты.

Полезные ресурсы



Не получилось? Поможем настроить

Задай вопрос в чате — отвечаем быстро, по делу и без воды.

Читайте также

Комментарии

Загрузка…

Откроется GitHub: создайте новый issue с вашим комментарием (кнопка «Submit new issue»). После отправки обновите эту страницу — комментарий появится ниже.

Telegram Max