Q:

How to change the archive title to use the plural version of the taxonomy label instead of the singular

I have a simple Wordpress blog with two categories: slugs are 'comment' and 'press_release'. When I am on a single.php page of posts of either category, it should display 'Comment' or 'Press Release'. When I am on archive.php of either category's archive, I want to title it either 'Comments' or 'Press Releases'.
I've added this code to functions.php, but it just makes the whole site blank in the browser.
--- UPDATED CODE ---
from functions.php:
$labels = array(
    'name'              => _x( 'Kommentare', 'taxonomy general name'),
    'singular_name'     => _x( 'Kommentar', 'taxonomy singular name'),
    'menu_name'         => __( 'Kommentare')
);

$labels = array(
    'name'              => _x( 'Pressemitteilungen', 'taxonomy general name'),
    'singular_name'     => _x( 'Pressemitteilung', 'taxonomy singular name'),
    'menu_name'         => __( 'Pressemitteilungen')
);

add_filter( 'get_the_archive_title', function ( $title ) {

    if( is_tax() ) {
        $tax = get_taxonomy( get_queried_object()->taxonomy );
        /* use the "name" label instead of "singular_name" to showl the plural version */
        $title = sprintf( __( '%1$s: %2$s' ), 
                 $tax->labels->name, 
                 single_term_title( '', false ) );
    }
    return $title;
});

on indexes (for plural version) like archive.php:
<?php if (have_posts()) : ?>

   <?php $post = $posts[0]; ?>

      <?php if (is_category()) { ?>

         <h2><?php echo get_the_archive_title(); ?></h2>

      <?php } elseif (is_author()) { ?>

         <h2><?php _e('Veröffentlicht von %s'); ?></h2>

   <?php } ?>

(but echoes 'Kategorie: Pressemitteilung' instead of 'Pressemitteilungen'.)
on single post pages such as single.php within the usual code block:
<?php foreach((get_the_category()) as $category) { echo $category->cat_name; } ?>

--- END UPDATED CODE ---
--- NEWLY UPDATED CODE ---
add_action( 'init', 'create_taxonomies', 0 );
function create_taxonomies() {
    $labels = array(
        'name'          => _x( 'Pressemitteilungen', 'taxonomy general name'),
        'singular_name' => _x( 'Pressemitteilung', 'taxonomy singular name'),
        'menu_name'     => __( 'Pressemitteilungen')
    );

    $args = array(
        'hierarchical'      => true,
        'labels'            => $labels,
        'query_var'         => true,
        'rewrite'           => array( 'slug' => 'pressemitteilung' )
    );

    register_taxonomy( 'pressemitteilung', array( 'post' ), $args );

        $labels = array(
            'name'              => _x( 'Kommentare', 'taxonomy general name'),
            'singular_name'     => _x( 'Kommentar', 'taxonomy singular name'),
            'menu_name'         => __( 'Kommentare')
        );

        $args = array(
            'hierarchical'      => true,
            'labels'            => $labels,
            'query_var'         => true,
            'rewrite'           => array( 'slug' => 'kommentar' )
        );

        register_taxonomy( 'kommentar', array( 'post' ), $args );
}

add_filter( 'get_the_archive_title', function ( $title ) {
    if( is_tax() ) {
        $tax = get_taxonomy( get_queried_object()->taxonomy );
        $title = sprintf( __( '%2$s' ),
                 $tax->labels->name,
                 single_term_title( '', false ) );
    }
    return $title;
});

--- END NEWLY UPDATED CODE ---
Note, that I can't "soft-fix" it with adding the letter 's' right after '%s'. I can't use that because I want to use that on a German weblog and there the plural forms are not all consistent (like with an extra 's).
Is it a syntax error or am I doing it completely wrong?

A:

WP uses the single label for taxonomy archives by default.
archive.php uses get_the_archive_title to show the title, which uses the singular_name as we can see from this line of code from get_the_archive_title that generates the title for taxonomy archives:
 $title = sprintf( __( '%1$s: %2$s' ), 
         $tax->labels->singular_name, 
         single_term_title( '', false ) );

Luckily, we can filter this using the get_the_archive_title filter. In our filter function, we we need to 
1. Check if the archive is for a taxonomy
2. if so, get the taxonomy from the queries object
3. generate the title in the same way as the get_the_archive_title function, but use 'name' instead of 'singular_name'.
Add this to your functions.php to change the taxonomy archive title:
add_filter( 'get_the_archive_title', function ( $title ) {

    if( is_tax() ) {
        $tax = get_taxonomy( get_queried_object()->taxonomy );
        /* use the "name" label instead of "singular_name" to showl the plural version */
        $title = sprintf( __( '%1$s: %2$s' ), 
                 $tax->labels->name, 
                 single_term_title( '', false ) );
    }
    return $title;
});

Example:
In your question, you defined the labels as follows:
$labels = array(
    'name'              => _x( 'Comments', 'taxonomy general name'),
    'singular_name'     => _x( 'Comment', 'taxonomy singular name'),
    'menu_name'         => __( 'Comments')
);

By default, WP will use the singular_name in archives, i.e. "Comment". The code above change it to use name instead, i.e. "Comments".
Changing this to use your German labels:
$labels = array(
    'name'              => _x( 'Kommentare', 'taxonomy general name'),
    'singular_name'     => _x( 'Kommentar', 'taxonomy singular name'),
    'menu_name'         => __( 'Kommentare')
);

The code above will now use 'Kommentare' thats set as the name, instead of "Kommentar" from singular_name.
UPDATE: 
Below is the complete code I added to a test site and it works:
functions.php:
add_action( 'init', 'create_taxonomies', 0 );
function create_taxonomies() { 
    $labels = array(
        'name'          => _x( 'Pressemitteilungen', 'taxonomy general name'),
        'singular_name' => _x( 'Pressemitteilung', 'taxonomy singular name'),
        'menu_name'     => __( 'Pressemitteilungen')
    );

    $args = array(
        'hierarchical'      => true,
        'labels'            => $labels,
        'query_var'         => true,
        'rewrite'           => array( 'slug' => 'press_release' )
    );

    register_taxonomy( 'press_release', array( 'post' ), $args );    
}

add_filter( 'get_the_archive_title', function ( $title ) {
    if( is_tax() ) {
        $tax = get_taxonomy( get_queried_object()->taxonomy );
        $title = sprintf( __( '%1$s: %2$s' ), 
                 $tax->labels->name, 
                 single_term_title( '', false ) );
    }
    return $title;
});

archive.php
<?php if ( have_posts() ) : ?>
    <h1 class="page-title"><?php echo get_the_archive_title( ); ?></h1>
    [...]

I've set up a test term testterm1 in the press_release taxonomy in the WP admin, the resulting HTML in the archive page for mysite.com/press_release/testterm1/
<h1 class="page-title">Pressemitteilungen: test term1</h1>

