RLink
Новичок
Мультиязычность
Здравствуйте!
Очень интересует, как лучше сделать несколько версий сайт. (английская, французская, русская...)
Возник вопрос по производительности, что лучше делать создавать страницу, а потом весь код сайта облачить в ob_start, затем в переменную и в конце использовать str_raplace($lang[%], $lang['ru'], $site); по базе типа:
$lang['%'][] = '%slovo1%';
$lang['ru'] = 'слово1';
$lang['en'] = 'word1';
$lang['%'][] = '%slovo1%';
$lang['ru'] = 'слово1';
$lang['en'] = 'word1';
а в самом документе просто например писать так %privetstvie%, %opisanie%
ИЛИ лучше сделать функцию, типа
function lang($s) {
globals $multi;
$r['slovo1']['ru'] = 'slovo1';
$r['slovo1']['en'] = 'slovo1';
$r['slovo2']['ru'] = 'slovo2';
$r['slovo2']['en'] = 'slovo2';
return $r[$s][$multi];
}
и вызывать функцию в самом php документе, echo $lang('slovo1');
насчёт выигрышности, str_replace возможно выигрывает, ну можно в конце ещё потом пробелы лишние удалить, табы и другой мусор, который только для удобства программиста, так же мне удобнее это так как использую memcache. А вот насчёт производительности, это ведь получает функция будет оббегать весь документ при каждом запросе пользователя.
Очень волнует вопрос производительности, прошу помочь.
Сайт посещают около 40-50тыс хостов/день.
Здравствуйте!
Очень интересует, как лучше сделать несколько версий сайт. (английская, французская, русская...)
Возник вопрос по производительности, что лучше делать создавать страницу, а потом весь код сайта облачить в ob_start, затем в переменную и в конце использовать str_raplace($lang[%], $lang['ru'], $site); по базе типа:
$lang['%'][] = '%slovo1%';
$lang['ru'] = 'слово1';
$lang['en'] = 'word1';
$lang['%'][] = '%slovo1%';
$lang['ru'] = 'слово1';
$lang['en'] = 'word1';
а в самом документе просто например писать так %privetstvie%, %opisanie%
ИЛИ лучше сделать функцию, типа
function lang($s) {
globals $multi;
$r['slovo1']['ru'] = 'slovo1';
$r['slovo1']['en'] = 'slovo1';
$r['slovo2']['ru'] = 'slovo2';
$r['slovo2']['en'] = 'slovo2';
return $r[$s][$multi];
}
и вызывать функцию в самом php документе, echo $lang('slovo1');
насчёт выигрышности, str_replace возможно выигрывает, ну можно в конце ещё потом пробелы лишние удалить, табы и другой мусор, который только для удобства программиста, так же мне удобнее это так как использую memcache. А вот насчёт производительности, это ведь получает функция будет оббегать весь документ при каждом запросе пользователя.
Очень волнует вопрос производительности, прошу помочь.
Сайт посещают около 40-50тыс хостов/день.