Archief: vertalen


Elke taal een eigen sidebar

Gepost op 18 mei om 14:00u, door famire | geen reacties

Als je WPML gebruikt in een WordPress website met sidebars, dan wil je die sidebars ook graag mee veranderen als de bezoeker een andere taal selecteert. Om dit te realiseren zul je voor elke taal een eigen sidebar aan moeten maken. Nou kun je natuurlijk de code daarvoor vast in de functions.php zetten, maar als jij (of je opdrachtgever etc.) op een later tijdstip besluit om een taal toe te voegen of te verwijderen, dan moet dit ook handmatig gebeuren.

Dynamische sidebars per taal

Het makkelijkst is dus om sidebars dynamisch aan te laten maken op basis van de talen die geactiveerd zijn. Dat doe je met de volgende code:
<?php

/*
 Register sidebars
*/
if ( function_exists('register_sidebars') )
{
    // WPML is active
    if ( function_exists('icl_get_languages') )
    {
        foreach ( icl_get_languages('skip_missing=0&orderby=name&order=asc') as $lang )
        {
            register_sidebar( array(
                'name'          => __(sprintf('%s Sidebar',strtoupper($lang['language_code']))),
                'id'            => 'sidebar-'.$lang['language_code'],
                'before_widget' => '<li id="%1$s">',
                'after_widget'  => '</li>',
                'before_title'  => '<h4>',
                'after_title'   => '</h4>'
            ) );
        }
    }
    // WPML is not active
    else
    {
        register_sidebar( array(
            'name'          => __('Sidebar'),
            'id'            => 'sidebar-default',
            'before_widget' => '<li id="%1$s">',
            'after_widget'  => '</li>',
            'before_title'  => '<h4>',
            'after_title'   => '</h4>'
        ) );
    } // end if/else
} // end if

?>
Met bovenstaande code zorg je ervoor dat er een standaard sidebar wordt aangemaakt als er geen talen actief zijn.

Meerdere sidebars

Gebruik je meerdere sidebars en wil je die allemaal vertalen? Dan herhaal je de code binnen in de foreach (de register_sidebar functie dus) en maak je de benodigde wijzigingen (naam & ID van de sidebar). Een voorbeeldje van meerdere sidebars vertalen (een standaard sidebar en eentje voor de blogs):
<?php

/*
 Register sidebars
*/
if ( function_exists('register_sidebars') )
{
    // WPML is active
    if ( function_exists('icl_get_languages') )
    {
        foreach ( icl_get_languages('skip_missing=0&orderby=name&order=asc') as $lang )
        {
            register_sidebar( array(
                'name'          => __(sprintf('%s Sidebar | Default',strtoupper($lang['language_code']))),
                'id'            => 'sidebar-default-'.$lang['language_code'],
                'before_widget' => '<li id="%1$s">',
                'after_widget'  => '</li>',
                'before_title'  => '<h4>',
                'after_title'   => '</h4>'
            ) );

            register_sidebar( array(
                'name'          => __(sprintf('%s Sidebar | Blog',strtoupper($lang['language_code']))),
                'id'            => 'sidebar-blog-'.$lang['language_code'],
                'before_widget' => '<li id="%1$s">',
                'after_widget'  => '</li>',
                'before_title'  => '<h4>',
                'after_title'   => '</h4>'
            ) );
        }
    }
    // WPML is not active
    else
    {
        register_sidebar( array(
            'name'          => __('Sidebar | Default'),
            'id'            => 'sidebar-default',
            'before_widget' => '<li id="%1$s">',
            'after_widget'  => '</li>',
            'before_title'  => '<h4>',
            'after_title'   => '</h4>'
        ) );

        register_sidebar( array(
            'name'          => __('Sidebar | Blog'),
            'id'            => 'sidebar-blog',
            'before_widget' => '<li id="%1$s">',
            'after_widget'  => '</li>',
            'before_title'  => '<h4>',
            'after_title'   => '</h4>'
        ) );
    } // end if/else
} // end if

?>

Sidebar laden

Nou heb je natuurlijk niet zo heel veel aan vertaalde sidebars als je niet ook de juiste sidebar kan laden op de site. Open je sidebar.php en vervang de huidige code om de dynamische sidebar op te halen met de volgende code:
<?php

if ( function_exists('dynamic_sidebar') )
{
    // WPML is active
    if ( function_exists('icl_get_languages') )
    {
        // only load sidebar if it is active
        if ( is_active_sidebar('sidebar-'.ICL_LANGUAGE_CODE) ) dynamic_sidebar('sidebar-'.ICL_LANGUAGE_CODE);
    }
    // WPML is not active
    else
    {
        dynamic_sidebar('sidebar-default');
    }
}

?>
  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Lees de rest van dit bericht »


Je WordPress website in meerdere talen

Gepost op 14 maart om 14:00u, door hiranthi | 1 reactie

Om je WordPress website makkelijk te onderhouden in meerdere talen heb je een plugin nodig, de plugin – van mijn voorkeur – hiervoor is WPML.

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Lees de rest van dit bericht »


Je WordPress plugin vertaalbaar maken

Gepost op 24 november om 14:00u, door hiranthi | geen reacties

Als je een WordPress plugin maakt – voor jezelf, een klant of om in de WordPress Repository op te nemen – dan is het wel zo handig om deze beschikbaar te maken in meerdere talen. Of in ieder geval andere gebruikers de gelegenheid te geven om jouw plugin makkelijk te gebruiken in hun eigen taal.

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Lees de rest van dit bericht »


Je WordPress theme vertaalbaar maken

Gepost op 27 april om 14:00u, door hiranthi | geen reacties

Om je WordPress website in meerdere talen beschikbaar te maken is alleen een plugin als qTranslate of WPML niet voldoende. In elke theme staat namelijk wel wat tekst dat door die plugins niet vertaald wordt (denk aan X reacties bijvoorbeeld).

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Lees de rest van dit bericht »


Poedit gebruiken

Gepost op 26 april om 14:00u, door hiranthi | geen reacties

Poedit is een programma waarmee je – onder andere – je WordPress plugins en themes kunt vertalen. In deze tutorial leg ik uit hoe je Poedit hiervoor kunt gebruiken.

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Lees de rest van dit bericht »