\n";
echo "\n";
}
function qtrans_localeForCurrentLanguage($locale){
// wordpress is looking for locale, this should happen even before init action, so let's hook in here
qtrans_init();
global $q_config;
// try to figure out the correct locale
$locale = array();
$locale[] = $q_config['locale'][$q_config['language']].".utf8";
$locale[] = $q_config['locale'][$q_config['language']]."@euro";
$locale[] = $q_config['locale'][$q_config['language']];
$locale[] = $q_config['language'];
// return the correct locale and most importantly set it (wordpress doesn't, which is bad)
setlocale(LC_ALL, $locale);
return $q_config['locale'][$q_config['language']];
}
function qtrans_optionFilter($do='enable') {
$options = array( 'option_widget_pages',
'option_widget_archives',
'option_widget_meta',
'option_widget_calendar',
'option_widget_text',
'option_widget_categories',
'option_widget_recent_entries',
'option_widget_recent_comments',
'option_widget_rss',
'option_widget_tag_cloud'
);
foreach($options as $option) {
if($do!='disable') {
add_filter($option, 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
} else {
remove_filter($option, 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage');
}
}
}
function qtrans_adminHeader() {
echo "\n";
return qtrans_optionFilter('disable');
}
// Hooks (Actions)
add_action('wp_head', 'qtrans_header');
add_action('edit_category_form', 'qtrans_modifyCategoryForm');
add_action('edit_tag_form', 'qtrans_modifyTagForm');
add_action('edit_link_category_form', 'qtrans_modifyLinkCategoryForm');
add_action('plugins_loaded', 'qtrans_widget_init');
add_action('admin_menu', 'qtranslate_config_page');
add_action('admin_print_scripts', 'qtrans_modifyUpload',99);
add_action('admin_head', 'qtrans_adminHeader');
// Hooks (execution time critical filters)
add_filter('the_content', 'qtrans_useCurrentLanguageIfNotFoundShowAvailable', 0);
add_filter('the_excerpt', 'qtrans_useCurrentLanguageIfNotFoundShowAvailable', 0);
add_filter('the_excerpt_rss', 'qtrans_useCurrentLanguageIfNotFoundShowAvailable', 0);
add_filter('the_title', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage', 0);
add_filter('the_category', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage', 0);
add_filter('sanitize_title', 'qtrans_useDefaultLanguage',0);
add_filter('get_comment_date', 'qtrans_dateFromCommentForCurrentLanguage',0,2);
add_filter('get_comment_time', 'qtrans_timeFromCommentForCurrentLanguage',0,3);
add_filter('get_the_modified_date', 'qtrans_dateModifiedFromPostForCurrentLanguage',0,2);
add_filter('get_the_modified_time', 'qtrans_timeModifiedFromPostForCurrentLanguage',0,3);
add_filter('get_the_time', 'qtrans_timeFromPostForCurrentLanguage',0,3);
add_filter('the_time', 'qtrans_timeFromPostForCurrentLanguage',0,2);
add_filter('the_date', 'qtrans_dateFromPostForCurrentLanguage',0,4);
add_filter('locale', 'qtrans_localeForCurrentLanguage',99);
add_filter('get_the_tags', 'qtrans_convertGetTheTags',0);
add_filter('get_tags', 'qtrans_convertGetTheTags',0);
add_filter('tag_rows', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('cat_rows', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('list_cats', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('wp_list_categories', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('wp_dropdown_cats', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('wp_title', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('single_tag_title', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('single_cat_title', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('single_post_title', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('bloginfo', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('get_others_drafts', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('get_bloginfo_rss', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('get_wp_title_rss', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('wp_title_rss', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('the_title_rss', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('the_content_rss', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('gettext', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('wp_dropdown_pages', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('widget_text', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('category_description', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('bloginfo_rss', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('the_category_rss', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('category_name', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('wp_tag_cloud', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('wp_generate_tag_cloud', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('term_links-post_tag', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('wp_list_bookmarks', 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage',0);
add_filter('pre_option_rss_language', 'qtrans_getLanguage',0);
// Compability with Default Widgets
qtrans_optionFilter();
// Hooks (execution time non-critical filters)
add_filter('the_editor', 'qtrans_modifyRichEditor');
add_filter('author_feed_link', 'qtrans_convertURL');
add_filter('author_link', 'qtrans_convertURL');
add_filter('author_feed_link', 'qtrans_convertURL');
add_filter('day_link', 'qtrans_convertURL');
add_filter('get_comment_author_url_link', 'qtrans_convertURL');
add_filter('month_link', 'qtrans_convertURL');
add_filter('page_link', 'qtrans_convertURL');
add_filter('post_link', 'qtrans_convertURL');
add_filter('year_link', 'qtrans_convertURL');
add_filter('category_feed_link', 'qtrans_convertURL');
add_filter('category_link', 'qtrans_convertURL');
add_filter('tag_link', 'qtrans_convertURL');
add_filter('bloginfo_url', 'qtrans_convertBlogInfoURL',10,2);
add_filter('the_permalink', 'qtrans_convertURL');
add_filter('feed_link', 'qtrans_convertURL');
add_filter('post_comments_feed_link', 'qtrans_convertURL');
add_filter('tag_feed_link', 'qtrans_convertURL');
add_filter('clean_url', 'qtrans_convertURL');
?>