I managed to put the box in some custom type with your instructions. Also I noticed that the inputs where being saved in the database but they didn’t appear in the input fields when you saved so I also fixed that in the function that recreates the custom box putting some conditional code in case the Box was dealing with some custom post type.
However, this does not make the translated slugs available in the frontend, so I will try to search where that stuff is happening and if I find something I will post the code here.
Here is my corrected and tested function for slug box in metaboxes, you have to replace the older one, near line 780 :
function qTranslateSlug_custom_box() {
global $post, $wpdb, $q_config;
$post_types=get_post_types('','names');
if ($post->post_type == 'page'){
$post_type = QTS_PAGE;
} else if ($post->post_type == 'post') {
$post_type = QTS_POST;
} else if (count($post_types) > 0) {
foreach ($post_types as $post_type) {
if ($post_type == $post->post_type ) {
$type = QTS_CUSTOM;
if ( !current_user_can( 'edit_post', $post_id ))
return;
}
}
if ($type != QTS_CUSTOM)
return;
} else {
return;
}//Fixing support for custom post types
if($type == QTS_CUSTOM){
$query = $wpdb->prepare(
"SELECT qts_lang, qts_slug
FROM {$wpdb->prefix}qtranslate_slug
WHERE %d = qts_type
AND %d = qts_id"
, $type, $post->ID);
$results = $wpdb->get_results($query);
$slugs = array();
} else {
$query = $wpdb->prepare(
"SELECT qts_lang, qts_slug
FROM {$wpdb->prefix}qtranslate_slug
WHERE %d = qts_type
AND %d = qts_id"
, $post_type, $post->ID);
$results = $wpdb->get_results($query);
$slugs = array();
}
foreach ($results as $res) {
$slugs[$res->qts_lang] = $res->qts_slug;
}