Show warning if plugin is missing

sample code that you can addopt and chage… to check is plugin installed.
// addition check on init hook.

add_action('admin_init', 'wpse_73859_init');
function wpse_73859_init(){
    // if - we in wp-admin
    // if - we class of polylang not found
    // and if we can manage_options (there a lot of different 
    //     capabilities you can use install_plugins for example...)

    if (!class_exists('Polylang') && current_user_can('manage_options')){
        // message function created on a fly... 
        $msg = create_function('', 'echo "<div class=\"updated\"><p>require polylang plugin</p></div>";');
        // and finaly notice! 
        add_action('admin_notices', $msg);
    }
}

You actually can install plugin ( do silent download / unziping / actiavation) but its SO unacepted that you can’t imaging. You basicly breaking privacy of person who use your theme.