# translate_settings_using_i18n_schema()

URL: https://chugunov.pro/api-wordpress/functions/translate_settings_using_i18n_schema/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 5.9.0.

## Сигнатура

```php
translate_settings_using_i18n_schema( string|string[]|array[]|object $i18n_schema, string|string[]|array[] $settings, string $textdomain ): string|string[]|array[]
```

## Описание

Переводит переданное значение настройки с помощью её схемы i18n.

## Параметры

- `$i18n_schema` `string|string[]|array[]|object` — обязательный. Схема i18n для настройки.
- `$settings` `string|string[]|array[]` — обязательный. Значение для настроек.
- `$textdomain` `string` — обязательный. Текстовый домен, используемый для переводов.

## Возвращаемое значение

`string|string[]|array[]`

## Исходный код

Файл: `wp-includes/l10n.php:1999`

```php
function translate_settings_using_i18n_schema( $i18n_schema, $settings, $textdomain ) {
	if ( empty( $i18n_schema ) || empty( $settings ) || empty( $textdomain ) ) {
		return $settings;
	}

	if ( is_string( $i18n_schema ) && is_string( $settings ) ) {
		return translate_with_gettext_context( $settings, $i18n_schema, $textdomain );
	}
	if ( is_array( $i18n_schema ) && is_array( $settings ) ) {
		$translated_settings = array();
		foreach ( $settings as $value ) {
			$translated_settings[] = translate_settings_using_i18n_schema( $i18n_schema[0], $value, $textdomain );
		}
		return $translated_settings;
	}
	if ( is_object( $i18n_schema ) && is_array( $settings ) ) {
		$group_key           = '*';
		$translated_settings = array();
		foreach ( $settings as $key => $value ) {
			if ( isset( $i18n_schema->$key ) ) {
				$translated_settings[ $key ] = translate_settings_using_i18n_schema( $i18n_schema->$key, $value, $textdomain );
			} elseif ( isset( $i18n_schema->$group_key ) ) {
				$translated_settings[ $key ] = translate_settings_using_i18n_schema( $i18n_schema->$group_key, $value, $textdomain );
			} else {
				$translated_settings[ $key ] = $value;
			}
		}
		return $translated_settings;
	}
	return $settings;
}
```

## История изменений

- 5.9.0 — Introduced.

## Связанные

Использует: [`translate_settings_using_i18n_schema`](https://chugunov.pro/api-wordpress/functions/translate_settings_using_i18n_schema/), [`translate_with_gettext_context`](https://chugunov.pro/api-wordpress/functions/translate_with_gettext_context/).
Используется в: [`translate_settings_using_i18n_schema`](https://chugunov.pro/api-wordpress/functions/translate_settings_using_i18n_schema/), `WP_Theme_JSON_Resolver::translate`, [`register_block_type_from_metadata`](https://chugunov.pro/api-wordpress/functions/register_block_type_from_metadata/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/translate_settings_using_i18n_schema/
