Мултиезичност във функция - проблем

tyrla4eto

Registered
Здравейте, в момента правя мултиезичност за моя сайт, но срещнах един проблем. Текста на различните езици е в масив $lang, като вадя даден текст с
Код:
echo $lang['text1'];
проблем няма, но имам функции, които са написани по този начин:

Код:
function text() {
$html .= 'Някакъв текст, който се показва в сайта!';
return $html
}

Когато искам да сложа този масив за да преведа тези функции текства не се показва изобщо. Правя го по следния начин:

Код:
function text() {
$html .= 'Някакъв текст, '.$lang['text1'].' в сайта!';
return $html
}


Знаете ли какъв може да е проблема, че да не се показва текста от масива? Дали аз не го извеждам по правилния начин?
 
global $lang;
Масива не е глобален и във функцията не е указано да го ползва. Трябва изришно да зададеш, че трябва да ползва глобалният масив $lang защото има разлика между променливата $lang извън функцията и променливата $lang във функцията. Там тя е локална само за функцията.

PHP:
function text() {
global $lang;
$html .= 'Някакъв текст, '.$lang['text1'].' в сайта!';
return $html
}

Може и като параметър да подаваш:

PHP:
function text($lang) {
$html .= 'Някакъв текст, '.$lang['text1'].' в сайта!';
return $html
}

text($lang);
 

Back
Горе