software:development:demo:cms:ucms:creating_file_lang
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | |||
software:development:demo:cms:ucms:creating_file_lang [2025/05/18 11:01] – [Файл lang_test.php] vladpolskiy | 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 существует */ | ||
Строка 124: | Строка 161: | ||
{{: | {{: | ||
+ | |||
+ | Получаем сообщение о существовании файла **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.1747555277.txt.gz · Последнее изменение: — vladpolskiy