ФункціїПлагінЦіниРесурси
Змінити мову
РесурсиРозуміння Gettext Plurals: Як обробляти складні форми множини у WordPress

Розуміння Gettext Plurals: Як обробляти складні форми множини у WordPress

SimplePoTranslate Team1 грудня 2025 р.
Розуміння Gettext Plurals: Як обробляти складні форми множини у WordPress

В англійській мові утворення множини є простим. У вас є одне "Apple", і у вас є два або більше "Apples".

Але якщо ви перекладаєте свій сайт WordPress на польську, російську чи арабську мови, ви ось-ось потрапите на лінгвістичне мінне поле.

Чи знали ви, що в російській мові слово "файл" змінюється залежно від того, чи є у вас 1 файл, 2-4 файли або 5+ файлів?

  • 1 файл (1 file)
  • 3 файла (3 files)
  • 5 файлов (5 files)

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

Цей посібник пояснює, як WordPress і Gettext обробляють ці складні правила та як їх правильно автоматизувати.

Технічна анатомія рядка множини

У стандартному файлі .po рядок множини виглядає так:

msgid "You have %d new message"
msgid_plural "You have %d new messages"
msgstr[0] ""
msgstr[1] ""
  • msgid: Форма однини (використовується для count = 1).
  • msgid_plural: Форма множини (використовується для count != 1).
  • msgstr[N]: Переклади.

Для англійської мови вам потрібні лише msgstr[0] (однина) і msgstr[1] (множина). Але для інших мов вам може знадобитися msgstr[2], msgstr[3] або навіть msgstr[5].

Заголовок Plural-Forms

Як WordPress дізнається, який msgstr використовувати? Він дивиться на заголовок вашого файлу .po.

Для російської мови заголовок виглядає так: "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"

Ця жахлива математична формула повідомляє WordPress:

  1. Є 3 можливі форми (nplurals=3).
  2. Використовуйте форму 0, якщо число закінчується на 1 (але не 11).
  3. Використовуйте форму 1, якщо число закінчується на 2-4 (але не 12-14).
  4. Використовуйте форму 2 для всього іншого.

Чому більшість перекладачів зазнають тут невдачі

Коли ви використовуєте загальну обгортку AI або базовий автоматизований інструмент, він часто ігнорує заголовок Plural-Forms.

Він бачить англійський вхід (2 форми) і намагається змусити його працювати в цільовій мові.

  • Помилка: Він може заповнити msgstr[0] і msgstr[1], але залишити msgstr[2] порожнім.
  • Результат: Коли російський користувач має 5 повідомлень, WordPress шукає форму 2. Якщо вона порожня або відсутня, WordPress зазвичай повертається до початкового англійського рядка.

Раптом ваш повністю локалізований сайт відображає "You have 5 new messages" англійською мовою, прямо посеред російського речення. Це руйнує занурення та довіру користувачів.

Рішення: Контекстно-залежний AI з підтримкою множини

Правильна обробка множини вимагає двох речей:

  1. Суворе дотримання стандартів Gettext: Інструмент повинен поважати кількість nplurals у заголовку.
  2. Лінгвістичний інтелект: AI повинен знати, як відмінювати слова для цих конкретних числових діапазонів.

Це є власною функцією SimplePoTranslate.

Як ми обробляємо складні форми множини

Ми не просто перекладаємо текст; ми читаємо математику у вашому заголовку .po.

Коли ви завантажуєте файл для перекладу на польську мову (яка має 3 форми множини):

  1. Аналіз заголовка: Ми виявляємо nplurals=3.
  2. Prompt Engineering: Наша система інструктує контекстно-залежний AI: "Перекладіть цей рядок на польську мову. Надайте рівно 3 форми: одну для однини, одну для чисел, що закінчуються на 2-4, і одну для інших."
  3. Перевірка: Ми перевіряємо, чи містить вихід рівно msgstr[0], msgstr[1] і msgstr[2] перед компіляцією файлу.

Ми обробляємо це автоматично. Вам не потрібно знати граматичні правила цільової мови. Ви завантажуєте файл, і ми правильно заповнюємо кожну необхідну форму множини.

Краще, ніж ручний переклад?

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

Зробіть свої форми множини правильними

Не дозволяйте "1 Apple, 5 Apples" зруйнувати професійний вигляд вашого сайту. Використовуйте інструмент, який розуміє складність глобальної граматики.

SimplePoTranslate дозволяє безкоштовно протестувати наш механізм утворення множини.

Готові перекладати без головного болю? Почніть безкоштовно на SimplePoTranslate.com

Пов'язані теми

Поділитися цією статтею