Глосарій не є пошуком і заміною: спочатку визначте межі слів, регістр і винятки
Зіставлення глосарію — це не простий пошук і заміна: якщо межі слів, великі літери та винятки не обробляються належним чином, відбуватимуться неправильні або відсутні заміни. У цій статті використовується стандартна бібліотека Python для написання прикладу перевірки, додається контрольний список прийнятності та пояснюється, як перевірити переклад за допомогою функції термінології 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 | як кандидат | Огляд за глосарієм і контекстом |
| API | немає збігу | Явно підтримувати правила форми слова |
| api_gateway | немає збігу | Ідентифікатори зазвичай захищені |
| Китайська термінологія | Не вимагає покриття | Використовуйте дієприкметники або правила, придатні для китайської мови |
Нечутливість до регістру також має межі
Регістр Юнікоду та мова не завжди відповідають один одному. Ця стаття орієнтована на прості англійські терміни і не може бути узагальнена для розпізнавання термінів, придатних для всіх мов.
Великі глосарії також повинні вирішувати питання кандидатів, що збігаються, найдовших збігів і керування версіями, щоб уникнути повторних суперечливих пропозицій для того самого абзацу.
📊 Основне порівняння
| Спосіб обробки | практика | основний вплив |
|---|---|---|
| Глобальний пошук і заміна | Безпосередньо замінити весь відповідний текст | Легко помилково замінити вміст у тілі, посиланнях і областях коду |
| Рецензія на кандидата | Розташування та оригінальний текст буде збережено та залишено на розсуд рецензента. | Може розрізняти текст, посилання та області коду, а також може бачити, чи потрібно зберегти оригінальні слова |
Зробіть глосарій угодою, яку можна перевірити
Офіційний сайт OmniDoc (портал продуктів) представляє функцію глосарію. Під час оцінки ви можете вибрати десенсибілізований зразок, що містить текст, ідентифікатори коду та морфологічні зміни, і перевірити, чи терміни належать до правильного контексту з перекладом.
Цінність глосарію полягає не в тому, щоб механічно замінити більше слів, а в тому, щоб зробити формулювання команди більш стабільними.
🎯 Який спосіб вам підходить?
якщо ви...
- Потрібно обробити документи, що містять ідентифікатори коду: спочатку захистіть область коду, а потім перегляньте кандидатів.
- Терміни з флексіями: завчасно дотримуйтеся морфологічних правил і не очікуйте, що незалежна відповідність покриє
APIs. - Обробляйте китайську термінологію: не застосовуйте правила обмеження англійських слів, натомість використовуйте сегментацію слів або правила, придатні для китайської.
- Великий глосарій: кандидати, що накладаються один на одного, найдовші збіги та керування версіями, також потрібно розглянути.
❓ Часті запитання (FAQ)
1. Чому не можна глобально замінити відповідність глосарію?
Оскільки слова, що містять однакові літери, не обов’язково потрібно замінювати, наприклад, APIs є морфологічною зміною, а api_gateway може бути ідентифікатором коду.
2. Чи може цей приклад обробляти форми множини та присвійні форми?
не можна. Це навмисне консервативний приклад англійської мови, який не відповідає за множину, присвійний або контекстний усунення неоднозначності.
3. Чи можна позицію кандидата відписати безпосередньо до всього тексту?
Позиції кандидатів у HTML або Word потрібно спочатку зіставити з вузлами структури, і ви не можете просто записати назад позицію всього об’єднаного рядка.
4. На що слід звернути увагу, користуючись великим глосарієм?
Необхідно звернути увагу на кандидатів, що збігаються, найдовші збіги та керування версіями, щоб уникнути повторних конфліктних пропозицій для того самого абзацу.
📝 Підсумок
Цінність глосарію полягає в тому, щоб зробити формулювання у вашій команді більш стабільними. Під час оцінювання використання десенсибілізованих зразків для перевірки перекладу надійніше, ніж пряма заміна.
Спробуйте зараз: завантажте документ, щоб розпочати переклад, зберігаючи вихідний макет


