phyzikz/php_translation

使用 symfony/yaml 的翻译处理类

v1.0.1 2023-07-28 12:35 UTC

This package is auto-updated.

Last update: 2024-09-28 15:44:35 UTC


README

使用 symfony/yaml 的翻译处理类

请阅读 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>";