Чому одне речення стає десятьма сегментами в IDML

Розбираємо, чому CAT-інструмент ділить речення з IDML на сегменти: абзацні маркери, примусові переноси, стилі та правила сегментації.

Також: UK RU EN
Чому одне речення стає десятьма сегментами в IDML

В InDesign речення виглядає суцільним, а після імпорту IDML у CAT-інструмент раптом розпадається на десять сегментів. Перекладач отримує короткі шматки тексту, а між ними - позначки форматування, переноси чи незрозумілі теги. Не поспішай звинувачувати CAT-інструмент: видимий рядок, структура XML і сегмент перекладу - це три різні речі.

Щоб знайти причину, спершу перевір, що саме записано в IDML: кінець абзацу, примусовий перенос чи зміна стилю. Потім порівняй це з тим, як файл прочитав імпортер і які правила сегментації застосовує CAT-інструмент.

Що саме бачить CAT-інструмент у файлі IDML

IDML - це документ InDesign, упакований у ZIP-архів із XML-компонентами. Специфікація описує структуру пакета та його XML-схему; доступна копія має версію 8.0 і стосується InDesign CS6. Вона пояснює формат файлу, але не визначає, як працює кожен сучасний CAT-імпортер (специфікація IDML).

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

У моделі історії є три важливі складники: ParagraphStyleRange, CharacterStyleRange і Content. Текст записано в Content, а діапазони описують форматування. Назви можуть навести на думку, ніби кожен діапазон дорівнює видимому абзацу чи реченню, але це не так: діапазони описують стилізовані частини тексту, а їхня кількість не показує, скільки в документі речень або абзаців (опис структури історії IDML).

Уяви речення «Натисніть кнопку, щоб зберегти файл», де слово «кнопку» виділене жирним. На сторінці фраза читається як одне ціле. У структурі історії текст може йти через кілька символьних діапазонів: звичайний стиль, діапазон виділеного слова, а потім знову звичайний. CAT-інструмент може показати позначку форматування на межі, але сама позначка не робить її межею сегмента.

Ось три речі, які варто розрізняти:

  • Структура IDML описує текст, форматування та спеціальні символи.
  • Імпортер CAT-інструмента читає пакет і вирішує, що показати перекладачеві.
  • Сегментація CAT-інструмента визначає, на які одиниці перекладу поділиться текст.

Якщо речення розпалося, кілька CharacterStyleRange у файлі ще не доводять, що винні стилі. Спочатку перевір маркери кінця абзацу, а потім - правила сегментації та роботу імпортера. Інакше можна довго виправляти форматування, хоча причина - абзацний розрив або мовне правило.

Слово «рядок» теж може означати різне. В InDesign це може бути видима лінія тексту на сторінці, а в CAT-інструменті - фрагмент у редакторі чи запис у таблиці. XML-історія не обов’язково зберігає текст так, як дизайнер розбив його на видимі лінії. Тому кількість рядків у макеті не підкаже, скільки буде сегментів.

Br, U+2028 і табуляція: три різні сигнали

Під час діагностики насамперед розрізни кінець абзацу й примусовий перенос рядка. У технічній моделі IDML абзацний маркер позначає елемент Br. Примусовий перенос - це символ U+2028 усередині Content. А табуляцію записують як символ U+0009, а не як окремий елемент табуляції (модель історії IDML).

Технічна документація IDML Reference пояснює різницю так:

Абзац завершується там, де стоїть маркер <Br/>; примусовий перенос рядка - це символ U+2028 усередині Content; табуляція - символ табуляції U+0009.

Значення цих маркерів різне. Br завершує абзац. U+2028 переносить текст на наступну візуальну лінію, але залишає його в тому самому абзаці. Табуляція створює відступ або позицію в рядку, але сама по собі не завершує ні абзацу, ні речення.

Наприклад, дизайнер хоче розмістити речення на двох лініях:

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

Якщо між частинами стоїть U+2028, абзац триває. Якщо стоїть Br, перша частина закінчує абзац, а друга починає наступний. На сторінці обидва варіанти можуть виглядати як звичайний перенос, але CAT-інструмент здатен обробити їх по-різному.

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

U+2028 теж не гарантує, що CAT-інструмент збереже все речення одним сегментом: інструмент може поділити його за розділовими знаками або іншими правилами. Але якщо в історії є U+2028, не плутай його з абзацним маркером і не виправляй як Br.

Табуляція може додати в сегмент ще один елемент. Якщо між словами з’явився незвичний проміжок або тег, перевір, чи немає в тексті U+0009. Табуляція може бути частиною структури вмісту, але це не окремий абзац і не доказ того, що саме вона розділила сегмент.

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

Що шукаєте Представлення в моделі IDML Що означає
Кінець абзацу Br Абзац завершується
Примусовий перенос U+2028 усередині Content Візуальна лінія змінюється, абзац триває
Табуляція U+0009 усередині Content Табуляційний символ у тексті

Таблиця пояснює елементи моделі, але не обіцяє однакової поведінки всіх CAT-інструментів. Якщо знайшов Br, з’ясуй, чи дизайнер справді хотів окремий абзац, чи поставив цей маркер замість примусового переносу. Якщо знайшов U+2028, перевір імпорт і мовні правила, перш ніж редагувати вихідний текст.

Чому один видимий текст стає багатьма сегментами

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

Справжній розрив абзацу всередині фрази

Іноді макет роблять за допомогою абзацних розривів, хоча текст має читатися як одне речення. Наприклад, автор або дизайнер натискає Enter, щоб поставити кожну частину речення на окрему лінію. Якщо такі переноси записані як Br, IDML зберігає межі абзаців. CAT-інструмент може показати частини тексту в різних сегментах.

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

В одному описаному випадку користувач вставив повернення всередині речення, і в результаті з’явилося кілька сегментів. У зразку XML між частинами тексту стояв Br. Це наочний приклад механізму, але не правило для всіх CAT-інструментів: випадок стосується конкретного обговорення й робочого процесу.

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

Межі символьного форматування

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

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

В обговоренні спільноти Adobe описано роботу з IDML через XLIFF до memoQ. Учасник згадує, що теги форматування, зокрема для жирного й курсиву, можуть впливати на форматування, доступне перекладачеві в редакторі (обговорення про переклад IDML у CAT-інструменті). Приклад пояснює, чому варто розрізняти текст і метадані форматування, але не доводить, що кожна зміна стилю створює окремий сегмент.

Правила сегментації мови

CAT-інструмент може визначати межі сегментів за мовними правилами. Наприклад, правила аналізують конструкції перед і після можливої межі, щоб знайти ймовірний кінець речення. Через це текст може ділитися там, де в структурі IDML немає Br.

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

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

Приховані та службові елементи

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

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

Не рахуй кожну видиму позначку як фрагмент речення. Спершу з’ясуй, що саме позначає тег: форматування, структурний маркер, прихований вміст чи текст, який справді треба перекласти.

Як діагностувати поділ: перевірка від джерела до CAT-інструмента

Завдання діагностики - відокремити структуру IDML від поведінки імпортера та правил сегментації. Перевіряй причини по черзі, щоб не міняти налаштування навмання.

  1. Знайди проблемний текст у візуальному макеті. Запиши речення повністю й познач, де CAT-інструмент поставив межі сегментів. Не роби висновок лише за перенесенням на сторінці: видима лінія не дорівнює абзацу.

  2. Знайди відповідну історію в IDML. IDML - це ZIP-пакет, а текстові історії зберігаються в окремих XML-компонентах каталогу Stories. Перевір фрагмент у XML-історії, а не лише в структурі макета (специфікація IDML).

  3. Перевір маркери біля межі сегмента. Шукай Br, U+2028 або U+0009. Br завершує абзац, U+2028 переносить рядок усередині абзацу, а U+0009 позначає табуляцію. Не замінюй один тип іншим, доки не з’ясуєш його функцію.

  4. Перевір діапазони стилів. Подивись, чи змінюється CharacterStyleRange саме там, де з’явився поділ. Зістав атрибути форматування, але не вважай автоматично, що межа стилю створила окремий сегмент. У моделі IDML діапазон стилю може охоплювати частину речення, а обробляє його CAT-інструмент за власними правилами імпорту.

  5. Порівняй сегментацію з правилами мовної пари. Перевір правила визначення речень і винятки для скорочень у CAT-інструменті. Якщо відповідного Br у IDML немає, але сегмент закінчується після крапки, перевір і мовні правила.

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

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

Такий порядок допомагає розібрати скаргу «IDML неправильно нарізав речення» на три окремі питання. Структура IDML показує, які маркери є у файлі. Імпортер показує, як конкретний CAT-інструмент їх прочитав. Правила сегментації пояснюють поділ на мовному рівні.

Типовий приклад: інструкція в макеті виглядає як одне речення, а перекладач отримує кілька коротких сегментів. У XML між частинами стоїть Br. Якщо автор хотів один абзац, ручні абзацні розриви пояснюють поділ краще, ніж форматування чи крапка. Якщо в XML стоїть U+2028, абзац не завершується, тож перевіряти треба імпорт і мовні правила.

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

Об’єднання сегментів чи виправлення джерела

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

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

У тій самій дискусії є застереження: об’єднання багатьох сегментів може забрати час і збільшити ризик помилок. Автор також зауважив, що XML-структура IDML ускладнює просте очищення видимих переносів регулярним виразом. Тобто автоматична заміна символів без перевірки контексту може зачепити справжні межі, форматування чи інші елементи структури.

Перед об’єднанням запитай себе:

  • Чи мають фрагменти за змістом утворювати одне речення?
  • Чи позначено межу в IDML як Br, чи її створило лише правило сегментації?
  • Чи збереже об’єднання форматування й структуру абзаців та чи можна буде повернути файл у макет?

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

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

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

Поширені помилки під час роботи з IDML

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

«Кожен CharacterStyleRange - окремий сегмент»

CharacterStyleRange описує форматування, а не обов’язково окреме речення чи сегмент. Одне речення може проходити через кілька таких діапазонів. Зміна стилю створює структурну межу форматування, а CAT-інструмент сам вирішує, як її показати.

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

«Будь-який перенос у макеті - це кінець абзацу»

Видима лінія може переноситися через ширину текстового блока, примусовий перенос або абзацний маркер. У моделі IDML U+2028 переносить рядок усередині абзацу, а Br завершує абзац. Перед виправленням файлу перевір, який маркер стоїть у структурі історії.

«Десять сегментів означають десять речень»

Сегмент - це одиниця CAT-інструмента, а не гарантовано одиниця авторського змісту. Кілька сегментів можуть з’явитися через абзацні розриви чи мовні правила; один сегмент може містити кілька форматованих фрагментів. Перевіряй зміст і структуру окремо.

«Якщо є крапка, межа правильна»

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

«Регулярний вираз виправить усі зайві переноси»

IDML - це пакет структурованих XML-компонентів, а не суцільний текстовий файл із простими переносами. Заміна всіх видимих повернень може змінити справжні межі абзаців або пошкодити інші елементи. Спершу визнач конкретний тип маркера й перевір правку на копії.

«Усі теги в сегменті треба перекласти»

Тег може позначати форматування чи службовий вміст, а не слова для перекладу. Відокремлюй текст від метаданих, зберігай потрібні для верстки позначки й з’ясовуй функцію незнайомих тегів. Обговорення робочого процесу IDML через XLIFF також показує, що форматувальні теги можуть впливати на редагування тексту в CAT-інструменті (приклад робочого процесу).

«Однакова назва формату означає однаковий імпорт»

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

FAQ

Чому одне речення стає кількома сегментами в CAT-інструменті?

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

Чи розділяють символьні стилі сегменти в IDML?

Зміна атрибутів символів може створити новий CharacterStyleRange, тобто діапазон форматування. Чи стане ця межа сегментом, залежить від імпортера CAT-інструмента та правил обробки.

Чим відрізняється розрив абзацу IDML від примусового переносу рядка?

Маркер Br завершує абзац. Символ U+2028 створює примусовий перенос усередині Content, тому текст залишається в тому самому абзаці.

Як не допустити зайвих сегментів через ручні переноси?

Перевір вихідну історію IDML і з’ясуй, чи переноси позначені як Br або U+2028. Якщо автор використав Br для переносу всередині одного речення, погодь виправлення структури з відповідальним за макет; якщо стоїть U+2028, перевір імпортер і правила сегментації.

Чи можна об’єднати сегменти IDML через межу абзацу?

Можливість залежить від CAT-інструмента й налаштувань проєкту. Перш ніж об’єднувати, перевір, чи Br позначає помилковий перенос або справді розділяє зміст, а після правки перевір форматування й експорт.

Чи означають теги форматування, що текст не можна перекладати?

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

Чому сегментація може змінитися після повторного імпорту того самого IDML?

Результат залежить не лише від вмісту IDML, а й від імпортера та налаштувань проєкту в CAT-інструменті. Порівняй профіль імпорту й правила сегментації, а потім перевір історію біля меж, які змінилися.

Спробуйте ChatsControl

AI-платформа для професійних перекладачів

Спробувати безкоштовно →