benfiratkaya / translator
适用于基于PHP系统的翻译类。
1.1.0
2019-04-05 18:36 UTC
Requires
- php: >=5.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.2
- phpunit/phpunit: ~4.1
This package is auto-updated.
Last update: 2024-09-21 20:56:01 UTC
README
适用于基于PHP系统(>= 5.4)的翻译类。
关于项目
这是什么?
这是一个PHP类,为您的网站提供多语言系统服务。
功能
- 使用变量翻译文本
- 支持类型:PHP、PHP(SQL)、JSON、INI
- 翻译SQL查询
- 小型文件和最佳性能
- 简单使用
- 短函数
支持类型
安装与加载
Composer(推荐)
安装
composer require benfiratkaya/translator
加载
use Translator\Translator; use Translator\Exception; include_once 'vendor/autoload.php';
Github
如果您在项目中不使用composer,可以包含文件。
use Translator\Translator; use Translator\Exception; include_once 'translator/Exception.php'; include_once 'translator/Register.php'; include_once 'translator/Generator.php'; include_once 'translator/Translator.php';
使用方法
语言文件
支持类型:PHP、PHP(SQL)、JSON、INI
PHP(es_ES.php)
return array ( "Hello!" => "Hola!", "Hello %user%" => "Hola %user%" );
PHP(SQL)(es_ES.php)
// Connect database try { $db = new PDO("mysql:host=localhost;dbname=test", "root", "password"); } catch (PDOException $e) { echo $e->getMessage(); } $words = array(); $query = $db->query('SELECT text_en, text_ts FROM Table'); while ($row = $query->fetch()) { $words[$row['text_en']] = $row['text_es']; } return $words;
JSON(es_ES.json)
{ "Hello!": "Hola!", "Hello %user%": "Hola %user%" }
INI(es_ES.ini)
Hello! = Hola! Hello %user% = Hola %user%
异常
// Exception try { // Exception Status, Type, Language, Path $translator = new Translator(true, 'json', 'es_ES', 'translator/languages'); // Register Functions: translate(), translator(), t__(), e__() $translator->register(); $translator->setException(true); // true or false // path/lang.type -> /languages/en_US.json $translator->setType('json'); // php, json, ini $translator->setLang('es_ES'); // Language Code. $translator->setPath('translator/languages'); // Language Files Directory // Update Changes $translator->update(); } catch (Exception $e) { echo 'Error: '.$e->errorMessage(); }
翻译
文本
echo translator('Hello!'); // Output: Hola!
带变量的文本
$var = 'Firat Kaya'; echo translator('Hello %user%', array('%user%' => $var)); // Output: Hola Firat Kaya
其他函数
echo translator('Hello!'); // Output: Hola! echo translate('Hello!'); // Output: Hola! echo t__('Hello!'); // Output: Hola! // Does not require the use of 'echo' with this function. e__('Hello!'); // Output: Hola!
更多信息请参阅Wiki
有用链接
Wiki: https://github.com/benfiratkaya/Translator/wiki
变更日志: https://github.com/benfiratkaya/Translator/blob/master/CHANGELOG.md
许可
在MIT许可证下分发。更多信息请参阅LICENSE
联系方式
Firat Kaya - benfiratkaya@gmail.com