benfiratkaya/translator

适用于基于PHP系统的翻译类。

1.1.0 2019-04-05 18:36 UTC

This package is auto-updated.

Last update: 2024-09-21 20:56:01 UTC


README

适用于基于PHP系统(>= 5.4)的翻译类。

Build Status Latest Stable Version Total Downloads License

关于项目

这是什么?

这是一个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

项目链接: https://github.com/benfiratkaya/Translator