多语言支持PHP [重复]

This question already has an answer here:

Alright, so I'm forced to create a multi-language support site in 4 languages (Greek, French, English and German). I have some ideas on how to set it up, although I would like a second opinion on this.

The first option is to include the file based on the user's settings.

/* 
------------------
Language: English   in   ENGLISH.PHP
------------------ 
*/

$lang['TITLE'] = 'My website page title';
$lang['HOME'] = 'Home';

/* 
------------------
Language: French  in   FRENCH.PHP
------------------
*/
$lang['TITLE'] = 'Titre site-web';
$lang['HOME'] = 'Accueil';

The file would be included accordingly: include_once 'ENGLISH.PHP'; etc.

The other option is to create one general file, but have the language output in an array:

$lang = array("en"=> array("TITLE"=>'My website page title',
                           "HOME" =>'Home'),

              "fr"=> array("TITLE"=>'Titre site-web',
                           "HOME" =>'Accueil'));



$set = $USER_INFO->langPref();   //  output:    en, fr, gr, de

echo $lang[$set]['TITLE'];

The second option seems easier to manage, but I'm not sure if there are any drawbacks to this method...

Any opinions?

By the way, I was planning on translating everything myself.

</div>

You can used .ini to store language:

set = $USER_INFO->langPref(); 
if(file_exists("PATH_TO_FOLDER_LANGUAGE/".$set.'.ini')){
    $arrLanguage= parse_ini_file("PATH_TO_FOLDER_LANGUAGE/".$set.'.ini');
}else{
    $arrLanguage = array();
    echo "Language file not found";
}

print_r($arrLanguage);

in ini file, it will be same:

TITLE=Titre site-web
HOME=Accueil'

read more about init file at here: http://en.wikipedia.org/wiki/INI_file

Hope it can help you!

Don't waste your time, use a framework, Symfony2 for example has a excellent internationalization component:

http://symfony.com/doc/current/components/intl.html

or CakePHP, even easier =)

http://book.cakephp.org/2.0/en/core-libraries/internationalization-and-localization.html

but...if you really...really want to do from scratch =) I recommend you to use something like .po files, here you are some article that could help; http://www.icanlocalize.com/site/tutorials/how-to-translate-with-gettext-po-and-pot-files/

I strongly recommend the use of a framework or even a CMS has this functionality built in...

I hope this can help.