How to set a different logo for my second language?

When you use WPML, and want to use different logos per language, you need to use the String Translator.
First you need to upload your second language logo to your media library, and save the ID of the file, and its URL.
In the String Translation tool, you need to translate the ID of the logo and its URL:

You have to use the ID and URL you’ve saved earlier.
When you translate, and save the changes, your second language will use a different logo.

This may not work if you use the Polylang.
With Polylang, you may need to add this code in your theme’s functions.php file:
add_action( 'init', 'clear_cache' );
function clear_cache(){
wp_cache_delete( 'saved_options', 'optionsframework' );