comfyphp/lang

ComfyPHP的多语言扩展

v1.1.1 2023-09-10 09:04 UTC

This package is auto-updated.

Last update: 2024-09-16 09:11:47 UTC


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许可证,您可以在这里找到许可证文件。