ahmetbarut / translation
该网站支持多语言,并提供简单易用的多语言和翻译功能。
v1.1.0
2021-09-27 07:37 UTC
Requires
- ext-pdo: *
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-27 14:19:17 UTC
README
PHP 翻译
这是一个 PHP 包,可以非常容易地实现多语言功能。此外,该包接受 array、json 和 Database 格式。
安装
composer require ahmetbarut/translation
生命周期
配置
语言文件目录结构应如下所示,并且应该返回一个数组。目录位置不重要,但内容是重要的!
- lang
- en
- menu.php / menu.json
- tr
- menu.php / menu.json
- de
- menu.php / menu.json
- en
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 函数不需要 .。
