Вопросы Обновлено вместо того, чтобы задавать новый вопрос...
Я действительно хочу предоставить несколько альтернативных языков, кроме английского на моем сайте социальной сети, который я создаю, это будет мой первый раз, когда я буду делать какой-либо перевод на языке, поэтому, пожалуйста, несите меня. Я изучаю так, что я все ухо и открыт для идей, и у меня много уже здесь есть вопросы.
1)
Что означает i18n, я часто вижу это при исследовании перевода языка на SO?
2)
Большинство людей говорят, что используйте gettext PHP имеет расширение или поддержку для него,
хорошо я изучал его, и у меня есть базовое понимание этого, насколько я могу судить, это много дополнительной работы, чтобы пойти по этому маршруту,
Я имею в виду кодирование моего сайта для использования его функций, т.е. _ ('hello world i'm in English for now') или еще gettext ( "hello world i'm in English for now" ) не проблема, как любой маршрут Я пойду, это потребует.
Но тогда вам нужно установить gettext на свой сервер и заставить его работать,
а затем использовать некоторые специальные редакторы для создания специальных файлов и скомпилировать их, я думаю?
Звучит как боль, я понимаю, что это лучший путь, хотя все, кажется, говорят, что это так. Так может кто-нибудь сказать мне, почему это маршрут?
3)
Мне очень нравится простота этого подхода, просто построение языкового массива и вызов фраз, который вам нужен, в функции, подобной приведенному ниже примеру
, вы должны просто включить файл с соответствующим языковым массивом.
То, что я действительно хочу знать, это будет менее эффективный метод производительности на высоком трафике и довольно большом сайте по сравнению с использованием gettext, и если да, то можете ли вы объяснить, почему?
<?PHP
//Have seperate language files for each language I add, this would be english file
function lang($phrase){
static $lang = array(
'NO_PHOTO' => 'No photo\ 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 available would show here
?>
* некоторый код, используемый из ответа brianreavis ниже