Это расширение для Comfyphp Framework, чтобы включить функцию с использованием нескольких языков.
├── src
│ └── langs
│ ├── en
│ │ └── index.json
│ ├── zh-Hans
│ │ └── index.json
│ └── zh-Hant
│ └── index.json
└── comfy.lang.config.php
Поскольку это расширение для Comfyphp, для использования этого расширения необходимы все зависимости, необходимые для Comfyphp и самой Comfyphp.
Чтобы использовать это расширение, вы можете установить его с помощью композитора.
composer require comfyphp/lang Comfyphp будет искать все языки базы в настройках CONFIG_LANG_PATH в comfy.lang.config.php .
Вы можете добавить следующую строку где -нибудь и импортировать ее в все файлы позже, здесь мы принимаем src/pages/_init.php например:
$ lang = new ComfyPHP Lang ();Создайте отдельные файлы JSON для каждого языка, который вы хотите поддержать. И поместите эти файлы в папку языков. Например, создайте следующие файлы:
src/langs/en/index.json :
{
"hello" : " Hello! "
} src/langs/en/special.json :
{
"setting" : {
"title" : " Settings " ,
"info" : " This is the Settings page. "
}
}В файлах, где вы хотите использовать расширение нескольких языков, добавьте следующий код, чтобы потребовать файл, который вы инициализировали расширение LANG, и включите функцию использовать эти языки:
$ root = $ GLOBALS [ " ROOT " ];
$ pagePath = $ GLOBALS [ " CONFIG_PAGE_PATH " ];
require_once " $ root / $ pagePath /_init.php " ;
$ l = $ lang -> useLanguage (); Теперь вы можете использовать языковые строки в своем коде. Когда вы напишете $l("hello") , расширение будет искать ключ hello в файле index.json . Если вы напишете $l("special:setting.info") , расширение будет искать info о ключе в клавише setting в файле special.json .
echo $ l ( " hello " );
echo $ l ( " special:setting.info " ); $ GLOBALS [ " CONFIG_LANG_PATH " ];
$ GLOBALS [ " CONFIG_LANG_PROVIDER " ];
$ GLOBALS [ " CONFIG_LANG_FALLBACK " ];
$ GLOBALS [ " CONFIG_LANG_PARAM " ];
$ GLOBALS [ " CONFIG_LANG_PARAM_NAME " ];
$ GLOBALS [ " CONFIG_LANG_COOKIE " ];
$ GLOBALS [ " CONFIG_LANG_COOKIE_NAME " ];
$ GLOBALS [ " CONFIG_LANG_COOKIE_DOMAIN " ];
$ GLOBALS [ " CONFIG_LANG_COOKIE_TIME " ];Этот проект лицензирован MIT, вы можете найти файл лицензии здесь.