Esta es una extensión para el marco COMFYPHP para habilitar la función utilizando múltiples idiomas.
├── src
│ └── langs
│ ├── en
│ │ └── index.json
│ ├── zh-Hans
│ │ └── index.json
│ └── zh-Hant
│ └── index.json
└── comfy.lang.config.php
Como esta es una extensión para COMFYPHP, se necesita todas las dependencias requeridas en COMFYPHP y COMFYPHP para usar esta extensión.
Para usar esta extensión, puede instalarla con el compositor.
composer require comfyphp/lang COMFYPHP buscará todos los idiomas base en la configuración CONFIG_LANG_PATH en comfy.lang.config.php .
Puede agregar la siguiente línea a algún lugar e importarla en cada archivo más tarde, aquí tomamos src/pages/_init.php por ejemplo:
$ lang = new ComfyPHP Lang ();Cree archivos JSON separados para cada idioma que desee admitir. Y coloque estos archivos en la carpeta de idiomas. Por ejemplo, cree los siguientes archivos:
src/langs/en/index.json :
{
"hello" : " Hello! "
} src/langs/en/special.json :
{
"setting" : {
"title" : " Settings " ,
"info" : " This is the Settings page. "
}
}En los archivos donde desea usar la extensión de varios idiomas, agregue el siguiente código para requerir el archivo que inicializó la extensión de Lang y habilita la función para usar esos idiomas:
$ root = $ GLOBALS [ " ROOT " ];
$ pagePath = $ GLOBALS [ " CONFIG_PAGE_PATH " ];
require_once " $ root / $ pagePath /_init.php " ;
$ l = $ lang -> useLanguage (); Ahora puede usar cadenas de idiomas en su código. Cuando escriba $l("hello") , la extensión buscará la clave hello en el archivo index.json . Si escribe $l("special:setting.info") , la extensión buscará la info de la clave bajo la clave setting en el archivo 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 " ];Este proyecto tiene licencia MIT, puede encontrar el archivo de licencia aquí.