---
title: Перевод файлов Gettext PO с сохранением плейсхолдеров | Smartcat
description: Выполняйте перевод PO файлов с помощью ИИ и рецензирования человеком. Gettext-плейсхолдеры, формы множественного числа и msgctxt остаются нетронутыми; повторные загрузки включают биллинг только за изменения. Попробуйте Smartcat бесплатно.
canonical: https://ru.smartcat.com/gettext-po/
language: ru
updated: 2026-11-12
---

# Перевод файлов Gettext PO с сохранением плейсхолдеров | Smartcat

## Перевод PO-файла Gettext без поврежденных плейсхолдеров или форм множественного числа

Переводите PO-файлы онлайн: выполните загрузку файла gettext .po или .pot , переведите его с помощью ИИ и собственных специалистов по рецензированию и экспортируйте готовый к сборке PO-файл для каждого языка.

Переменные вроде %s и {name} становятся заблокированными тегами, формы множественного числа и маркеры контекста остаются нетронутыми, а благодаря PO-парсеру Serge.io повторная загрузка повторно обрабатывает только те строки, в которых произошли изменения.

- [Заказать демо-версию](https://ru.smartcat.com/book-a-demo/?gettext-po-upl)

- [Попробовать бесплатно](https://smartcat.com/sign-up?gettext-po-upl)

## Что такое файл gettext PO?

PO-файл (Portable Object) — это текстовый файл перевода, используемый GNU gettext, системой интернационализации, на которой основаны проекты на Python, PHP, WordPress, Django и Drupal. В формате PO каждая запись связывает исходную строку ( msgid ) с ее переводом ( msgstr ), поэтому один PO-файл содержит один язык.

Ваш код создает шаблон POT, для каждого языка на его основе формируется PO-файл, а система сборки компилирует каждый PO-файл в двоичный MO-файл, который загружает приложение. [Платформа локализации программного обеспечения](https://www.smartcat.com/software-localization/) Smartcat переводит файлы PO и POT как двуязычные: msgid поступает как исходный текст, а перевод записывается обратно в msgstr .

- .po: один язык, исходный текст и перевод рядом

- .pot: пустой шаблон, извлеченный из исходного кода

- .mo: скомпилированный двоичный файл, который фактически загружает приложение

### 3

### Парсеры PO-файлов

PO по умолчанию, Serge.io PO и монолингвальный PO: выберите тот, который дает совпадение с ТМ для структуры сборки ваших файлов.

### 92%

### принято без редактирования

92% слов, переведенных с помощью ИИ Smartcat, принимаются без единого редактирования человеком.

### 280+

### языков

Переведите один PO-файл на более чем 280 языков в одном и том же проекте.

#. Shown when the cart is empty
#: src/cart.py:42
msgctxt "cart"
msgid "Your cart is empty"
msgstr " Votre panier est vide "

#: src/cart.py:57
msgid " %d item in your cart"
msgid_plural " %d items in your cart"
msgstr[0] " %d article dans votre panier "
msgstr[1] " %d articles dans votre panier "

#: src/account.py:12
msgid "Hello, {name} !"
msgstr " Bonjour, {name} ! " Пример PO-файла: французский .po-файл с пояснениями, показывающий, что Smartcat переводит, блокирует и отображает как контекст.
- msgstr: переводится

Smartcat записывает каждый утвержденный перевод в msgstr — по одному значению на каждую форму множественного числа.

- %d и {name}: заблокированные теги

%d и {name} импортируются как защищенные теги, которые переводчики могут перемещать, но не могут изменять или удалять.

- Комментарии #.: контекст для переводчика

Комментарий #. отображается рядом с сегментом в редакторе. Ссылка #: — это идентификатор строки, по которому работает парсер Serge.io.

- msgid и msgctxt: остаются без изменений

msgid , msgctxt и msgid_plural остаются точно такими же, как в вашем файле.

## Почему PO-файлы ломаются в универсальных инструментах для перевода?

Файлы PO ломаются в обычных инструментах для перевода, потому что эти инструменты видят текст, а не записи gettext. Они позволяют переводчикам редактировать такие переменные, как %d , сбрасывать историю рецензирования при каждом повторном импорте и отправлять не прошедшие рецензирование значения msgstr . Smartcat работает с самим PO-файлом, поэтому для каждой ошибки есть исправление внутри файла.

Раньше: строки обрабатываются вне файла

× каждый язык × каждый релиз

Со Smartcat: работа с самим PO-файлом

Все языки сразу

Строки копируются вручную

Текст msgid попадает в универсальный переводчик без окружающего его файла.

Загрузите файл .po или .pot

Smartcat считывает записи как исходный и целевой текст — по одному двуязычному файлу на язык.

Переменные изменяются

Переводчик меняет %d или {name} ; экспортированный файл проходит проверку, но вызывает ошибку во время выполнения.

Плейсхолдеры становятся заблокированными тегами

%s , %d , {name} и {0} можно перемещать, но нельзя изменять или удалять.

Каждый релиз стирает историю

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

Повторный импорт по идентификаторам строк

С парсером Serge.io PO повторно обрабатываются и оплачиваются только измененные сегменты.

Машинный перевод без утверждения

Значения msgstr , которые никто не проверял, на языках, которыми никто в команде не владеет.

ИИ готовит черновики, люди утверждают

Ваши рецензенты или лингвисты с маркетплейса подтверждают каждый сегмент в том же редакторе.

## Поддержка Gettext PO: Smartcat против Phrase, Crowdin и Lokalise

Smartcat, Phrase, Crowdin и Lokalise импортируют файлы gettext PO. Они различаются при второй загрузке: Smartcat позволяет выбирать PO-парсер для каждого файла, сохраняет историю рецензирования, когда записи содержат ID строк, и включает в биллинг только те строки, в которых произошли изменения.

| | Возможность | Smartcat | Phrase | Crowdin | Lokalise

| Импорт и экспорт PO / POT | ✓ .po и .pot обрабатываются как двуязычные файлы; переведенный msgstr записывается обратно при экспорте | ✓ Задокументировано (.po, .pot и .mo) | ✓ Задокументировано | ✓ Задокументировано

| Выбор парсера для каждого файла | ✓ Три парсера: Default PO, Serge.io PO, Monolingual PO | ~ Параметры формата импорта | ~ Не задокументировано | ~ Не задокументировано

| Повторный импорт по идентификаторам строк | ✓ Парсер Serge.io PO: повторно обрабатываются только измененные сегменты; комментарии и история сохраняются | ~ Не задокументировано | ~ Не задокументировано | ~ Не задокументировано

| Оплата только измененных строк при повторной загрузке | ✓ Неизмененные сегменты не расходуют Smartwords | ~ Не задокументировано | ~ Не задокументировано | ~ Не задокументировано

| Защита плейсхолдеров ( %s , %d , {name} ) | ✓ Заблокированные теги на основе пресетов, которые переводчики не могут изменить или удалить | ✓ Задокументировано | ✓ Задокументировано, с автоматическим обнаружением и проверкой | ✓ Задокументировано

| Формы множественного числа ( msgid_plural ) | ✓ Поддерживается | ✓ Задокументировано | ✓ Задокументировано | ✓ Задокументировано; согласно их документации, заголовки множественного числа добавляются вручную

| Маркеры контекста ( msgctxt ) | ✓ Поддерживается | ✓ Задокументировано, как префикс ключа | ✓ Задокументировано | ✓ Задокументировано

| Встроенный маркетплейс профессиональных лингвистов | ✓ Проверенные лингвисты выполняют рецензирование в том же рабочем процессе | ✗ Не предлагается | ~ Каталог поставщиков | ✗ Не предлагается

| Модель ценообразования | Оплата по использованию в Smartwords | Тарифы с оплатой за пользователя | Уровни тарифных планов | Тарифы с оплатой за пользователя

Данные в ячейках для Phrase, Crowdin и Lokalise отражают сведения из общедоступной документации каждого поставщика по состоянию на август 2026 года. ✓ задокументировано или поддерживается · ~ частично или не задокументировано · ✗ не предлагается. Все названия продуктов являются товарными знаками соответствующих владельцев; см. уведомление о товарных знаках под разделом FAQ.

## Как перевести PO-файл в Smartcat

Чтобы перевести PO-файл, создайте проект Smartcat с нужными языками перевода, выполните загрузку файла .po или .pot, позвольте ИИ составить черновик для каждой записи, выполните рецензирование в редакторе и экспортируйте переведенный PO-файл для каждого языка. Полный референс по параметрам находится в Центре поддержки: [Перевод PO-файлов в Smartcat](https://help.smartcat.com/translating-po-files/).

- Создайте проект и добавьте языки

Откройте проект в Smartcat и выберите все целевые языки, на которых выходит ваше приложение.

- Загрузите файл .po или .pot

Smartcat определяет формат и открывает настройки PO: парсер (Serge.io PO для файлов с идентификаторами строк), защиту плейсхолдеров и [защиту HTML-тегов](https://help.smartcat.com/translating-po-files/).

- Поручите ИИ подготовить черновик каждого сегмента

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

- Проверка в редакторе

Ваши собственные рецензенты или лингвисты, нанятые на Smartcat Marketplace, редактируют и подтверждают сегменты, а проверки качества (QA) выполняются прямо в процессе работы.

- Экспортируйте PO-файл для каждого языка

Smartcat записывает переводы обратно в msgstr и возвращает корректный PO-файл для каждого языка, готовый к компиляции с помощью msgfmt.

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

Олли Шеерс

Технический директор, Huel

- [Изучить исследование регистра →](https://www.smartcat.com/cases/huel/)

Посмотрите свои собственные PO-файлы с выполненным переводом, в которых каждый плейсхолдер остался нетронутым

- [Заказать демо](https://www.smartcat.com/book-a-demo/?gettext-po-steps)

## Программное обеспечение для перевода PO файлов для продуктовых команд

ПО Smartcat для перевода PO-файлов обеспечивает сборку переведенного файла тремя способами: каждый msgid четко сопоставляется со своим msgstr, переменные остаются заблокированными в виде тегов, а переводчики видят комментарий разработчика к каждой строке.

## Как сопоставляются msgid и msgstr в переведенном файле PO

Smartcat обрабатывает файлы PO как двуязычные файлы. msgid импортируется как сегмент оригинала текста, а msgstr , если он присутствует, импортируется как перевод.

При экспорте каждый msgstr обновляется переводом из редактора, и вы получаете корректный PO-файл назад, по одному на каждый язык, готовый для вашей сборки. Параметры импорта и экспорта находятся в Центре поддержки: [Перевод PO файлов в Smartcat](https://help.smartcat.com/translating-po-files/).

![Сегменты оригинала текста и перевода PO бок о бок в редакторе Smartcat](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/17215740233464.png)

## Как плейсхолдеры PO (%s, %d, {название}) остаются заблокированными

Включите импорт плейсхолдеров, и Smartcat преобразует %s , %d , {name} и {0} в защищенные теги в соответствии с предустановкой плейсхолдеров вашего рабочего пространства.

Переводчики могут перемещать их, но не могут изменять или удалять, поэтому поврежденная переменная никогда не попадет в вашу сборку. [JSON переводчик](https://www.smartcat.com/json-translator/) блокирует плейсхолдеры в файлах локали таким же образом.

![Плейсхолдер {name}, сохраненный в виде заблокированного тега в оригинале текста и переводе](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1719855318542White-section_Placeholders.webp)

## Как комментарии разработчиков попадают к переводчикам

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

Переводчики видят «Отображается, когда корзина пуста» далее самой строки, вместо того чтобы гадать по отдельному фрагменту предложения. [Переводчик XML](https://www.smartcat.com/xml-translator/) таким же образом переносит комментарии XML в редактор.

![Комментарии к сегментам и вкладки предварительного просмотра в редакторе Smartcat](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1754327857273Step_4.webp)

Посмотрите, как PO файл проходит путь от этапа загрузка до экспорта в вашем собственном рабочее пространство

- [Заказать демо](https://www.smartcat.com/book-a-demo/?gettext-po-features)

## Как Smartcat обрабатывает PO-парсеры, формы множественного числа и контекст

Smartcat обрабатывает файлы PO с помощью трех парсеров, нативной поддержки msgid_plural и msgctxt , а также плейсхолдеров и HTML, заблокированных как теги. Всё работает непосредственно в самом PO-файле, без цикла экспорта-импорта между отдельными инструментами.

1 Выберите парсер PO, подходящий для ваших файлов

Smartcat позволяет выбирать парсер для каждого файла, и от этого зависит, как обрабатываются обновления, история и стоимость.

Serge.io PO

Рекомендуется для непрерывной локализации. Сегменты сопоставляются по уникальным идентификаторам строк в ваших комментариях #: , поэтому при повторной загрузке обрабатываются только сегменты с измененным исходным текстом.

- Правки и комментарии сохраняются при обновлениях
- Неизмененные строки не расходуют Smartwords
- Дублирующиеся идентификаторы прерывают загрузку с ошибкой

Default PO

Для разовых файлов без идентификаторов строк. Обрабатывает любой корректный PO-файл, но при повторной загрузке документ заменяется.

При повторной загрузке правки и комментарии в этом документе удаляются.

Monolingual PO

Для узкого круга конвейеров. Импортирует только целевые строки ( msgstr ), без исходного текста в редакторе.

Большинству команд выбирать его не следует.

2 Особенности формата PO: формы множественного числа, контекст и плейсхолдеры

Элементы записи PO, которые ломают универсальные переводчики, и как Smartcat их сохраняет.

Формы множественного числа (msgid_plural)

Поддерживается. Smartcat импортирует записи с msgid_plural и их варианты msgstr[n] , поэтому каждая форма множественного числа строки получает собственный перевод.

- msgid_plural

Исходная строка во множественном числе

- msgstr[0] msgstr[1]

Отдельный перевод для каждой формы множественного числа

Маркеры контекста (msgctxt)

Поддерживается. Две записи с одинаковым msgid , но разным msgctxt остаются отдельными сегментами с отдельными переводами.

- msgctxt "button"

«Open» как глагол на кнопке

- msgctxt "status"

«Open» как метка статуса

Перевод POT-файлов и формы множественного числа в разных языках

Загрузите шаблон .pot , и Smartcat переведет его на любой язык проекта, вернув PO-файл для каждого из них. В разных языках разное количество форм множественного числа: в английском и французском используются две формы msgstr , в польском и русском — три, в арабском — шесть, и каждая форма получает собственный перевод.

- fr msgstr[0] msgstr[1]

Две формы

- pl msgstr[0] msgstr[1] msgstr[2]

Три формы

- ar msgstr[0] … msgstr[5]

Шесть форм

Перед компиляцией с помощью msgfmt проверьте строку Plural-Forms в каждом экспортированном файле.

HTML-теги внутри строк

Smartcat сохраняет HTML-плейсхолдеры в целости: включите параметр «Защищать HTML-теги», и разметка вроде или станет в редакторе заблокированными тегами, а не редактируемым текстом.

Блокируются как теги

Существующие переводы

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

Импорт Оставить черновиками Подтвердить на этапе Заблокировать

Маршрутизация по языкам

Переводите на языки проекта или позвольте заголовку Language: каждого файла определять целевой язык.

- Language: de

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

3 Что нужно знать перед загрузкой

Сверьте эти пункты со своим конвейером, прежде чем переходить на непрерывный рабочий процесс.

Serge.io требует уникальных идентификаторов строк

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

Без идентификаторов строк нет инкрементальных обновлений

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

Сегменты соответствуют вашим записям

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

4 Что работает для каждого загружаемого PO-файла

Память переводов и глоссарий

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

- Память переводов
- Глоссарии и терминологические базы
- Конкордансный поиск
- Автоматизированные проверки качества (QA)

Автоматический перевод PO-файлов с утверждением человеком

Smartcat автоматически переводит каждую запись PO с помощью ИИ; затем ваша команда или проверенные лингвисты со Smartcat Marketplace проверяют перевод в том же редакторе, а память учится на каждом исправлении.

- ИИ готовит черновики Каждый сегмент
- Люди проверяют Ваша команда или лингвисты с маркетплейса
- Вы экспортируете PO-файл для каждого языка

PO вместе с остальным вашим стеком

В том же рабочем пространстве обрабатываются JSON, XML (тоже по идентификаторам строк), XLIFF и документы, которые присылают другие ваши команды, поэтому строки ПО и все остальное используют одну память и один глоссарий.

[Переводчик JSON](https://www.smartcat.com/json-translator/)[Переводчик XML](https://www.smartcat.com/xml-translator/)[Редактор XLIFF](https://www.smartcat.com/xliff-translation-editor/)

## ИИ-коллеги, которые переводят и проверяют ваши PO-файлы

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

### Начальник штаба

Сообщите своему руководителю аппарата, какие PO-файлы и языки требуются для релиза, и он скоординирует работу коллег, которые переводят и проверяют их.

![Иллюстрация начальника штаба](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1791870897110Chief-of-staff.png)

### Коллега-переводчик контента

Переводит каждую запись PO, включая формы множественного числа, на более чем 280 языков с использованием вашего глоссария и TM.

![Иллюстрация коллеги переводчика контента](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1791870904475Content-translator-coworker.png)

### Сотрудник по обновлению контента

Помогает находить строки, на которые влияют изменения в оригинале текста, и выполняет повторный перевод только новых или измененных записей.

![Иллюстрация «Обновление контента: коллега»](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1791870912707Content-update-coworker.png)

### Коллега, проводящий рецензирование

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

![Иллюстрация коллеги, проводящего рецензирование](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1791870920642Reviewer-coworker.png)

### Сотрудник отдела обеспечения качества

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

![Иллюстрация: коллега по обеспечению качества](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1791870929758Quality-assurance-coworker.png)

## Интеграции для перевода PO-файлов: Git, CLI, API и CMS-система

Выполняйте загрузку PO-файлов в веб-приложении или через Smartcat REST API, либо настройте непрерывную локализацию с помощью PO-парсера Serge.io. Синхронизация коллекций ключей через Git и CLI охватывает JSON, YAML, Android XML и iOS .strings. [Посмотреть все интеграции](https://www.smartcat.com/integrations/)

### GitHub, GitLab, Bitbucket

Синхронизируйте файлы JSON, YAML и строк, расположенные далее ваших PO файлов.

![Логотипы GitHub, GitLab, Bitbucket](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1793297436912Git_GitHub_GitLab_Bitbucket_tile.png)

### Интерфейс командной строки Smartcat

Импорт и экспорт ключей JSON и YAML из скриптов; файлы PO передаются через загрузка файла.

![Логотип Smartcat CLI](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1793297443104Smartcat_CLI_tile.png)

### REST API

Загрузка файлов PO и получение переводов из вашего конвейера сборки или выпуска.

![Логотип REST API](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1793297449285REST_API_tile.png)

### Android

Переводите строковые ресурсы Android, хранящиеся в вашем Git-репозитории.

![Логотип Android](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1725018593919Android.webp)

### Figma

Переводите текст интерфейса в макетах и отслеживайте удлинение текста до релиза.

![Логотип Figma](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1751547554748Figma.webp)

### Contentful

Поддерживайте актуальность контента вашего приложения на всех языках.

![Логотип Contentful](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1751343595168Contentful.webp)

### Zendesk

Переведите статьи Центра поддержки, которые читают ваши пользователи.

![Логотип Zendesk](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1751672259936Zendesk.webp)

### Диск Google

Переводите спецификации, примечания к выпуску и документы, хранящиеся на Диске.

![Логотип Google Диск](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1751343574776Drive.webp)

### Wordpress

Переводите сайты, темы и плагины, из которых часто происходят ваши PO-файлы.

![Логотип WordPress](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1751548435997Wordpress.webp)

### Sitecore

Согласуйте веб-контент с языковыми версиями вашего продукта.

![Логотип Sitecore](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1751547809754Sitecore.webp)

## Результаты локализации программного обеспечения: как Kaseya и Huel выпускают версии на всех языках

Kaseya синхронизирует строки пользовательского интерфейса из GitHub в Smartcat и запускается более чем на 10 языках с первого дня. Huel осуществляет локализацию веб-сайта, CRM и рекламы на платформе Smartcat. Каждое число ниже содержит название исследования, регистр которого оно представляет.

### 70%

### снизить затраты на локализацию

Kaseya сократила расходы на локализацию на 70% и реинвестировала сбережения, чтобы сохранить еще более 8 языков. Оригинал текста: исследование регистра Kaseya.

- [Исследование регистра](https://ru.smartcat.com/cases/kaseya/)

### 10+

### языки с первого дня

Строки пользовательского интерфейса синхронизируются из GitHub в Smartcat, поэтому Kaseya запускается более чем на 10 языках с первого же дня. Оригинал текста: исследование регистра Kaseya.

- [Исследование регистра](https://ru.smartcat.com/cases/kaseya/)

### 21

### недели ручной работы, сохраненные за год

Компания Huel сократила 21 неделю ручной работы по локализации в год, что эквивалентно почти половине ставки штатного сотрудника. Оригинал текста: исследование регистра Huel.

- [Исследование регистра](https://ru.smartcat.com/cases/huel/)

**«Мы выходим на глобальный рынок с первого дня. Мы не ждем, пока сначала выйдет английская версия, чтобы потом заняться локализацией. Все готово одновременно». Эллен Келли** Директор по документации продуктов, Kaseya

Посмотрите перевод ваших PO файлов для вашего релиза далее

- [Заказать демо-версию](https://www.smartcat.com/book-a-demo/?gettext-po-proof)

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

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

17 июня 2026 г.

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

Проверенный пользователь в сфере информационных технологий и услуг, крупный бизнес

9 июня 2026 г.

«Интеграция TM и глоссариев обеспечивает единообразие во всех проектах… совместная работа проходит гладко, позволяя в режиме реального времени взаимодействовать с переводчиками, рецензентами, редакторами и менеджерами проектов».

Барбарах В., переводчик локализации

9 июня 2026 г.

## О чем спрашивают разработчики перед переносом PO-файлов в Smartcat

Перед переносом PO-файлов в Smartcat разработчики интересуются четырьмя вопросами: что произойдет с агентством, услугами которого они уже пользуются, сохранятся ли плейсхолдеры, сколько стоит повторная загрузка и выгружает ли Smartcat файлы .mo.

«Мы уже платим агентству за переводы».

Сохраните лингвистов, которым доверяете: подключите их к Smartcat как рецензентов или наймите проверенных лингвистов на Smartcat Marketplace. ИИ сначала готовит черновик каждой записи PO, поэтому люди проверяют, а не переводят с нуля.

- ИИ готовит черновики Каждая запись PO
- Ваши лингвисты проверяют Агентство или Marketplace
- Вы экспортируете PO-файл для каждого языка

«Переводчики сломают наши плейсхолдеры».

Не сломают. %s , %d , {name} и {0} становятся заблокированными тегами, которые можно перемещать, но нельзя редактировать или удалять, и при экспорте каждый из них восстанавливается в точности.

Блокируются как теги

%s %d {name} {0}

«Мы загружаем один и тот же файл заново в каждом спринте».

Используйте парсер Serge.io PO. Повторно обрабатываются и оплачиваются только сегменты с измененным исходным текстом, а история проверок сохраняется для всего остального.

- Комментарии и правки сохраняются
- Неизмененные строки не расходуют Smartwords
- Подтвержденные переводы остаются подтвержденными

«Может ли Smartcat выдавать нам файлы .mo?»

Не напрямую. Smartcat экспортирует переведенные PO-файлы; компиляция в MO остается в вашем конвейере, где для этого достаточно одной команды msgfmt на язык.

- msgfmt fr.po -o fr.mo

Компилирует французский PO-файл в MO-файл, который загружает ваше приложение

## Безопасно ли переводить PO-файлы в Smartcat?

Да. Файлы PO часто содержат строки пользовательского интерфейса для функций, которые вы еще не выпустили, и Smartcat защищает этот контент на каждом этапе; узнайте, как именно, на [странице безопасности Smartcat](https://www.smartcat.com/security/).

### Управление доступом на основе ролей

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

### Технология единого входа (SSO)

Войдите через вашего текущего поставщика удостоверений на корпоративных подписках.

### Соответствует стандарту SOC 2 Type II

Smartcat соответствует стандарту SOC 2 Type II и изолирует каждое рабочее пространство.

### Никогда не используется для обучения публичных моделей ИИ

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

### Журналы аудита

Смотрите, кто, что и когда изменил в процессе перевода и рецензирования перевода на корпоративных подписках.

### Шифрование и удаление по запросу

Контент шифруется при передаче и хранении, а также удаляется или возвращается в течение 30 дней после получения письменного запроса.

## Ресурсы для gettext и локализации программного обеспечения

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

### Локализация Django с помощью ИИ

Руководство по локализации Django

Синхронизируйте .po-файлы Django через ваш CI/CD-пайплайн и переводите их на каждый язык, для которого в вашем приложении есть поддержка.

![Локализация Django с помощью руководства по ИИ](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1751426138189Resources_01.webp)

### Перевод строки Python

Перевод строк в Python

Выполняйте перевод строк Python и текстов интерфейса, пока релизы продолжают выходить по расписанию.

![Руководство по переводу строк в Python](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1751648695383The_Real-World_ROI_of_AI_for_Enterprise_Marketing.webp)

### Как переводить программное обеспечение

Руководство по локализации программного обеспечения

Комплексное руководство по процессу локализации программного обеспечения: от интернационализации до релиза.

![Как перевести руководство по программному обеспечению](https://gqucouwbfxremfdhdosu.supabase.co/storage/v1/object/public/sc-store/1754316451156learnmore1.webp)

### Что такое файл PO в gettext?

PO (Portable Object) файл — это текстовый файл перевода GNU gettext, и Smartcat импортирует его как двуязычный файл. Каждая запись связывает строку оригинала текста (msgid) с её переводом (msgstr), поэтому один файл PO содержит один язык. Файлы PO являются стандартными в проектах на Python, PHP, WordPress, Django и Drupal.

### В чем разница между файлами PO, POT и MO?

POT-файл — это пустой шаблон, извлеченный из вашего кода, PO-файл содержит переводы для одного языка, а MO-файл — это скомпилированный бинарный файл, который загружает ваше приложение. Smartcat выполняет перевод как для загрузок .po, так и для .pot на любой язык проекта и возвращает PO-файлы, которые вы компилируете в MO при сборке.

### Как перевести PO-файл?

Выполните загрузку файла .po или .pot в онлайн-проект Smartcat, выберите языки перевода и парсер Serge.io PO, если ваши записи содержат ID строк, а затем позвольте ИИ составить черновик для каждого сегмента. Ваши рецензенты или Лингвисты из Маркетплейса подтверждают переводы в редакторе, и вы экспортируете корректный PO-файл для каждого языка.

### Какой переводчик PO-файлов лучший?

Smartcat подходит командам, которые переводят файлы PO на множество языков и выполняют их повторную загрузку при каждом релизе, но выбор лучшего инструмента зависит от вашего пайплайна. Что бы вы ни тестировали, убедитесь, что инструмент защищает плейсхолдеры, обеспечивает поддержку msgid_plural и msgctxt, сохраняет историю рецензирования при повторной загрузке и включает в биллинг только те строки, в которых были изменения. Для одного файла, который вы редактируете один раз, настольного PO-редактора может быть вполне достаточно.

### Стоит ли мне использовать Poedit или платформу для перевода для PO файлов?

Используйте Poedit, если один человек одновременно редактирует один PO-файл: это десктопный редактор PO с бесплатной версией. Используйте платформу вроде Smartcat, когда команда переводчиков переводит PO-файлы на множество языков при каждом релизе, с черновиками от ИИ, рецензентами, работающими в браузере, общей TM и повторными загрузками, в биллинг которых входят только измененные строки.

### Могу ли я перевести PO-файл бесплатно?

Да, в качестве пробы. Smartcat предлагает 15-дневную бесплатную пробную версию с 15 000 Smartwords и без привязки кредитной карты, чего достаточно, чтобы выполнить перевод типичного PO-файла на несколько языков и протестировать экспорт в вашей сборке. У Smartcat нет бесплатной подписки; после пробного периода использование тарифицируется в Smartwords, как указано на странице [Smartcat цена](https://www.smartcat.com/pricing/).

### Могу ли я перевести PO-файл с помощью Google Translate или ChatGPT?

Нет. Универсальные переводчики работают со вставленным текстом, а не с PO-файлом, поэтому плейсхолдеры, формы множественного числа и msgctxt легко повредить. Smartcat переводит сам файл, сохраняет переменные как заблокированные теги и записывает каждый перевод назад в msgstr, поэтому результат по-прежнему компилируется.

### Как открывать и редактировать PO-файлы?

Любой текстовый редактор открывает PO-файл, но редактор PO-файлов безопаснее. Smartcat работает как онлайн-редактор PO-файлов: вы выполняете загрузку файла и редактируете каждую запись прямо в браузере, где оригинал текста расположен далее рядом с переводом, комментарии разработчиков служат как контекст, а плейсхолдеры заблокированы, после чего экспортируете отредактированный PO-файл с неизменной структурой.

### Как преобразовать файлы PO в MO?

Экспортируйте переведенный PO-файл из Smartcat, затем запустите утилиту msgfmt из gettext, например msgfmt fr.po -o fr.mo, или позвольте этапу сборки вашего фреймворка сделать это. Django, WordPress и большинство наборов инструментов gettext компилируются автоматически. Smartcat сам по себе не создает файлы MO, поэтому компиляция остается в вашем существующем рабочем процессе.

### Поддерживает ли Smartcat формы множественного числа gettext (msgid_plural)?

Да. Smartcat поддерживает записи gettext для множественного числа: импортируются msgid_plural и его варианты msgstr[n], поэтому каждая форма множественного числа строки переводится отдельно для каждого языка перевода. Ваши переводчики видят оригинал текста в единственном и множественном числе рядом друг с другом и заполняют по одному переводу для каждой формы множественного числа.

### Насколько точен машинный перевод файлов PO?

Настолько точно, что большинству строк не требуется редактирование: 92% слов, переведенных с помощью ИИ Smartcat, принимаются без единого редактирования человеком, а ваш глоссарий и TM обеспечивают единообразие терминов интерфейса. Короткие строки интерфейса без #. комментария разработчика являются исключением, поскольку такое слово, как «Open», неоднозначно само по себе, поэтому выполняйте их рецензирование в контексте.

### Будут ли перезаписаны существующие переводы, когда выполняется загрузка частично переведенного PO-файла?

Нет. Smartcat позволяет вам при загрузке решить, что делать со значениями msgstr, которые уже есть в файле: импортировать их, оставить как неподтвержденные черновики, подтвердить их на выбранном этапе рабочего процесса или заблокировать, чтобы никто не мог их редактировать. Тогда перевод требуется только для пустых записей.

### PO-файлы каких фреймворков может переводить Smartcat?

Smartcat выполняет перевод любого валидного PO- или POT-файла gettext, поэтому он обрабатывает результаты работы makemessages в Django, тем и плагинов WordPress, gettext в PHP и Python, Drupal и других цепочек инструментов gettext. Smartcat считывает формат файла, а не фреймворк, поэтому ваши этапы извлечения и компиляции остаются неизменными. В [руководстве по локализации Django](https://www.smartcat.com/app-translator/django-localization/) показан рабочий пример настройки.

### Связан ли Smartcat с GNU gettext, Poedit, Phrase, Crowdin или Lokalise?

Нет. Smartcat — это независимая платформа, не имеющая отношения к GNU Project, Poedit, Phrase, Crowdin или Lokalise. Smartcat считывает PO-файлы в соответствии с общедоступным форматом gettext, а сравнение на этой странице основано исключительно на собственной публичной документации каждого поставщика услуг.

## Часто задаваемые вопросы о переводе PO-файлов Gettext

Не нашли ответ на свой вопрос? [Поговорите со специалистом по локализации](https://www.smartcat.com/book-a-demo/?gettext-po-faq)

Уведомление о товарном знаке. Smartcat — это независимая платформа, которая не связана, не одобрена, не спонсируется и никак иначе не ассоциирована с GNU проект, Poedit, Phrase, Crowdin или Lokalise. Все названия продуктов и товарные знаки на этой странице принадлежат их соответствующим владельцам и используются исключительно для идентификации. Поддержка файлов PO в Smartcat основана на открыто документированном стандарте gettext и не подразумевает какого-либо партнёрства или сертификации.

Выполните перевод вашего далее PO файла на каждый язык, на котором говорят ваши пользователи

Посмотрите, как Smartcat переводит один из ваших собственных PO-файлов — от загрузки до готового к сборке файла для каждого языка, или начните 15-дневный бесплатный пробный период с 15 000 Smartwords без привязки банковской карты.

- [Заказать демо-версию](https://www.smartcat.com/book-a-demo/?gettext-po-close)

- [Попробовать бесплатно](https://smartcat.com/sign-up?gettext-po-close)
