Хуки
ХукиСопоставление языковых кодов

Сопоставление языковых кодов

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

Это относится к «классическим» провайдерам, а не к провайдерам на основе ИИ.

  • Google Translate
  • DeepL

Пример: WordPress использует "nb" для норвежского языка, а Google Translate не обрабатывал этот код — вместо него ожидался "no" (в наши дни они уже поддерживают "nb").

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

Это делается через хук:

  • gatompl:language_mapping_variables

Хук принимает следующие параметры:

ПараметрОписаниеПример
$languageMappingСопоставление языковых кодов для каждого провайдера['google_translate' => ['nb' => 'no']]
add_filter(
  'gatompl:language_mapping_variables',
  /**
   * @param array<string, array<string, string>> $languageMapping
   * @return array<string, array<string, string>>
   */
  function (array $languageMapping): array {
    return [
      'google_translate' => [
        'nb' => 'no',
        // provide your additional mappings
        // ...
      ],
      'deepl' => [
        // provide your additional mappings
        // ...
      ],
    ]
  }
);