'openai', 'openai_key' => '', 'openai_org' => '', 'openai_temp' => '0', 'openai_model' => 'gpt-4o', 'claude_key' => '', 'claude_model' => 'claude-sonnet-4-5-20250929', 'custom_prompt' => '', ] ); register_setting( 'polylai_translator_options', 'polylai_translator_options', [ "type" => "array", "sanitize_callback" => "polylai_Utils::sanitize_options", ] ); add_settings_section( 'general_settings', '', [$this, 'general_settings'], 'polylai_translator' ); add_settings_section( 'openai_settings', '', [$this, 'openai_settings'], 'polylai_translator' ); add_settings_section( 'claude_settings', '', [$this, 'claude_settings'], 'polylai_translator' ); add_settings_field( 'polylai_ai_engine', __( 'AI Engine', 'ai-translator-for-polylang' ), [$this, 'polylai_ai_engine'], 'polylai_translator', 'general_settings' ); add_settings_field( 'polylai_custom_prompt', __( 'Customize prompt', 'ai-translator-for-polylang' ), [$this, 'polylai_custom_prompt'], 'polylai_translator', 'general_settings' ); add_settings_field( 'polylai_openai_key', __( 'OpenAI API Key', 'ai-translator-for-polylang' ), [$this, 'polylai_openai_key'], 'polylai_translator', 'openai_settings' ); add_settings_field( 'polylai_openai_org', __( 'OpenAI Organization ID', 'ai-translator-for-polylang' ), [$this, 'polylai_openai_org'], 'polylai_translator', 'openai_settings' ); add_settings_field( 'polylai_openai_model', __( 'OpenAI Model', 'ai-translator-for-polylang' ), [$this, 'polylai_openai_model'], 'polylai_translator', 'openai_settings' ); add_settings_field( 'polylai_langs', __( 'Languages', 'ai-translator-for-polylang' ), [$this, 'polylai_langs'], 'polylai_translator', 'general_settings' ); } public function openai_settings() { ?> "OpenAI", "claude" => "Claude", ]; ?>
1, 'hide_if_empty' => 0, ] ); $default_lang = pll_default_language( 'slug' ); $default_lang_name = pll_default_language( 'name' ); $allowed = polylai_Utils::allowed_langs(); ?>