Esta é uma extensão para a estrutura conforfyphp para ativar a função usando vários idiomas.
├── src
│ └── langs
│ ├── en
│ │ └── index.json
│ ├── zh-Hans
│ │ └── index.json
│ └── zh-Hant
│ └── index.json
└── comfy.lang.config.php
Como essa é uma extensão para o conformário, todas as dependências necessárias no conformyphp e no próprio conformamente são necessárias para usar essa extensão.
Para usar esta extensão, você pode instalá -lo com o Composer.
composer require comfyphp/lang A Comfyphp procurará todas as base de idiomas nas configurações CONFIG_LANG_PATH em comfy.lang.config.php .
Você pode adicionar a seguinte linha em algum lugar e importá -la para todos os arquivos mais tarde, aqui pegamos src/pages/_init.php por exemplo:
$ lang = new ComfyPHP Lang ();Crie arquivos JSON separados para cada idioma que você deseja suportar. E coloque esses arquivos na pasta Languages. Por exemplo, crie os seguintes arquivos:
src/langs/en/index.json :
{
"hello" : " Hello! "
} src/langs/en/special.json :
{
"setting" : {
"title" : " Settings " ,
"info" : " This is the Settings page. "
}
}Nos arquivos em que você deseja usar a extensão de vários idiomas, adicione o código a seguir para exigir o arquivo que você inicializou a extensão Lang e permitir que a função use esses idiomas:
$ root = $ GLOBALS [ " ROOT " ];
$ pagePath = $ GLOBALS [ " CONFIG_PAGE_PATH " ];
require_once " $ root / $ pagePath /_init.php " ;
$ l = $ lang -> useLanguage (); Agora você pode usar seqüências de idiomas em seu código. Quando você escreve $l("hello") , a extensão procurará a chave hello no arquivo index.json . Se você escrever $l("special:setting.info") , a extensão procurará as info principais na tecla setting no arquivo 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 projeto está licenciado pelo MIT, você pode encontrar o arquivo de licença aqui.