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); } } }