Language-dependent logo
Langauge is a visibility condition for blocks, so you could use multiple branding blocks and hard code the paths.

Setting it automatically is a little harder, language is not available in $variables in preprocess so you'd need to add it - you could add these to all preprocess functions and templates:

/**
 * Preprocess variables for all templates.
 * @param $variables
 */
function HOOK_preprocess(&amp;$variables) {
  // Inject the current language into every template to ease theme development.
  $variables['current_language'] = \Drupal::languageManager()-&gt;getCurrentLanguage();

  // Inject a usable directory path.
  $variables['theme_path'] = base_path() . $variables['directory'];
}


You can use these in the branding block or page template to set a path to a language specific logo, e.g.:

&lt;img src="{{ theme_path ~ '/logo-' ~ current_language.getID() ~ '.svg' }}" alt="{{ 'Home'|t }}" /&gt;


So you'd have logo-en.svg for english, logo-sv.svg for Swedish etc in your theme root, getID() just returns the two character language code.

You could go further and just build the whole thing in preprocess, just for the template you are using (either page or the branding block).