' . esc_html__('Logs cleared.', 'aiutoma') . '

'; } elseif (isset($_POST['aiutoma_wpml_context_submit'])) { $context = isset($_POST['aiutoma_wpml_context']) ? sanitize_textarea_field(wp_unslash($_POST['aiutoma_wpml_context'])) : ''; update_option('aiutoma_wpml_context', $context); echo '

' . esc_html__('Context & Glossary saved.', 'aiutoma') . '

'; } else { $model = isset($_POST['aiutoma_wpml_model']) ? sanitize_text_field(wp_unslash($_POST['aiutoma_wpml_model'])) : ''; update_option('aiutoma_wpml_model', $model); update_option('aiutoma_wpml_auto_fallback', isset($_POST['aiutoma_wpml_auto_fallback']) ? 1 : 0); $fallback_models = isset($_POST['aiutoma_wpml_fallback_models']) && is_array($_POST['aiutoma_wpml_fallback_models']) ? array_map('sanitize_text_field', wp_unslash($_POST['aiutoma_wpml_fallback_models'])) : []; update_option('aiutoma_wpml_fallback_models', $fallback_models); echo '

' . esc_html__('Settings saved.', 'aiutoma') . '

'; } } } public function render_context_tab() { $saved_context = get_option('aiutoma_wpml_context', ''); ?>



"We are a nautical safety company. Never translate the company name as it is a trademark. Keep the tone professional but welcoming."

findModelsMetadataForSupport($requirements); foreach ($providerModels as $providerMetadata) { $providerName = $providerMetadata->getProvider()->getName(); foreach ($providerMetadata->getModels() as $modelMeta) { $id = $modelMeta->getId(); $modelName = $modelMeta->getName() ?: $id; $providerId = $providerMetadata->getProvider()->getId(); if (stripos($id, 'dall-e') !== false || stripos($id, 'midjourney') !== false) continue; $models[$providerId . '|' . $id] = '[' . $providerName . '] ' . $modelName; } } } $selected_model = get_option('aiutoma_wpml_model', ''); $auto_fallback = get_option('aiutoma_wpml_auto_fallback', 0); $saved_fallback_models = get_option('aiutoma_wpml_fallback_models', []); ?>