phyzikz / php_translation
使用 symfony/yaml 的翻译处理类
v1.0.1
2023-07-28 12:35 UTC
Requires
- symfony/yaml: ^6.3
README
使用 symfony/yaml 的翻译处理类
如何使用
初始化类
require_once 'vendor/autoload.php';
use \phyzikz\TransHandler\TransHandler as TH;
$t = new TH();
您的翻译将保存在默认的 yaml 目录中,./translations。您可以更改此目录或获取当前翻译目录
$t->setYamlDirectory($yamlDirectory); // set
$yamlFolder = $t->getYamlDirectory(); // get
如果不存在则创建目录
$t->->createYamlDirectory();
设置所需的语言/地区/名称
$t->setLangName('de');
从代码创建翻译文件
$t->setLangName('de');
$t->setTrans('Welcome', 'Willkommen'); // key, value
$t->setTrans('Hello', 'Hallo'); // key, value
$t->createYaml(); // saves de.yaml with given key, value pairs
从代码扩展翻译文件
if (!$t->isLangExists('de')) // checking language file
{
die("Missing file.");
}
/*
$t->setLangName('de'); // desired language file
$trans->parseYaml(); // reading and parsing translation
*/
$trans->parseYaml('de'); // shorthand for setLanguage and parseYaml
$t->setTrans('motorcycle racing', 'Motorradrennen');
$t->createYaml(); // saves / overwrites de.yaml with extended key/value pairs
使用翻译键
$t->parseYaml('hu');
echo $t->getTrans('Greetings')."<br>";
使用翻译数组
$t->parseYaml('hu');
$tArray = $t->getTransArray(); // puts translations into an array
foreach($tArray as $k => $v) // dumping all translation
echo $k.": ".$v."<br>";
在类外添加翻译并写回文件
$t->parseYaml('hu');
$tArray = $t->getTransArray(); // puts translations into an array
$tArray['cucumber'] = 'uborka';
$t->setTransArray($tArray); // fills class variable
$t->createYaml(); // writing out
echo "<pre>";
var_dump($trans->getTransArray()); // dumps current class var
echo "</pre>";