comfyphp / lang
ComfyPHP的多语言扩展
v1.1.1
2023-09-10 09:04 UTC
Requires
- php: >=8.0
- comfyphp/core: ^2.0.0
README
这是一个ComfyPHP框架的扩展,用于启用多语言功能。
默认和推荐目录结构
├── src
│ └── langs
│ ├── en
│ │ └── index.json
│ ├── zh-Hans
│ │ └── index.json
│ └── zh-Hant
│ └── index.json
└── comfy.lang.config.php
在使用之前
由于这是ComfyPHP的扩展,因此需要使用此扩展,需要ComfyPHP及其所有依赖项。
下载/安装
要使用此扩展,您可以使用Composer安装它。
composer require comfyphp/lang
使用方法
初始化
ComfyPHP将根据在comfy.lang.config.php
中的CONFIG_LANG_PATH
设置搜索所有语言。
您可以在某个位置添加以下行,并在稍后将其导入到每个文件中,这里以src/pages/_init.php
为例
$lang = new ComfyPHP\Lang();
创建JSON
为要支持每种语言创建单独的JSON文件。将这些文件放置在语言文件夹中。例如,创建以下文件
src/langs/en/index.json
:
{ "hello": "Hello!" }
src/langs/en/special.json
:
{ "setting": { "title": "Settings", "info": "This is the Settings page." } }
使用方法
在您想使用多语言扩展的文件中,添加以下代码以要求初始化语言扩展的文件,并启用使用这些语言的功能
$root = $GLOBALS["ROOT"]; $pagePath = $GLOBALS["CONFIG_PAGE_PATH"]; require_once "$root/$pagePath/_init.php"; $l = $lang->useLanguage();
现在您可以在代码中使用语言字符串。当您写入$l("hello")
时,扩展将查找index.json
文件中的键hello
。如果您写入$l("special:setting.info")
,则扩展将在special.json
文件下的setting
键中查找键info
。
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许可证,您可以在这里找到许可证文件。