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
函数不需要 .
。