Глоссарий — это не поиск и замена: сначала определите границы слов, регистр и исключения

Сопоставление глоссария — это не простой поиск и замена: если границы слов, заглавные буквы и исключения не обрабатываются должным образом, возникнут неправильные или отсутствующие замены. В этой статье используется стандартная библиотека Python re для написания примера проверки, прилагается контрольный список приемки и объясняется, как проверить перевод с помощью терминологической функции OmniDoc.

— В примере используется стандартная библиотека re для сопоставления независимых API, без учета регистра и не сопоставления соседних букв, цифр и знаков подчеркивания.

  • Результаты сопоставления следует использовать в качестве зарезервированных кандидатских позиций, а исходный текст не следует переписывать напрямую. Рецензент решит, стоит ли его заменять.

— API и api_gateway в примере не совпадают, а китайские термины в примере не рассматриваются.

  • При оценке терминологических возможностей OmniDoc десенсибилизированные образцы, содержащие текст, идентификаторы кода и словоизменения, можно сверить с переводом.

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

Эта статья предназначена для редакторов и разработчиков, которым необходимо поддерживать терминологию для переводов или документации. Ниже используется стандартная библиотека Python для написания консервативного примера проверки, дается контрольный список приемки и объясняется, как проверить перевод с помощью терминологической функции OmniDoc. Прочитав его, вы сможете решить, какие слова должны быть кандидатами, какие следует защитить и как превратить глоссарий в соглашение, которое команда сможет вычеркивать.

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

Как заменить глоссарий, не допустив ошибок? Вывод в одно предложение

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

твоя ситуацияРекомендуемые практикипричина
В документе появляется независимый API.В качестве кандидатов, проверенных по глоссарию и контексту.Слова, содержащие одинаковые буквы, не обязательно следует заменять все.
Появляются изменения слов, такие как APIs.Явно поддерживать правила словоформыНезависимое совпадение в этом примере не приведет к совпадению с APIs.
Появляются идентификаторы кода, такие как api_gateway.Защищайте, не переписывайте напрямуюИдентификаторы обычно защищены
Работать с китайской терминологиейИспользуйте причастия или правила, подходящие для китайского языка.Правила границ английских слов не могут быть напрямую применены к китайскому языку.

Для каждого языка требуется собственное соглашение о сопоставлении

В этой статье приводится сознательно консервативный пример английского языка: API сам по себе игнорирует соответствие регистра, а буквы, цифры и символы подчеркивания не совпадают, когда они находятся рядом. Пример реализован с использованием стандартной библиотеки Python re.

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

Тест со строками, которые находятся близко, но не должны задевать

При тестировании не только смотрите, что должно попасть, но и вставляйте строки, которые близки, но не должны попадать, например APIs и api_gateway.

import re

def english_candidates(text, term):
    if not term:
        raise ValueError("empty term")
    pattern = re.compile(r"(?<!\w)" + re.escape(term) + r"(?!\w)", re.IGNORECASE)
    return [(m.start(), m.end(), m.group()) for m in pattern.finditer(text)]

text = "API and api; APIs, rapid, api_gateway."
found = english_candidates(text, "API")
assert [item[2] for item in found] == ["API", "api"]
assert all(text[start:end] == raw for start, end, raw in found)
assert english_candidates("api_gateway", "API") == []
assert english_candidates("APIs", "API") == []
assert english_candidates("(API)", "API")[0][2] == "API"
try:
    english_candidates(text, "")
except ValueError:
    pass
else:
    raise AssertionError("empty glossary term accepted")

Соответствующий кандидат не является командой замены

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

Позиции-кандидаты в HTML или Word также необходимо сопоставить с узлами структуры. Вы не можете просто взять позицию всей склеенной строки и записать ее обратно в исходный текст.

сценаВ этом случае выберитеДальнейшая стратегия
Автономный APIКак кандидатОбзор по глоссарию и контексту
APIsНесоответствиеЧётко определите правила ведения словоформ
api_gatewayНесоответствиеИдентификаторы обычно защищены
Китайская терминологияЗаявлено о освещенииИспользуйте сегментацию слов или правила, подходящие для китайского языка

Чувствительность к регистру имеет границы

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

Крупные глоссарии также должны учитывать перекрывающиеся кандидаты, самые длинные совпадения и вопросы управления версиями, чтобы избежать постоянных противоречивых предложений в одном абзаце.

📊 Сравнение ядра

Методы обработкиМетодОсновное влияние
Глобальный поиск и заменаНапрямую заменить все совпадающие текстыЛегко ошибочно заменить содержимое в основном тексте, ссылках и кодовых областях
Обзор кандидатовПозиция и оригинальный текст сохраняются, а рецензия подлежит пересмотруОн различает основной текст, ссылки и кодовые области, а также показывает, следует ли сохранять исходное слово

Сделайте глоссарий проверяемой конвенцией

Официальный сайт OmniDoc (запись продукта) представляет функцию глоссария. Во время оценки вы можете выбрать анонимные образцы с основным текстом, идентификаторами кода и изменениями формы слова и сравнить их с переводом, чтобы проверить, подходит ли терминология в правильный контекст.

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

🎯 Какой способ тебе подходит?

Если ты ......

  • Документы, которые необходимо обрабатывать с идентификаторами кода: сначала защитить область кода, затем проверить кандидаты.
  • Термины с изменением формы слов: Заранее соблюдайте правила формы слов и не ожидайте, что независимые совпадения перезапишут APIs.
  • Обрабатывайте китайскую терминологию: не применяйте правила границы английских слов; используйте сегментацию слов или правила, подходящие для китайского.
  • Крупные учебники: также должны работать с перекрывающимися кандидатами, самыми длинными совпадениями и управлением версиями.

❓ Часто задаваемые вопросы (FAQ)

1. Почему сопоставление глоссариев нельзя напрямую заменить глобально?

Потому что слова, содержащие одну и ту же букву, не обязательно нуждаются в замене. Например, APIs — это словесная флексия, а api_gateway — идентификатор кода.

2. Может ли этот пример справиться с формами множественного и притяжательного числа?

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

3. Можно ли написать кандидатские позиции напрямую на весь текст?

Кандидатные позиции в HTML или Word сначала нужно сопоставить с структурными узлами; нельзя просто записать позиции всей конкатенированной строки.

4. На что стоит обращать внимание в больших глоссариях?

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

📝 Краткое содержание

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

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

Обновлено 2026-11-14