How to translate “$before” with get text in get_the_term_list?

Use the __() function, just as you see in the the_content() example:

<?php 
echo get_the_term_list( 
    // ID
    $post->ID, 
    // taxonomy
    'book', 
    // Before
    __( 'Books: ', 'ft' ),
    // Separator, see http://core.trac.wordpress.org/ticket/7897
    __( ', ' ), 
    // After
    ' ', 
    // Looks like you've added an extra parameter?
    '' 
); 
?>

Note 1: I split the word “Books” from the part of the string that (probably) shouldn’t need to be translated – i.e. the colon and space.); the two parts of the parameter are concatenated. (Ed: Per @Toscho’s suggestion, I changed this)

Note 2: Looks like you’ve added an extra parameter to your call to get_the_term_list()