translate_settings_using_i18n_schema()
Translates the provided settings value using its i18n schema.
Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.
No Hooks.
Return
String|String[]|Array[]
. Translated settings.
Usage
translate_settings_using_i18n_schema( $i18n_schema, $settings, $textdomain );
- $i18n_schema(string|string[]|array[]|object) (required)
- I18n schema for the setting.
- $settings(string|string[]|array[]) (required)
- Value for the settings.
- $textdomain(string) (required)
- Textdomain to use with translations.
Changelog
Since 5.9.0 | Introduced. |
translate_settings_using_i18n_schema() translate settings using i18n schema code WP 6.4.3
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; }