Перейти до вмісту

Блог ·

Дві назви для однієї статті

Текст посилання, що вкорочує назву, є фірмовим стилем. Той, що підмінює слово, є дефектом. Щоб їх розрізнити, знадобилося вимірювання, а не думка.

Автор: Provibr

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

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

Очевидне правило не є фірмовим стилем

Ми зміряли кожне внутрішнє посилання між статтями девʼятьма мовами: 1153 таких, без жодної відсутньої цілі. Тоді ми оцінили кожен текст посилання проти назви сторінки, на яку він вказує, як перекриття слів, і подивилися на все, що лежить нижче порогу 0.55.

Таких було 418. Сорок девʼять були англійською, яка є мовою джерела і тому за визначенням не є дрейфом перекладу. Ті сорок девʼять виглядають так:

> посилання з текстом only ever connects outbound, що вказує на статтю з назвою The case against port forwarding your panel

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

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

Дефект є у верхній смузі, і він є підміною

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

> посилання: ein Ablauf ist ein Graph, und ein Graph muss endlich sein > назва: Ein Flow ist ein Graph, und er muss endlich sein

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

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

Сформульоване так, правило є одним реченням і витримує зіткнення зі справжнім текстом. Вище порогу перекриття текст посилання може назву вкоротити або продовжити, але не обидва воднораз.

Дві речі, що виглядають іншою назвою і нею не є

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

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

Поріг у два, а не в три, є зміряним, а не обраним. Італійський випадок із того самого звіту є deve essere проти назви, що читається як dev'essere: ті самі два слова, записані з елізією. З межею у три символи dev випадає з боку назви, нічого більше не бракує, і знахідка зникає. Сторожа, налаштована на один символ агресивніше, стала б зеленою на одному з двох випадків, заради яких її будували.

Другим є словозміна. sell і selling, says і saying є тим самим словом у різних формах, і у восьми мовах це є сталим. Два слова, що ділять чотирисимвольну основу, рахують як те саме слово.

Англійський відповідник є сортуванням

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

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

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

Саме виправлення склало 76 текстів посилань у 66 файлах вісьмома мовами: пʼятнадцять нідерландською, тринадцять італійською, дванадцять французькою, по вісім румунською та українською, по сім німецькою та іспанською, шість португальською і жодного англійською. Різниця вийшла рівно на 66 рядків усередину і 66 рядків геть, а це є найдешевшим підтвердженням того, що більше ніщо не зрушило. Лічба верхньої смуги впала з 94 до 18, і ті 18 є винятками.

Списку дозволеного потрібен тест, що він живий

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

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

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

Сторожу довели червоною, перш ніж повірити їй зеленій, на стані дерева до виправлення: вісім з одинадцяти тестів зазнали невдачі, повідомивши рівно ті 76 знахідок, які тоді й полагодили.

Дві речі, які цей раунд знайшов і не виправив

Дві знахідки були поза обсягом, і їх записали, замість тихо полагодити.

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

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

Що ми б записали

  1. Правило, яке ви написали б зі звіту, зазвичай є хибним. Зміряйте цілий корпус, перш ніж його закодувати.
  2. Короткий описовий текст посилання є фірмовим стилем, а сторожа на ньому назве сотні недефектів.
  3. Дефектом є підміна, а не вкорочення. Слово додане і слово відсутнє воднораз.
  4. Дивіться вище порогу, а не нижче. Справжній випадок мав 0.78 при порозі 0.55.
  5. Налаштовуйте межі на випадках, які маєте, і перевіряйте, чи не змушує налаштування один з них зникнути.
  6. Словозміна не є іншою назвою. Спільної основи досить.
  7. Мова джерела є сортуванням. Якщо англійська там теж є описовою, то переклад не дрейфує.
  8. Кожен виняток несе причину, а причина каже, що робить джерело, а не те, що хтось подивився.
  9. Випробовуйте, чи живий ваш список дозволеного. Мертвий запис не захищає нічого й виглядає повним.
  10. Доведіть сторожу червоною на старому стані, з лічбою знахідок, які вона має дати.

Для ясності про те, чим це є: 1153 внутрішні посилання між статтями зміряно девʼятьма мовами без жодної відсутньої цілі, 76 виправлено в 66 файлах, різниця рівно 66 усередину і 66 геть, верхню смугу зменшено з 94 знахідок до 18 записаних винятків, нова сторожа має 11 тестів і доведена червоною на 8 невдачах на старому дереві, перевірка вмісту 851 із 851 породжених файлів байт у байт тотожних, набір вебу зеленим на 4594 там, де було 4583, перевірка типів чистою, лінтер без помилок, а побайтове сканування 66 зачеплених файлів із двома типографічними лічбами радше поясненими, ніж припущеними. Не доведено: досі є один читач на мову, жоден із них не є носієм, а причин винятків не читала друга людина.

Із платформної роботи над Provibr. Рецензія читача, що це виявила, описана в Три вади, яких не міг побачити жоден скрипт, а що девʼять каталогів роблять із набором сталих елементів керування, описано в Шістнадцять тисяч ключів, девʼять мов.

Читати далі

Почніть з одного хоста й одного агента

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