function bogo_post_class($classes, $class, $post_id)
{
    $locale = bogo_get_post_locale($post_id);
    $locale = bogo_language_tag($locale);
    $locale = esc_attr($locale);
    if ($locale && !in_array($locale, $classes)) {
        $classes[] = $locale;
    }
    return $classes;
}
function bogo_flag_css()
{
    $flags = array();
    if (apply_filters('bogo_use_flags', true)) {
        $locales = bogo_available_locales();
        foreach ($locales as $locale) {
            if ($flag = bogo_get_flag($locale)) {
                $flags[$locale] = $flag;
            }
        }
    }
    if (!$flags) {
        return;
    }
    $side = is_rtl() ? 'right' : 'left';
    echo '<style type="text/css">' . "\n";
    foreach ($flags as $locale => $flag) {
        echo '.bogo-language-switcher .' . bogo_language_tag($locale) . ' {';
        echo ' background: url("' . $flag . '") no-repeat ' . $side . ' center;';
        echo ' }' . "\n";
    }
    echo '</style>' . "\n";
}
function bogo_language_switcher_links($args = '')
{
    global $wp_query;
    $args = wp_parse_args($args, array());
    $locale = get_locale();
    $available_languages = bogo_available_languages();
    $translations = array();
    $is_singular = false;
    if (is_singular() || !empty($wp_query->is_posts_page)) {
        $translations = bogo_get_post_translations(get_queried_object_id());
        $is_singular = true;
    }
    $links = array();
    foreach ($available_languages as $code => $name) {
        $link = array('locale' => $code, 'lang' => bogo_language_tag($code), 'title' => $name, 'native_name' => bogo_get_language_native_name($code), 'href' => '');
        if ($is_singular) {
            if ($locale != $code && !empty($translations[$code])) {
                $link['href'] = get_permalink($translations[$code]);
            }
        } else {
            if ($locale != $code) {
                $link['href'] = bogo_url(null, $code);
            }
        }
        $links[] = $link;
    }
    return apply_filters('bogo_language_switcher_links', $links, $args);
}
function bogo_lang_slug($locale)
{
    $tag = bogo_language_tag($locale);
    $slug = $tag;
    if (false !== ($pos = strpos($tag, '-'))) {
        $slug = substr($tag, 0, $pos);
    }
    $variations = preg_grep('/^' . $slug . '/', bogo_available_locales());
    if (1 < count($variations)) {
        $slug = $tag;
    }
    return apply_filters('bogo_lang_slug', $slug, $locale);
}