ولماذا هذا الموضوع في القسم العام 
أنا اقترح طريقة ثالثة افضل.
اكتب الكلمة التي تريد ترجمتها داخل دالة t_ مثلاً
كود PHP:
echo _t("Hello");
echo _t("Hello %s",array($user));
الآن عندك موقع بلغة واحدة وهي الانجليزية على الأقل
عندما تريد ترجمة الموقع
تستعمل كلاس خاص يسحب الجمل الموجودة داخل الدالة(المطلوب ترجمتها)
ويضعها في ملف خاص يمكن ان تمر عليه مرة واحدة فقط وتترجم كل ما فيه(أو تبرمج الخاصية في لوحة التحكم)
وبالتالي لا تضيع وقتك في انشاء المصفوفات اثناء التطوير
الكلاس:
كود PHP:
<?php
/**
* @author : Ahmad Sadiq
**/
class lang_extractor
{
private $path;
private $func;
private $ext;
function __construct($path,$func,$ext)
{
if (!is_dir($path))die("not directory");
$this->path= $path;
$this->func = $func;
$this->ext = $ext;
}
private function file_lang_extractor($path)
{
$content = file_get_contents($path);
preg_match_all("/".$this->func."\([\"|\'][^\"\\\\]*(?:\\\\.[^\"\\\\]*)*[\"|\']\)/",$content,$all);
$langs = $all[0];
$terms = array ();
foreach ($langs as $lang)
{
$lang = trim($lang);
$terms[]=substr($lang,strlen($this->func)+2,-2);
}
return $terms;
}
private function get_path_files()
{
$dir_iterator = new RecursiveDirectoryIterator($this->path);
$iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST);
foreach ($iterator as $file) {
$ext = pathinfo($file->getPathname(),PATHINFO_EXTENSION);
if (is_file($file->getPathname()) && $ext == $this->ext )
$files[] = $file->getPathname();
}
return $files;
}
public function extract()
{
$files = $this->get_path_files();
$all = array();
foreach ($files as $file)
{
$all = array_merge($all,$this->file_lang_extractor($file));
}
return ((array)array_unique($all));
}
}
?>
بارمترات الكلاس :
مسار المشروع
اسم الدالة
امتداد الملف - ممكن يكون tpl مثلا ً
تستعمل الدالة extract (التي في الكلاس)تعيد لك مصفوفة بالكلمات التي يجب ترجمتها