私は同じサイトデータベースから情報を取得するいくつかのメタデータを埋めるためにphpコードを構築しています。このサイトは英語、フランス語、スペイン語です。今、私は各言語で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ステートメント内で、さまざまな言語の変数$ value['cat_name']を$meta_en、$ meta_fr、および$meta_es内に格納する必要があることに注意してください。