Il s'agit d'une extension pour le framework ComfyPHP pour activer la fonction à l'aide de plusieurs langues.
├── src
│ └── langs
│ ├── en
│ │ └── index.json
│ ├── zh-Hans
│ │ └── index.json
│ └── zh-Hant
│ └── index.json
└── comfy.lang.config.php
Comme il s'agit d'une extension pour ComFyPHP, toutes les dépendances requises dans ComFyPHP et ComfyPHP elle-même sont nécessaires pour utiliser cette extension.
Pour utiliser cette extension, vous pouvez l'installer avec Composer.
composer require comfyphp/lang ComfyPHP recherchera toutes les langues de base sur les paramètres CONFIG_LANG_PATH dans comfy.lang.config.php .
Vous pouvez ajouter la ligne suivante dans quelque part et l'importer dans tous les fichiers plus tard, ici nous prenons src/pages/_init.php Par exemple:
$ lang = new ComfyPHP Lang ();Créez des fichiers JSON séparés pour chaque langue que vous souhaitez prendre en charge. Et placez ces fichiers dans le dossier Langues. Par exemple, créez les fichiers suivants:
src/langs/en/index.json :
{
"hello" : " Hello! "
} src/langs/en/special.json :
{
"setting" : {
"title" : " Settings " ,
"info" : " This is the Settings page. "
}
}Dans les fichiers où vous souhaitez utiliser l'extension de plusieurs langues, ajoutez le code suivant pour exiger le fichier que vous avez initialisé l'extension Lang et activez la fonction pour utiliser ces langues:
$ root = $ GLOBALS [ " ROOT " ];
$ pagePath = $ GLOBALS [ " CONFIG_PAGE_PATH " ];
require_once " $ root / $ pagePath /_init.php " ;
$ l = $ lang -> useLanguage (); Vous pouvez désormais utiliser des chaînes de langue dans votre code. Lorsque vous écrivez $l("hello") , l'extension recherchera la clé hello dans le fichier index.json . Si vous écrivez $l("special:setting.info") , l'extension recherchera les info clés sous la clé de setting dans le fichier 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 " ];Ce projet est sous licence MIT, vous pouvez trouver le fichier de licence ici.