ХукиСопоставление языковых кодов
Сопоставление языковых кодов
Иногда 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
// ...
],
]
}
);