phpwordpressqtranslate

Translate content on attachment pages – what am I missing?


I want to use the qTranslate-Translation on this page as on any other with the names of the "Previous" and "Next" links. Somehow it doesn't work and for hours I have tried to figure out why...

It should use either the German or the English words depending on the chosen language – as it does on any other language. In the settings of qTranslate "attachments" is obviously checked for translation.

It somehow recognises the tags, that way it doesn't display just the whole thing as a string, but just the two words next to each other.

Maybe someone with eagle's eyes? Thanks!

...
<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>

    <div class="grid_12 exhibition-views">

        <div class="navigation">
            <div class="previous">
                <?php 
                    _e("[:en]".previous_image_link(0,'Previous')."[:de]".previous_image_link(0,'Zurück')."[:]");
                ?>
            </div>
            <div class="next">
                <?php 
                    _e("[:en]".next_image_link(0,'Next')."[:de]".next_image_link(0,'Weiter')."[:]");
                ?>
            </div>
        </div>

        <?php echo wp_get_attachment_image( $post->ID, 'large' ); ?>

        <!-- <div class="caption">< ?php if ( !empty($post->post_excerpt) ) the_excerpt(); ? ></div> -->

    </div>

<?php endwhile; ?>
...

Solution

  • Judging by your code, you're expecting next_image_link to return a string. It doesn't - it echos the link. See the source - next_image_link calls adjacent_image_link, which does the echo on line 2658.

    How about doing:

    next_image_link(0,__('[:en]Next[:de]Weiter[:]'));
    

    instead?