可能已经很晚了,但遵循良好的功能可以轻松调用检查当前语言或为 qTranslate 自动生成任何语言 URL:
// check language
function check_lang() {
return qtranxf_getLanguage();
}
// Generate language convert URL
function get_lan_url($lang){
echo qtranxf_convertURL('', $lang);
}
// generate inline translate short code
add_shortcode( 'translate_now', 'get_translate' );
function get_translate( $atts, $content = null ) {
extract( shortcode_atts(
array(
'ar' => '',
'en' => '',
'es' => '',
'fr' => '',
), $atts )
);
if ( check_lang() == 'ar' ) {
echo $atts['ar'];
}
if ( check_lang() == 'en' ) {
echo $atts['en'];
}
if ( check_lang() == 'es' ) {
echo $atts['ar'];
}
if ( check_lang() == 'fr' ) {
echo $atts['ar'];
}
}
function translate_now($ar,$en,$es,$fr){
$content = '[translate_now ar="'.$ar.'" en="'.$en.'" es="'.$es.'" fr="'.$fr.'"]';
echo do_shortcode($content);
}
所以现在您可以使用 check_lang() 函数检查当前语言,例如:
<?php if(check_lang() == 'ar'): echo 'مرحبا'; endif;?>
<?php if(check_lang() == 'en'): echo 'Hello'; endif;?>
<?php if(check_lang() == 'es'): echo 'Hola'; endif;?>
<?php if(check_lang() == 'fr'): echo 'Bonjour'; endif;?>
您也可以使用函数 translate_now() 通过传递值来内联翻译:
<?php
translate_now(
'مرحبا', // ar
'Hello', //en
'Hola', //es
'Bonjour' //fr
);
?>
还要生成任何语言转换 URL 使用函数 get_lan_url() 传递请求的语言:
<a href="<?php get_lan_url('ar');?>">العربية</a>
<a href="<?php get_lan_url('en');?>">English</a>
<a href="<?php get_lan_url('es');?>">España</a>
<a href="<?php get_lan_url('fr');?>">Français</a>