Юмористический детектив о том, как нам подсунули свинью котлеты. Он не то что основан на реальных событиях, - это их подробное описание, без доли вымысла. Только отметок времени нет, для большей детализации. Но могу сказать, что на всё про всё ушло часа 3.

Вероятно, заголовок сбивает с толку, может показаться что это какой-то кликбейт. Но так вы сможете себе лучше представить мои эмоции, когда у меня спросили: «А откуда у нас в проекте котлеты?»

Понятное дело, что проект бы вряд ли от этого погиб, но, когда непонятные ошибки выпрыгивают накануне приёмо-сдаточных испытаний – относишься к ним соответственно. Да и как посмотреть в глаза заказчику, когда у тебя «котлеты»?!

Лучше один раз увидеть

Объяснить словами о каких котлетах идёт речь, сложно. Это надо видеть. Я не стал уточнять с макарошками или с пюрешкой, а пошёл смотреть на них. И таки да, действительно котлеты.

Таблица данных с раскрытым меню
Таблица данных с раскрытым меню

Появляются они в браузере, когда открываешь таблицу с данными для просмотра. Данные в таблице для удобства можно фильтровать, сортировать, и вот в настройках фильтра как раз и появились эти пресловутые котлеты.

У меня всё работает

И при этом все сразу подумали, что это разработчики так подшучивают, и занесли ради теста какую-то белиберду, а потом забыли удалить. Конечно, я пошел проверить на своём компьютере, и… никаких котлет.

Таблица данных с раскрытым меню
Таблица данных с раскрытым меню

Т.е. что удалить были должны, - удалили. Откуда же котлеты там? Ну может где-то когда-то что-то закэшировалось браузером… кэш очистили – не помогло, зашли в режиме инкогнито – котлеты исчезли. Ну вроде нормально. На других компьютерах проблема не воспроизвелась.

Поиск по проекту слова «котлеты» результата не принёс. Ответственности на себя ни одна террористическая организация не взяла, все лишь удивлённо развели руками.

Котлеты, котлеты, котлеты

Через некоторое время второй человек сообщает о проблеме. Да как так-то?! Попивая чай в чайной, я предположил: а что если дело в каком-то плагине?!

Т.е. на тех компьютерах, где ошибка не воспроизводится, этого плагина просто нет. Осталось его вычислить. И подозрение упало на расширение «Adobe Acrobat: инструменты для редактирования PDF» - только он был установлен на обоих компьютерах, где ошибка проявляется. И вот я уже готов предъявить ему обвинение, как выясняется, что и на тех компьютерах, где ошибки нет, всё тот же плагин присутствует. Мимо.

Но предположение о том, что дело не в кэше и не в чьих-то шутках, было настолько соблазнительным, что отступиться от него было сложно. Если дело не в плагине, значит виноват браузер.

Попался

Ошибки только там, где применяется Google Chrome. Хм. Встроенный переводчик? Не знаю почему, но это первое что пришло в голову.

Вот он - любитель котлеток
Вот он - любитель котлеток

Переключая язык, ошибку удалось воспроизвести. И котлетами он не ограничился.

Вид без перевода, у последней колонки раскрыто меню
Вид без перевода, у последней колонки раскрыто меню
Вид с переводом на русский, у последней колонки раскрыто меню
Вид с переводом на русский, у последней колонки раскрыто меню

Другие замеченные проблемы:

Было

Стало

Наименование

Название

Упорядочить по возрастанию

Упорядочить по возрасту

Вбиваем в переводчик, чтобы убедиться, и правда котлеты.

Google Translate
Google Translate

Так кто же убийца

Причина оказалась банальна, ошибка в index.html

<html lang="en">

После такого пора и на обед, но на котлеты смотреть уже не мог – насытился.

Мораль

Поспешишь – людей насмешишь.

Думаю, это одна из тех историй, о которой смешно вспоминать. Потому и написал о ней на Хабр, этакая байка, одна из тех, которые можно травить за кружкой чая или рассказывать джунам. Да и про котлеты на Хабре, наверно, не писали ещё. А вспомнить смешно потому, что всё быстро и благополучно кончилось, - а вот пока ошибку не нашли и не понимали, откуда эти котлеты лезут, – было совсем не до смеха.

Мелкие ошибки совершают все, а дьявол кроется в мелочах. Будьте внимательны. Удачи!

Комментарии (97)


  1. CRMguru
    11.02.2022 08:45
    +4

    Была похожая история, но со сторонним сервисом - вылез интересный фильтр "дора дура", откуда он появился и как это исправили кануло в лету, но до сих пор интересно, как это произошло в рабочей версии


  1. volkanin
    11.02.2022 08:58
    +7

    В прошлом году на портале Госуслуг в форме подачи заявлений абитуриентом была точно такая же проблема, и по той же причине.


  1. Myxach
    11.02.2022 09:23
    +8

    Ну почему такой перевод то, как вообще переводчик до такого дошёл


    1. Tkachenko-Ivan Автор
      11.02.2022 09:32
      +1

      О, тут кроме гугла ответить ни кто не сможет. Хотя, когда-то натыкался на публикации о том как работает их переводчик


      1. rat1
        12.02.2022 15:26
        +1

        Ну как же? В переводчике есть возможность оценить перевод и предложить свой вариант, который будет использоваться для машинного обучения. Видимо кто-то накрутил.


    1. Aquahawk
      11.02.2022 09:34
      +16

      А на этот вопрос, боюсь, уже никто никогда не ответит. Ибо то, как Artificial Idiot пришёл к этой мысли, мы не узнаем. Вы же обратили внимание на то, что это попытка перевести слово "содержит" с английского на русский?


      1. ru1z
        11.02.2022 10:25
        +9

        Потыкался в переводчике и проверил, действительно только с некоторых языков такой котлетный «перевод» (или еще хуже), с других бывает немного искажает.

        прим.








        1. nickolaym
          12.02.2022 06:33
          +1

          Небось, с японского они через английский переводили.


          1. Myxach
            12.02.2022 07:30

            так сообственно и есть, он через английский перреводит японский


    1. FanatPHP
      11.02.2022 10:29
      +9

      Там вроде раньше была кнопочка "предложить свой вариант" или что-то вроде того.
      Одно исправление конечно не сработает, но скоординированные действия кучки малолетних долботрясов вполне могли заставить жестяные мозги исправить перевод.


      1. R2DAW
        11.02.2022 10:57
        +1

        Она и сейчас как бы есть — через rate this translation


    1. Vsevo10d
      11.02.2022 11:35
      +13

      В 18-м году постили всякую смехоту с рандомно вылезающими вещами, я вот такое заскринил например:


    1. domix32
      11.02.2022 12:07
      +2

      Нейронные сетки же. Одно время по интернету ходили всякие приколы, когда на каком-нибудь малоиспользуемом языке вбивали "ААААААААААААААААААААААААААА" разной длины, а на выходе получали некоторую шизофазию. Для русского языка соотвествие оказывается еще проще.


    1. Bedal
      11.02.2022 13:59

      там есть кнопка «предложить свой перевод». Нередко этим пользовалась для подобных развлечений. Обычно это не укореняется, мало ли что один человек ввёл. Но, видимо, кое-что срабатывает.


      1. Wesha
        11.02.2022 21:28

        Обычно это не укореняется, мало ли что один человек ввёл.

        Есть такое слово — флэшмоб. Организованная группа людей ради лулзов что угодно укоренит — может, даже передачу России под суверенитет Японии :)


        1. Bedal
          12.02.2022 18:31

          да, в том числе.


  1. sinneren
    11.02.2022 09:37
    +32

    Вот устраиваешься на работу, думаешь, щас как будут пилить крутые фичи, шикарный ux\ui, буду делать всё модно, современно, оптимизированно, интересные задачи и тд и тп, а в итоге целый день исследуешь откровенно шизоидный баг.


    1. aragaer
      11.02.2022 10:55
      +37

      Но ведь это же лучше, чем работа.


  1. PsihXMak
    11.02.2022 11:10
    +2

    Это google translate. У них постоянно такая фигня с переводом.


    1. Tkachenko-Ivan Автор
      11.02.2022 11:41
      +5

      Тут ситуация хуже, когда язык оригинала отличается от языка перевода — это заметно невооружённым взглядом. А когда язык оригинала русский и он пытается перевести его с английского на русский, — тут становится непонятно что происходит.


  1. namikiri
    11.02.2022 11:19
    +11

    Именно поэтому переводчик, равно как и другие расширения, излишне любящие залезть в контент — зло. Хотите что-то перевести — не поленитесь и скопируйте текст в переводчик, открытый в отдельной вкладке.


  1. Saiv46
    11.02.2022 12:03
    +31

    <html lang="ru" translate="no">
    <meta name="google" content="notranslate">

    Оказывается автоматический перевод в Хроме можно отключить двумя способами


    1. ifap
      11.02.2022 14:42
      +2

      А зачем? ИМХО те, кто пользуется любыми автоматическими улучшайзерами, должны пройти путем боли и страдания до его конца (отключения оных).


      1. Irker
        11.02.2022 15:17
        +3

        На одном проекте тоже пришлось добавить эти строки, потому что не все проекты созданы для пользователей. Этот встроенный перевод от Хрома любит так же модифицировать DOM и у нас страдали интерфейсы для внешних наемных работников. И на какой-то раз разбираясь почему у конкретного работника происходит в интерфейсе аномалия, вместо фразы "проверьте, что у вас выключен перевод сайта", гораздо проще стало его просто выключить глобально для всех.


        1. ifap
          11.02.2022 15:22
          -5

          Тем самым Вы поощрили пользователей к ламерству, а Гугл - к дальнейшему произвольному вмешательству в авторский код. Текущую проблему при этом решили, да.


          1. Irker
            11.02.2022 15:34
            +8

            Вы всё же не поняли. Еще раз: "не все проекты созданы для пользователей".
            Вы предлагаете бизнесу тратить каждый раз время менеджеров и разработчиков на определение причины очередной непонятной проблемы в работе важного для компании интерфейса. И всё ради только того, чтобы наказать работника-ламера и погрозить Гуглу кулаком.

            Или может быть, мы всё-таки правильно поступили?


            1. ifap
              11.02.2022 16:00
              +5

              Правильно или нет, можете решить только Вы сами, я лишь высказываю то мнение, что не встречая отпора Гугл бодро идет к формуле "Интернет = Гугл". HTML от Гугла мы уже получили.


    1. FTOH
      11.02.2022 21:13

      Можно также отключить перевод только для определённых элементов с помощью класса notranslate.


    1. nickolaym
      12.02.2022 06:56
      +1

      Оторвать руку тому, кто анально огораживает свою страницу от перевода (`translate="no"`) и кто вообще придумал этот атрибут.

      Вот захочет англичанин прочитать русский текст, а ему хренушки. Зачем?

      Хорошо, что можно залезть руками (или экстеншеном) в код и оторвать атрибут. Но это - тем, кто умеет.


      1. Wesha
        12.02.2022 07:13

        Вот захочет англичанин прочитать русский текст, а ему хренушки.

        Уважаемый господин Джон Уотсон, не выделывайтесь, а слушайте свою любимую песню "Yesterday"!


      1. Chamie
        13.02.2022 04:50

        А это не ограничение конкретно на АВТОперевод?


  1. Earthsea
    11.02.2022 12:31
    +3

    но на котлеты смотреть уже не мог – насытился

    НЕ НАЖИМАТЬ


  1. spc
    11.02.2022 13:42
    +9

    Он, оказывается, регистрозависмый


    1. Tkachenko-Ivan Автор
      11.02.2022 13:49
      +3

      всё чудесатее и чудесатее


    1. Ag-None
      11.02.2022 14:21
      +11

      (Возможно незначительное содержание ковров)


      1. PsihXMak
        11.02.2022 14:39
        +29

        Ситуация по немногу проясняется


        1. SilverHorse
          11.02.2022 14:50
          +9

          Почему в двух котлетах появились котята??? О_О


          1. dikey_0ficial
            11.02.2022 15:25
            +6

            В местной чебуречной акция: купи четыре чебурека и собери котёнка!


          1. zxosa
            11.02.2022 15:30
            +1

            Что поймали - из того из сделали.


          1. denticulus
            11.02.2022 15:36
            +2

            А из трёх - полноценная киска


          1. gekt0r
            11.02.2022 16:07
            +8

            Таки тема про пирожки с котятами выходит на новый уровень


            1. gekt0r
              11.02.2022 16:09
              +8

              Ну а кучка котлеток в чём измеряется?
              Правильно! В корзинках!


              1. drWhy
                11.02.2022 16:22
                +27

                Тема математических операций не раскрыта.

                содержит + содержит = лапы +короткие
                содержит — содержит = ковры — содержит
                содержит * содержит = лапы * содержит
                содержит / содержит = маки /маски
                содержит · содержит = маки · маки
                содержит ≠ содержит = лапы ≠ лапы (в чём-то даже логично)
                содержит ≈ содержит = лапы ≈ лапы
                содержит ⩽ содержит = лапы ⩽ лапки (моё любимое)
                содержит √ содержит = √ содержит
                содержит! содержит = коты! котлеты (тут уже Хабраредактор пробел перед "!" откусил)

                Фух, залипательно. Оказывается, при определённой настойчивости можно формализовать и вычислить первопричину.

                Возможно, Сергею Брину с детства запомнился мультфильм про котёнка по имени Гав, спрятавшего котлету. Или просто АльфаГо выгуливают на просторах.


                1. c_kotik
                  11.02.2022 18:00
                  +4


                1. rogoz
                  11.02.2022 22:08
                  +5

                  содержит = котлеты
                  содержит содержит = котенок
                  (содержит)x3 = киска
                  (содержит)x4 = корзина
                  (содержит)x5 = корзина
                  ...
                  (содержит)x8 = корзина
                  (содержит)x9 = маленькие
                  (содержит)x10 = маленькие
                  (содержит)x11 = нет
                  (содержит)x12 = нет
                  ...
                  (содержит)x16 = нет
                  (содержит)x17 = маленькие
                  (содержит)x18 = ошибки 
                  ...
                  (содержит)x22 = ошибки
                  (содержит)x23 = все
                  (содержит)x24 = все
                  (содержит)x25 = все
                                  котлеты 
                  (содержит)x26 = все
                                  котенок 
                  (содержит)x27 = все
                                  киска
                  (содержит)x28 = все
                                  корзина
                  (содержит)x33 = все
                                  маленькие


                  1. vya
                    13.02.2022 21:58
                    +4

                    Похоже на протокол исследований нового SCP-объекта?


              1. Celahir
                11.02.2022 16:39
                +42

                Из этого можно делать отдельную шифровку:


            1. zakstaff
              11.02.2022 19:39
              +10

              Вон оно как


            1. SagePtr
              12.02.2022 10:16
              +3

              Подозрительно сюда затесался Яндекс со своим Кинопоиском ඞ


              1. drWhy
                12.02.2022 13:06

                Смотреть кисок?


                1. Wesha
                  12.02.2022 22:31
                  +1

                  Приличные люди кисок совсем в другом месте смотрят.


          1. nochkin
            14.02.2022 06:20

            Не одними пирогами с котятами быть.


        1. weart
          11.02.2022 14:51
          +1

          Выбираю этот вариант


        1. matahurry
          11.02.2022 16:52
          +3

          Или даже так:



        1. yvp
          12.02.2022 09:03
          +2

          Ковид?


  1. Healer
    11.02.2022 13:45

    Есть ли смысл предложить в гуглопереводчике исправление? Потому что если это исправить, то другие люди когда встетятся с такой проблемой смогут найти эту статью про котлеты и понять в чём причина такого поведения.

    Но если есть смысл, то давайте вместе предложим исправление гуглу https://translate.google.com/?sl=en&tl=ru&text=содержит


  1. me21
    11.02.2022 15:44

    Им проверку бы добавить, что в переводимом тексте нет символов других языков.


    1. drWhy
      11.02.2022 16:49
      +2

      Немцы за умлаут обидятся.


      1. me21
        11.02.2022 17:28

        Почему? Если перевод с английского, то откуда там умлауты и кириллица?

        И наоборот, если перевод с русского, то не должно быть латиницы.

        Точнее, если слова не на том алфавите есть, то они не переводятся, а остаются как есть.


        1. drWhy
          11.02.2022 21:13

          Умлауты отличают немецкий алфавит от латиницы. Пока во вводимом тексте их нет, можно трактовать его как английский. То же с португальским и другими. Как их различать?


          1. me21
            11.02.2022 21:18
            +1

            Согласен, никак. Ну хоть какой-то процент отсеять


          1. Chamie
            11.02.2022 22:26
            +1

            O que há de errado com o português? Мы же не детектированием языка занимаемся, а определением заведомо не относящихся к языку символов. Вот другое дело, что заимствованные слова на вариантах латиницы в английском вполне могут писаться как в оригинале.


            1. drWhy
              12.02.2022 13:08

              А разве для детектирования не относящихся к языку символов не нужно сделать предположения о текущем языке?


              1. Chamie
                13.02.2022 04:51

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


    1. AlexMih
      11.02.2022 20:05
      +4

      Вряд ли согласятся, для них это не баг, а фича. Если пользователь в "английское слово" намешал своих букв, то Гугль прежде всего пытается это исправить - сделать транслитерацию. Хотя иногда это может полностью исказить смысл:


      1. legolegs
        11.02.2022 23:48
        +5

        Что-то у меня плохие предчуствия на тему грядущего повсеместного внедрения телемедицины и машинного обучения.


        1. drWhy
          12.02.2022 13:09

          К примеру болгары кивают инверсно. «Тут больно?»


      1. Lord_Ahriman
        12.02.2022 08:15
        +3

        Здесь нет никакого искажения смысла, как ни странно. Вы написали по-русски "ангина", указав направление перевода "Английский→Русский". Гугл честно транслитерировал "ангина" как "angina" и честно выдал вам перевод: angina это, действительно, именно что стенокардия (один из известных ложных друзей переводчика, хотя даже в русском языке есть термины "ангинальные боли" и "антиангинальный препарат", и медики прекрасно понимают, что это именно про боли от ишемии миокарда, а не воспаленные гланды и горло).


        1. drWhy
          12.02.2022 13:11

          А «Stomach ache» не имеет отношения к стоматологии.


      1. plFlok
        12.02.2022 09:00
        +3

        хм, и правда


      1. Eugeny1987
        14.02.2022 05:32

        с ангиной то всё просто, в транслит вероятно переводит


  1. chinakz
    11.02.2022 16:52

    А на гугле нет переводчика сайта ,а вот раньше был .

    Яндекс тоже весело переводит.

    Вы сами можете помочь в переводе текста когда тренируетесь ,там есть градация ,лёгкий ,средний и затруднительный перевод .Таким волонтёрам ни гугл ,ни яндекс ничего не предлагает .


    1. Fullmoon
      11.02.2022 17:14
      +2

      А на гугле нет переводчика сайта ,а вот раньше был .

      Он и сейчас есть, просто интерфейс объединили.. Вставляешь ссылку в окно переводчика слева — справа он выдаёт ссылку на переведённый сайт.


      1. chinakz
        12.02.2022 20:26
        +1

        А у меня IQ отрицательный ,я не умею в интеллектуальные задачи, там им наверное стыдно за интуитивный интерфейс ,можно в это окошко и символы пихать ?


        1. Wesha
          12.02.2022 22:33

          А у меня IQ отрицательный

          "В наше время этим не годились!"


  1. Iskatel_S
    11.02.2022 19:18
    +1

    Над гуглтранслейтом они угорают. Вы видимо, что такое промт забыли.


    1. Tkachenko-Ivan Автор
      11.02.2022 19:51
      +6

      Угорают же не над качеством перевода, а над его попытками предложить хоть какой-то вариант перевода всегда, даже когда переводить то нечего. Это новый уровень.


    1. legolegs
      11.02.2022 23:50
      +1

      Да лучше с тех пор не стало. Косяки только стали лучше прятаться в переводе.

      Впрочем, тот самый промт по-прежнему существует в виде translate.ru, я иногда им перевожу.


  1. Fahrain
    11.02.2022 19:27
    +5

    Гугло-переводчик — это бесконечный поток лулзов. Мое любимое:


    Загадка решается просто: 天啊 -> Gosh -> Гоша


    1. Myxach
      12.02.2022 00:17
      +2

      Не знаю как китайский, ну японский он явно переводит через перевод на английский. Из за чего перевод даже без исправлений юмористов неадекватный


      1. Chamie
        12.02.2022 00:23
        +1

        А что должно быть?


        1. Wesha
          12.02.2022 00:26
          +1

          Предполагаю, что "собака" :)


        1. Myxach
          12.02.2022 05:25

          otoko(男) это мужчина, ну гугл перевёл 男 как man, а man как человек


  1. East_Star
    11.02.2022 19:40
    +8

    Когда я работал в хостинге в саппорте, мне позвонил пользователь, у которого при заходе на сайт стала показываться ошибка "Плохие Ворота" в яндекс браузере. Я тоже не сразу сориентировался)


    1. Tkachenko-Ivan Автор
      11.02.2022 19:58
      +5

      Фраза «смотреть как баран на новые ворота» заиграла новыми красками


      1. Wesha
        11.02.2022 22:59

        Новые ворота — хорошие! А эти плохие!


  1. Format-X22
    12.02.2022 01:50
    +3

    А иногда в самих сервисах гугла странные переводы (да и в логике). Иногда просто где-то что-то не влезает в кнопку, иногда чуть смысл меняется, но иногда... до сих пор помню в настройках рекапчи кноку "ДА" над списком доменов, вообще без пояснений, которая при нажатии удаляла аккаунт целиком.


    1. light_and_ray
      12.02.2022 02:29
      +2

      • Скажи "да"

      • Что "да"? А что будет

      • Не важно, просто скажи "да"

      • Да

      • ...


  1. ibrin
    12.02.2022 05:33
    +2

    Это же дичь какая-то, браузеры лезут в ДОМ без спросу. Процессы лезут в интернет тоже как попало. Их только файервол останавливает и предлагает выбрать действие, а они сами должны при первом коннекте представляться и спрашивать, типа "я процесс такой-то, нужен для того-то, можно мне интернета хлебнуть для таких-то дел?"


    1. Tkachenko-Ivan Автор
      12.02.2022 10:22
      +4

      Ты пускаешь браузеры в свой ДОМ, а они меняют то, что он содержит на котлеты. Не доверяйте браузерам.


  1. Foduch
    12.02.2022 09:03
    +2

    В angular material иконках на Яндекс браузере такая проблема была. Пользователи жаловались, что вместо иконок показывает текст огромным шрифтом и ничего не разобрать. А дело в том, что в html эти иконки на самом деле текст и ангуляр их сам заменяет на иконки. А Яндекс браузер почему-то считал, что нужно переводить этот текст


    1. Myxach
      12.02.2022 11:16
      -1

      Звучит как вина angular'a, а не яндекса...честно говоря


      1. mayorovp
        12.02.2022 12:31

        Звучит как нечто очень странное, потому что иконки в Angular Material UI устроены по-другому: с точки зрения Ангуляра они компоненты, а не текст, и работа с ними идёт как с компонентами.


        Возможно, Foduch имел в виду, что в DOM (не html!) был просто текст, который заменялся на иконку шрифтом (а не ангуляром!).


  1. alienator
    13.02.2022 12:36

    Когда дело доходит до настоящих котлет, все становится ещё хуже.


    1. Wesha
      13.02.2022 21:56

      Никогда б не подумал, что "Макдональдс" закупает свои расходники в Китае...


      1. Chamie
        14.02.2022 02:41

        Судя по цветам и шрифту, это не Мак, а БК.