Example #1
0
function qtranxf_use_block($lang, $blocks, $show_available = false, $show_empty = false)
{
    //qtranxf_dbg_log('qtranxf_use_block:('.$lang.') $blocks: ', $blocks);
    $available_langs = array();
    $content = qtranxf_split_blocks($blocks, $available_langs);
    //qtranxf_dbg_log('qtranxf_use_block: $content: ',$content);
    //qtranxf_dbg_log('qtranxf_use_block: $available_langs: ',$available_langs);
    return qtranxf_use_content($lang, $content, $available_langs, $show_available, $show_empty);
}
/**
 * @since 3.4.6.5
*/
function qtranxf_translate_post($post, $lang)
{
    foreach (get_object_vars($post) as $key => $txt) {
        switch ($key) {
            //the quickest way to proceed
            //known to skip
            case 'ID':
                //int
            //int
            case 'post_author':
            case 'post_date':
            case 'post_date_gmt':
            case 'post_status':
            case 'comment_status':
            case 'ping_status':
            case 'post_password':
            case 'post_name':
                //slug!
            //slug!
            case 'to_ping':
            case 'pinged':
            case 'post_modified':
            case 'post_modified_gmt':
            case 'post_parent':
                //int
            //int
            case 'guid':
            case 'menu_order':
                //int
            //int
            case 'post_type':
            case 'post_mime_type':
            case 'comment_count':
            case 'filter':
                continue;
                //known to translate
            //known to translate
            case 'post_content':
                $post->{$key} = qtranxf_use_language($lang, $txt, true);
                break;
            case 'post_title':
            case 'post_excerpt':
            case 'post_content_filtered':
                $blocks = qtranxf_get_language_blocks($txt);
                if (count($blocks) > 1) {
                    //value is multilingual
                    $key_ml = $key . '_ml';
                    $post->{$key_ml} = $txt;
                    $langs = array();
                    $content = qtranxf_split_blocks($blocks, $langs);
                    $post->{$key} = qtranxf_use_content($lang, $content, $langs, false);
                    //$post->$key = qtranxf_use_block($lang, $blocks, false);
                    $key_langs = $key . '_langs';
                    $post->{$key_langs} = $langs;
                }
                break;
                //other maybe, if it is a string, most likely it never comes here
            //other maybe, if it is a string, most likely it never comes here
            default:
                $post->{$key} = qtranxf_use($lang, $txt, false);
        }
    }
}