How to make the front-end RTL without changing the admin panel language?

Set your WordPress to a RTL language, then use the following code in functions.php or as the plugin:

<?php
add_filter( 'locale', 'my_set_admin_locale' );

function my_set_admin_locale( $locale ) {

    // check if you are in the Admin area
    if( is_admin() ) {
        // set LTR locale
        $locale="en_US";
    }

    return( $locale );
}

Or otherwise, set WordPress to LTR and set front-end to RTL:

    if( ! is_admin() ) { // not admin area
        // set RTL locale
        $locale="ar";
    }