software:development:demo:cms:ucms:creating_file_lang
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| software:development:demo:cms:ucms:creating_file_lang [2025/05/18 11:00] – внешнее изменение 127.0.0.1 | software:development:demo:cms:ucms:creating_file_lang [2025/05/18 13:08] (текущий) – внешнее изменение 127.0.0.1 | ||
|---|---|---|---|
| Строка 17: | Строка 17: | ||
| ------------------ | ------------------ | ||
| */ | */ | ||
| + | |||
| // | // | ||
| $lang = array(); | $lang = array(); | ||
| // задаем значения ключ/ | // задаем значения ключ/ | ||
| - | $lang[' | + | |
| + | $lang[' | ||
| + | //Language and time zone settings | ||
| $lang[' | $lang[' | ||
| $lang[' | $lang[' | ||
| $lang[' | $lang[' | ||
| $lang[' | $lang[' | ||
| + | //Database Options | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | //Database | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | // | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| ?> | ?> | ||
| </ | </ | ||
| Строка 38: | Строка 57: | ||
| $lang = array(); | $lang = array(); | ||
| // задаем значения ключ/ | // задаем значения ключ/ | ||
| - | $lang[' | + | |
| + | $lang[' | ||
| + | // | ||
| $lang[' | $lang[' | ||
| $lang[' | $lang[' | ||
| $lang[' | $lang[' | ||
| $lang[' | $lang[' | ||
| + | // | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | //База данных | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | // | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| + | $lang[' | ||
| ?> | ?> | ||
| </ | </ | ||
| Строка 57: | Строка 94: | ||
| <?php | <?php | ||
| - | /* подключим файл с константами, | + | /* подключим файл с константами, |
| require_once __DIR__ . " | require_once __DIR__ . " | ||
| /* Присваиваем переменной $file_config значение константы FOLDER | /* Присваиваем переменной $file_config значение константы FOLDER | ||
| (а это директория ucms, записанная в файле cons.php)и добовляем | (а это директория ucms, записанная в файле cons.php)и добовляем | ||
| - | '/ | + | '/ |
| $file_config = FOLDER . '/ | $file_config = FOLDER . '/ | ||
| /* Если config.ini существует */ | /* Если config.ini существует */ | ||
| Строка 123: | Строка 160: | ||
| Откроем файл **lang_test.php** в браузере: | Откроем файл **lang_test.php** в браузере: | ||
| + | {{: | ||
| + | Получаем сообщение о существовании файла **config.ini**, | ||
| + | и вывод двух тестовых фраз на русском языке. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Изменив в настройках файл перевода на **lang_en** получаем тестовые фразы на английском | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Если файл перевода в **config.ini** не указан, | ||
| + | проверяется директория **/lang** и выбираем первый файл, а это **lang_en.php** из массива, | ||
| + | **lang_fr.php** и **lang_ru.php**. Тестовые фразы соответственно на английском. | ||
| + | |||
| + | ===== Файл lang.php ===== | ||
| + | |||
| + | Сам файл **lang.php** в законченном виде нам ничего выводить не будет, т.к. в нем заключена логика выбора | ||
| + | файла перевода. Логику выбора файла перевода из директории вынисем в отдельную функцию **check_lang_install()** чтобы | ||
| + | не прописывать код дважда (для отсутствия **config.ini** и для **defaul_lang**=пустое значение) | ||
| + | |||
| + | <code php lang.php> | ||
| + | <?php | ||
| + | //echo " | ||
| + | |||
| + | /* подключим файл с константами, | ||
| + | | ||
| + | require_once __DIR__ . " | ||
| + | |||
| + | ////////////////////////////////////////////////////////// | ||
| + | // Создадим функцию для выбора первого файла и директории | ||
| + | function check_lang_install() { | ||
| + | $dir = INSTALL . "/ | ||
| + | // | ||
| + | $source = scandir($dir); | ||
| + | // Создадим массив - фильтр для исключения ' | ||
| + | $filter = [' | ||
| + | //В массиве с результатом функция scandir также покажет наличие папок с именами " | ||
| + | // | ||
| + | // Сравним массивы | ||
| + | $files = array_diff($source, | ||
| + | // | ||
| + | $lang_one = array_shift($files); | ||
| + | // Подключаем полученную страницу с переводом | ||
| + | include_once ' | ||
| + | } | ||
| + | ////////////////////////////////////////////////////////// | ||
| + | |||
| + | /* Присваиваем переменной $file_config значение константы FOLDER | ||
| + | (а это директория ucms, записанная в файле cons.php)и добовляем | ||
| + | '/ | ||
| + | $file_config = FOLDER . '/ | ||
| + | /* Если config.ini существует */ | ||
| + | if (file_exists($file_config)) { | ||
| + | // | ||
| + | $config_defaul_lang = parse_ini_file(FOLDER . "/ | ||
| + | // Проверьте, | ||
| + | // переменная $config_defaul_lang не ровно ЛОЖЬ | ||
| + | if ($config_defaul_lang !== false) { | ||
| + | // Доступ к индивидуальным настройкам | ||
| + | $defaul_lang_user = $config_defaul_lang[' | ||
| + | if ($defaul_lang_user == "" | ||
| + | // | ||
| + | check_lang_install(); | ||
| + | } | ||
| + | else { | ||
| + | // Подключаем полученную страницу с переводом | ||
| + | include_once ' | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | else { | ||
| + | // | ||
| + | check_lang_install(); | ||
| + | } | ||
| + | ?> | ||
| + | </ | ||
| + | Т.к. **install.php** у нас является отдельным модулем, | ||
| + | мадуля в директори **/ | ||
| + | в **function.php**, | ||
| <note blue> | <note blue> | ||
software/development/demo/cms/ucms/creating_file_lang.1747555232.txt.gz · Последнее изменение: — 127.0.0.1
