Cześć, mam skrypt (poniżej), który tłumaczy mi tekst. mam dwa pliki, idnex.php(skrypt z tlumaczem) i skrypt.php(select do bazy). W skrypt.php odświeża się co 5s. Za pierwszym razem widzi funkcje i ładnie wszystko działa, ale po 5s pisze " Uncaught Error: Call to undefined function translate() ". Co mogę zrobić?
function getTranslations(): array
{
return [
'pl-PL' => [
'witaj' => 'Witaj',
'wybierz_plik' => 'Wybierz plik do wczytania.',
'historia_plikow' => 'Historia wczytanych plików ',
'nazwa' => 'Nazwa Pliku',
'czas_wczytania' => 'Czas wczytania pliku [s]',
'wybierz_jezyk' => '<b>Wybierz język</b>',
'wyslij' => 'Wyślij plik',
'strefa' => '<b>Twoja strefa czasowa: </b>'.date("e"),
'jezyk' => '<b>Twoj język: </b>Polski',
],
'en-US' => [
'witaj' => 'Hello',
'wybierz_plik' => 'Select the file to load',
'historia_plikow' => 'History of loaded files',
'nazwa' => 'File name',
'czas_wczytania' => 'Time to load the file [s]',
'wybierz_jezyk' => '<b>Choose language</b>',
'wyslij' => 'Send a file',
'strefa' => '<b>Your time zone: </b>'.date("e"),
'jezyk' => '<b>Your language: </b>English',
],
];
}
function translate($text): string
{
$lang = $_GET['lang'] ?? $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? '';
$translations = getTranslations();
switch ($lang) {
case 'pl-PL':
return $translations['pl-PL'][$text] ?? '';
case 'en-US':
case 'en-GB':
default:
return $translations['en-US'][$text] ?? '';
}
}
<div id="historia">
<?php include "select.php";?>
</div>