initphp / translator
这个库;它是一个微库,可以让你向你的项目或库添加多语言支持。
0.2
2022-04-24 15:42 UTC
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: 9.5
README
这个库;它是一个微库,可以让你向你的项目或库添加多语言支持。
需求
- PHP 7.4 或更高版本
安装
composer require initphp/translator
用法
require_once "vendor/autoload.php"; use \InitPHP\Translator\Translator; $lang = new Translator(); $lang->setDir(__DIR__ . '/languages/') ->setDefault('en'); $lang->change('tr'); // Set Current Language echo $lang->_r('hello');
语言文件是什么样子?
<?php return [ 'hello' => 'Hello {user}', 'today' => 'It\'s {day}', ];
文件?目录?
你可以为每种语言使用一个文件,或者在目录下使用多个文件。
使用文件
如果你打算为一种语言使用单个文件;你的目录结构将类似于以下:
/languages/
en.php
tr.php
fr.php
你的代码看起来如下:
require_once "vendor/autoload.php"; use \InitPHP\Translator\Translator; $lang = new Translator; $lang->useFile(); // Note that it is used first of all. $lang->setDir(__DIR__ . '/languages/') ->setDefault('en'); echo $lang->_r('hello');
使用目录
如果你想使用包含多种语言文件的目录,你的目录结构将类似于以下:
/languages/
en/
user.php
admin.php
profile.php
tr/
user.php
admin.php
profile.php
你的代码看起来如下:
require_once "vendor/autoload.php"; use \InitPHP\Translator\Translator; $lang = new Translator; $lang->useDirectory(); // Note that it is used first of all. $lang->setDir(__DIR__ . '/languages/') ->setDefault('en'); // The filename and keyname are separated by dots. // Example : "filename.key" echo $lang->_r('user.hello');
方法
setDir()
定义存储语言文件的父目录的完整路径。
结构
public function setDir(string $dir): self
setDefault()
定义默认的主要翻译语言,如果当前语言中找不到所需的翻译。
结构
public function setDefault(string $default): self
注意:如果在使用时给出了默认文本;此库将在使用时使用您提供的默认字符串。
useFile()
和 useDirectory()
这两个方法;告诉您是否使用单个PHP文件或目录进行本地化。有关更多信息,请参阅上面的“文件?目录?”。
注意:如果没有指定,则默认使用文件系统。
结构
public function useFile(): self; public function useDirectory(): self;
change()
更改当前语言,如果尚未安装,则加载所需语言。
结构
public function change(string $current): self
_r()
返回所需的翻译值。
结构
public function _r(string $key, ?string $default = null, array $context = []): string
$key
:所需翻译的键。$default
:如果找不到请求的翻译,则替换的字符串。$context
:一个关联数组,报告翻译中的占位符的值(如果有)。
_e()
直接输出所需值。
$lang->_e('hello')
=echo $lang->_r('hello')
结构
public function _e(string $key, ?string $default = null, array $context = []): void
获取帮助
如果您有任何问题、疑虑、错误报告等,请在存储库的问题跟踪器中提交问题。
贡献
所有对此项目的贡献都将根据MIT许可证发布。通过提交拉取请求或提交错误、问题或功能请求,您同意遵守此版权放弃声明。
- 分叉它( https://github.com/initphp/translator/fork )
- 创建您的功能分支(
git checkout -b my-new-feature
) - 提交您的更改(
git commit -am "Add some feature"
) - 推送到分支(
git push origin my-new-feature
) - 创建新的拉取请求
鸣谢
许可证
版权所有 © 2022 MIT许可证