WordPress : qTranslate affiche les langues disponibles pour les publications sur la page
J’ai besoin que les langues manquantes soient affichées sur la page Blog. J’ai 4 langues (allemand, tchèque, anglais, français), donc quand j’ai un message en anglais avec traduction en allemand, je dois montrer qu’il n’y a pas de traduction en tchèque et en français, et que l’anglais et l’allemand sont ok. J’ai trouvé que dans l’administrateur, j’ai la colonne « Langues » avec des informations similaires sur la page Tous les messages et j’ai trouvé le code correspondant
function qtranxf_languageColumn($column) {
global $q_config, $post;
if ($column == 'language') {
$missing_languages = null;
$available_languages = qtranxf_getAvailableLanguages($post->post_content);
if($available_languages === FALSE){
echo _x('Languages are not set', 'Appears in the column "Languages" on post listing pages, when content has no language tags yet.', 'qtranslate');
}else{
$missing_languages = array_diff($q_config['enabled_languages'], $available_languages);
$available_languages_name = array();
$language_names = null;
foreach($available_languages as $language) {
if(isset($q_config['language_name'][$language])){
$language_name = $q_config['language_name'][$language];
}else{
if(!$language_names) $language_names = qtranxf_default_language_name();
$language_name = isset($language_names[$language]) ? $language_names[$language] : __('Unknown Language', 'qtranslate');
$language_name .= ' ('.__('Not enabled', 'qtranslate').')';
}
$available_languages_name[] = $language_name;
}
$available_languages_names = join(', ', $available_languages_name);
echo apply_filters('qtranslate_available_languages_names',$available_languages_names);
}
do_action('qtranslate_languageColumn', $available_languages, $missing_languages);
}
return $column;
}
mais je ne sais pas comment résoudre ce problème en fonction de mes besoins, aidez-moi s’il vous plaît avec cette question !
Solution n°1 trouvée
vous devriez faire quelque chose comme ça : (dans votre thème single.php ou entry-content.php)
// get the post id
$post = get_post();
$post_id = $post -> ID;
// check if en is available and the current language not english
if(!qtranxf_isAvailableIn($post_id, 'en') && qtranxf_getLanguage() != 'en'){ // no En content
echo 'no english';
}
// check if the french is available and the current language not french
if(!qtranxf_isAvailableIn($post_id, 'fr') && qtranxf_getLanguage() != 'fr'){ // no FR content
echo 'no french';
}
// check if the czech is available and the current language not czech
if(!qtranxf_isAvailableIn($post_id, 'cz') && qtranxf_getLanguage() != 'cz'){ // no cz content
echo 'no czech';
}
// check if the german is available and the current language not german
if(!qtranxf_isAvailableIn($post_id, 'de') && qtranxf_getLanguage() != 'de'){ // no Ger content
echo 'no german';
}
Code non testé
qui pourrait vous aider ou vous amener à trouver une solution de travail.
0 commentaire