我正在构建一个 php 代码来填充一些从同一个站点 db 获取信息的元数据,这个站点是英语、法语和西班牙语的。现在我需要用每种语言创建 3 个句子,并且我从数据库中获取了一些需要翻译的字符串。有没有办法我可以使用 JText::_ 从语言文件中获取翻译并将其设置为每种语言的不同变量。?
我的意思是
$var_en = JText::_($cat_name) //store the category name in english
$var_fr = JText::_($cat_name) //store the category name in french
如何在我的代码中指定 JText 我想使用什么语言?
我知道这可能很复杂,我将与您分享我的代码以便更好地理解
function createmetadatainfo(){
global $mtconf;
//USE THIS IF SCRIPT EXECUTION TAKES TOO LONG
//set_time_limit(300);
//USE THE $app OBJECT TO CLOSE THE APPLICATION BEFORE JOOMLA RENDERS THE SITE
$app = JFactory::getApplication('admin');
//DATABASE
global $database;
$database =& JFactory::getDBO();
//CREATE AND UPDATE METADESC FOR CATEGORIES.
$query = 'SELECT
`cat_id` , `cat_name` , `cat_links`
FROM
`#__mt_cats`
ORDER BY
`cat_id`';
$database->setQuery($query);
$metaCats = $database->loadAssocList();
foreach ($metaCats as $value) {
//building metadescription sentences in different languages.
$meta_en = $value['cat_links']." listings on ".$value['cat_name']." category";
$meta_fr = $value['cat_links']." annonces sur ".$value['cat_name']." catégorie";
$meta_es = $value['cat_links']." listados en la categoría ".$value['cat_name'];
$cat_id = $value['cat_id'];
$query_cat_metadesc = "UPDATE `#__mt_cats` SET `metadesc` = '$meta_en' ,
`metadesc_fr` = '$meta_fr' ,
`metadesc_es` = '$meta_es'
WHERE `cat_id` = '$cat_id'";
$database->setQuery($query_cat_metadesc);
$database->query();
}
//CLOSE the $app
$app->close();
}
请注意在 foreach 语句中我需要在 $meta_en、$meta_fr 和 $meta_es 中存储不同语言的变量 $value['cat_name']