ahmetbarut/translation

该网站支持多语言,并提供简单易用的多语言和翻译功能。

安装: 12

依赖项: 1

建议者: 0

安全: 0

星标: 3

关注者: 1

分支: 0

开放问题: 0

类型:软件包

v1.1.0 2021-09-27 07:37 UTC

This package is auto-updated.

Last update: 2024-09-27 14:19:17 UTC


README

PHP 翻译

这是一个 PHP 包,可以非常容易地实现多语言功能。此外,该包接受 arrayjsonDatabase 格式。

安装

    composer require ahmetbarut/translation

生命周期

diagram

配置

语言文件目录结构应如下所示,并且应该返回一个数组。目录位置不重要,但内容是重要的!

  • lang
    • en
      • menu.php / menu.json
    • tr
      • menu.php / menu.json
    • de
      • menu.php / menu.json

PHP 文件内容

    return [
    'home' => 'Home',
];

JSON 文件内容

    {
        "home": "Home",
        "deneme": "TEST"
    }

数据库表内容

您可以随意更改表名。如果表名不同,必须在 Translation 类构造函数中的 $table 参数中指定表名。

CREATE TABLE translation (
    id serial PRIMARY KEY,
    key varchar (255),
    value VARCHAR (255),
    language VARCHAR(255)
    )

用途

数组或 JSON

use ahmetbarut\Translation\Translation;

require "./vendor/autoload.php";

$translation = new Translation(__DIR__ . '/lang', 'array');
$translation->setLocale('en');

trans('menu.home')

trans 函数接受一个 string,句号前的第一个单词表示文件,句号后的单词是请求的值的键。

setLocale 方法也属于 Translation 类。

数据库

use ahmetbarut\Translation\Translation;

require "./vendor/autoload.php";

try {
    $connect = new PDO('pgsql:host=localhost;dbname=translation;', 'ahmetbarut', "");
}catch (PDOException $th){
    die($th->getMessage());
}

$translation = new Translation( format: 'db', connect: $connect, table: 'translation_words');
$translation->setLocale('en');

trans('home')

在这种情况下,trans 函数不需要 .