Самый эффективный способ сделать языковой файл в PHP?
Обновлены вопросы вместо создания нового вопроса ...
Я действительно хочу предоставить несколько альтернативных языков, кроме английского, на моей социальной сети, которую я создаю, это будет мой первый раз, когда я буду переводить любой язык, поэтому, пожалуйста, будьте терпеливы со мной.
Я занимаюсь исследованиями, поэтому я в курсе и открыт для идей, и у меня уже есть много вопросов.
1)
Что означает i18n, я часто вижу это при изучении языкового перевода на SO?
2)
Большинство людей говорят, что использованиеGettext PHP имеет расширение или поддержку для него,
Ну, я исследовал это, и у меня есть общее представление об этом, насколько я могу судить, это большая дополнительная работа, чтобы пойти по этому пути,
Я имею в виду кодирование моего сайта, чтобы использовать егоs функции т.е._ (»Привет, мир!м на английском сейчас) или ещеGettext (»Привет, мир!м на английском сейчас) это не проблема, так как любой маршрут, по которому я иду, потребует этого.
Но тогда вы должны установить gettext на свой сервер и заставить его работать,
затем использовать специальные редакторы для создания специальных файлов и их компиляции, я думаю?
Звучит как боль, я понимаю, что это лучший путь, но, похоже, все говорят, что это так.
Так может кто-нибудь сказать мне, почему это путь?
3)
Мне очень нравится простота этого подхода, просто построение языкового массива и вызов нужной фразы в функции, подобной примеру ниже, вы просто включите файл с соответствующим языковым массивом.
Что я действительно хочу знать, так это то, будет ли это метод с менее высокой производительностью при большом трафике и довольно большом сайте по сравнению с использованием gettext, и если да, то можете ли вы объяснить, почему, пожалуйста?
'No photo\'s available',
'NEW_MEMBER' => 'This user is new'
);
return $lang[$phrase];
}
//Then in application where there is text from the site and not from users I would do something like this
echo lang('NO_PHOTO'); // No photo's available would show here
?>
* некоторый код, используемый в brianreavis 'ответ ниже