For comments this would be pretty easy, since it's a separate table.
Create a new table called [yourCPGprefix]_commentsgerman. The easiest way would be to copy the table and rename it, or you can look in sql/schema.sql and find CPG_comments. Rename the table to [yourCPGprefix]_commentsgerman, copy that section and execute it with phpMyAdmin.
CREATE TABLE [yourCPGprefix]_commentsgerman (
pid mediumint(10) NOT NULL default '0',
msg_id mediumint(10) NOT NULL auto_increment,
msg_author varchar(25) NOT NULL default '',
msg_body text NOT NULL,
msg_date datetime NOT NULL default '0000-00-00 00:00:00',
msg_raw_ip tinytext,
msg_hdr_ip tinytext,
author_md5_id varchar(32) NOT NULL default '',
author_id int(11) NOT NULL default '0',
PRIMARY KEY (msg_id),
KEY com_pic_id (pid)
) TYPE=MyISAM;
In init.inc.php, before
if (!file_exists("lang/{$CONFIG['lang']}.php")) $CONFIG['lang'] = 'english';
add
if ($CONFIG['lang'] == 'german' ) {
$CONFIG['TABLE_COMMENTS'] .= "german";
}
That should display German comments only to German users, and everyone else gets the English comments.
Titles and captions would be harder, since they are in the pictures table. It would be easier to have both German and English in the title and caption instead of trying to change the table structure and make changes to the code.
Web translators don't seem to work too well, so I wouldn't try to adapt one to your site. If you choose that option, you'll have to figure out how to do it - I wouldn't know where to start.