БлогЗаполнители в переводах и как с ними работать

Заполнители в переводах и как с ними работать

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

Pavel DoroninSmartcat
6 мин чтения
Копировать

Попробуйте Smartcat

Узнайте, как ваша команда может переводить всё на все языки, на которых говорят ваши клиенты.

Заказать демо

Начать бесплатный пробный период

Без кредитной карты — 15-дневный пробный период

Я помню, как впервые участвовал в проекте по локализации программного обеспечения. Мне было поручено перевести пользовательский интерфейс какой-то промышленной компьютерной системы с помощью сложного инструмента локализации программного обеспечения. У меня не было проблем с техническими аспектами, но перевод пользовательского интерфейса был для меня в новинку, и эта задача оказалась для меня настоящим испытанием.

На самом деле, стиль текстов не был для меня чем-то необычным. Будучи в некоторой степени знакомым с ИТ, я хорошо знал «компьютерный» язык, который обычно используется в программном обеспечении (хотя под влиянием чат-ботов и голосовых интерфейсов мое мнение с тех пор кардинально изменилось). Настоящей загадкой для меня были эти странные символы: {0}, %d, %setup% и $stop$. Я понятия не имел, что они означают и нужно ли переводить слова, заключенные между этими символами, поэтому в мгновение ока я допустил множество ошибок. Символы новой строки, обозначенные как \n, стали последним ударом по моей уверенности в себе. Я никогда раньше их не видел, и хуже всего было то, что они часто сливались с другими словами. Как будто ситуация не была достаточно нелепой, текст был на немецком языке, что делало очень сложным понять, было ли \nein «nein» или «\n» + «ein». Проектный менеджер, наверное, пожалел о своем решении поручить эту задачу такому дураку, как я, после того, как его засыпали вопросами. Возможно, он даже высказался в Твиттере.

Обнаружил, что заполнители в переведенных файлах для срочного проекта волшебным образом исчезли. #PMproblems #StartPanicking

— Lau Velázquez (@geekylau) 9 октября 2013 г.

Переводчики, которые переводят заполнитель $DepartureTime$ как $HeureDépart$, просто последовательны.

— Olivier Oswald (@ooswald) 27 июля 2011 г.

Переводчики, которые переводят заполнитель $Departure Time$ как $HeureDépart$, просто следуют единому стилю.

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

— Войтех Шуберт (@falagor)12 января 2016 г.

Спустя годы воспоминания о моем первом опыте вызывают у меня улыбку. Разумеется, я всегда уделяю время переводчикам, чтобы объяснить им, как работают переменные. А лучший способ избежать ошибок и сэкономить время для себя и своей команды — использовать регулярные выражения. С их помощью переменные можно превратить в нередактируемые и легко отслеживаемые объекты. В разных программах эти объекты называются по-разному. В Smartcat мы называем их «заполнителями». А если вам интересно, что такое регулярные выражения, то они не имеют ничего общего с светской беседой. Это шаблоны, которые используются для сопоставления и манипулирования комбинациями символов. Для изучения регулярных выражений не требуются навыки программирования. Просмотрите эту простую презентацию, подготовленную Томасом Вакье, экспертом по локализации в Yamagata Europe, чтобы понять, что такое regex (сокращение от «regular expression», регулярное выражение).

Загадочные символы

В качестве быстрого примера возьмем несколько строк из песни I’m Gonna Be (500 miles) группы The Proclaimers:

Но я бы прошел 500 миль И еще 500 миль, Чтобы стать человеком, который прошел тысячу миль, Чтобы упасть у твоей двери

Допустим, мы хотим, чтобы эти слова менялись, когда слушатель перемещается в другое место. Для этого нам понадобятся переменные:

Но я бы прошел %$1s миль И я бы прошел еще %$2s Только чтобы быть тем человеком, который прошел {spelled-number} миль Чтобы упасть у твоих {location}

Какие опасности здесь таятся? Важные символы могут быть удалены и/или использованы не по назначению. Цифры в %$1s должны следовать последовательному шаблону, а «spelled-number» и «location» не должны переводиться. К сожалению, не все это знают.

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

Защита от новичков, или как спасти мир

Что же мы можем сделать, чтобы предотвратить катастрофы и сэкономить время на редактировании? Опишем переменные с помощью регулярных выражений:

  • Для переменных с последовательными числами: %\$\ds

  • Для переменных, заключенных в фигурные скобки: \{.+?\}

Лично я считаю эту шпаргалку очень полезной для составления регулярных выражений, а regex101.com — отличным онлайн-инструментом, который я рекомендую для тестирования. Теперь давайте загрузим файл, содержащий переменные, в Smartcat. Вот что мы увидим:

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

Один промах здесь может привести к очень печальным последствиям. Могут возникнуть ошибки при отправке заказов со склада, а правильная установка тоже может оказаться проблематичной. Клиент понесет убытки или, что еще хуже, неверные данные могут вызвать технические проблемы, которые, в свою очередь, могут привести к экологической катастрофе. Заполнители не переводятся, их нужно просто безопасно перенести на язык перевода, так зачем тратить на них время? Давайте найдем все коды заказов с помощью этого элегантного регулярного выражения [A-Z]{2}\d{4}\-\d{4} и волшебным образом превратим их в нередактируемые элементы:

Какой отличный способ упростить и ускорить процесс перевода (а также его редактирование)!

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

Я обратился к своим коллегам с вопросом об их опыте использования заполнителей.

Фёдор Безруков, исполнительный директор Logrus IT (киевский офис)

«Использование заполнителей и тегов в форматах документов — обычная ситуация в нашей работе. Они очень помогают, когда клиенты присылают файлы Excel, содержащие HTML- или XML-разметку. Благодаря поддержке заполнителей и регулярных выражений в Smartcat работать с такими ресурсами стало гораздо проще и удобнее».

Марина Ильиных, менеджер по локализации в Bookmate

«Мы часто используем переменные и форматирование в пользовательских интерфейсах наших приложений. Замена тегов и переменных на заполнители позволяет нам выполнять автоматическую проверку согласованности и защищать важные данные, такие как цены, даты подписки и ссылки».

Янис Евангелу, генеральный директор lexiQA, поделился своими смешанными чувствами:

Яннис Евангелу, генеральный директор lexiQA

«Часто возникает проблема, когда переводчики переводят текст внутри заполнителей, токенов и тегов. Также часто игнорируются символы экранирования. Большинство из них не знают, что это непереводимые лексические единицы. Проектные менеджеры тоже этого не знают. Однако такая халатность может привести к критическим ошибкам. Один переводчик рассказал мне, что ему пришлось работать с текстом, содержащим HTML-форматирование, и он перевел строку <p style="border: 1px solid red;"></p> в <π στυλ="περίγραμμα: 1 πίξελ συμπαγές κόκκινο;"></π>. Он утверждал, что, возможно, разработчик, который будет использовать этот текст, не говорит по-английски. Менеджер проекта не исправила эту ошибку, потому что сочла аргументы переводчика... разумными!

Затем в разговор вступил Рольф Клишевски, эксперт по локализации игр:

«Переводчики игр часто сталкиваются с такими вещами:

И, конечно же, с этим связаны всевозможные проблемы.

Здесь проблема заключается в том, что для некоторых направлений требуется артикль. Так, это «Багамы», но «Барбадос». Или по-немецки «die Schweiz» для «Швейцария». В таких случаях мы часто отказываемся от проекта. Обычно я советую клиентам сменить текстовый движок, потому что не хочу поставлять некачественную работу. Разработчики обычно спрашивают: «Это действительно такая большая проблема?» И я отвечаю: «Нет, потому что в игру можно играть». Так как же решать такие проблемы? Сообщите об этом клиенту, объясните проблему. Если они не могут или не хотят исправлять движок, а вам нужны деньги, выполните работу, но убедитесь, что вас не укажут в титрах.

💌

Подписывайтесь на нашу новостную рассылку

Электронная почта *

Kacie Saxer-Taulbee
Редактор
Kacie Saxer-Taulbee

Kacie Saxer-Taulbee is a data-informed content leader with a background in high-scale B2B SaaS, legal tech, and insurtech. Currently the Director of Content and Strategic Brand at Smartcat, she leads the company's global storytelling efforts, harmonizing thought leadership with AI-powered localization and multilingual communication. Her work has been featured or quoted in Business Insider, ABC News, Yahoo Finance, The Seattle Times, Property Casualty 360, The Balance, FinTech Global, and Insurance Business America. She prioritizes rigorous research and analysis to provide enterprise corporations with the best information to address their agentic AI and global content needs

Узнайте о наших редакционных принципах

Nicole DiNicola
Проверено
Nicole DiNicola

Nicole DiNicola is a high-performing and empathetic global marketing leader with over 15 years of experience in the fast-paced B2B tech industry. Currently the Global VP of Marketing at Smartcat, she leads a full-stack global team focused on building awareness, driving growth, and enabling internal and external customers throughout the customer journey. Nicole is a “Scale Up” marketing expert with deep expertise in GTM strategy, product marketing, and account-based initiatives. She has held leadership roles at Qualtrics, Smartsheet, Citrix, and SOCi—where she most recently led the launch of the world’s first CoMarketing Cloud, an AI-powered local marketing platform. She is known for creating scalable marketing organizations that align cross-functional teams around common goals, maximizing resources and results. As a customer-first innovator, she leverages data and insights to shape clear and compelling messaging in complex, competitive markets. Nicole is also a passionate advocate for new moms in the workplace and women in tech. Outside of work, she’s a runner, reader, and imaginative mom to two young children.

Узнайте о наших редакционных принципах

Редакционные стандарты

Почему Smartcat заслуживает доверия

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

  • Материалы пишут практики, а не только ИИ
  • Факты проверяются по последним спецификациям Apple и ICU
  • Обновляем материалы при изменении SDK, правил магазинов и рабочих процессов
Ознакомьтесь с нашими редакционными стандартами
100+отзывов на 5 звезд
★★★★★ G2 · 4.6 / 5
«Это была одна из наших первых инвестиций в ИИ. То, что раньше занимало недели, теперь занимает минуты — перевод идёт параллельно со всеми остальными процессами, а маркетинговая команда управляет им целиком.»
OS
Ollie Scheers

CTO в Huel

Читайте дальше

Все статьи →

Почему управление контентом становится новым рубежом в сфере корпоративного ИИ

Claire Foster

Лучшие инструменты для перевода веб-сайтов в 2026 году

Maksym Ostapenko

Как Dynamic SCORM устраняет общие препятствия в сфере электронного обучения

Catherine Cohen

Узнайте больше о Smartcat

Переводите всё на все языки, на которых говорят ваши клиенты.

Единая платформа для ИИ-перевода, работы с лингвистами и интеграции с вашими контент-системами. Закажите демо или создайте бесплатное рабочее пространство.

Заказать демо

Начать бесплатный пробный период