tleckie/translate

快速、强大、可扩展且可定制的php翻译库

1.0.0 2021-05-12 16:39 UTC

This package is auto-updated.

Last update: 2024-09-20 18:49:09 UTC


README

快速、强大、可扩展且可定制的php翻译库

Scrutinizer Code Quality Build Status Code Intelligence Status Total Downloads

您可以通过composer安装此包

composer require tleckie/translate

用法

创建一个Translator类的实例,并将一个loader分配给它。loader必须包含存储翻译文件的目录,它还必须指示翻译文件的扩展名。

<?php

use Tleckie\Translate\Loader\ArrayLoader;
use Tleckie\Translate\Translator;

$trans = new Translator(
    new ArrayLoader('./translations/','php'),
    'es_ES'
);

$trans->trans('hello');

$trans->trans('other.value');

您的翻译文件应该看起来像这样

<?php

return [
  'hello' => "Hola! Bienvenido a mi sitio web!",
  'other.value' => "Otro valor",
  .
  .
  .
];

存储翻译的文件名应该看起来像这样

/translations/es_ES.php

trans()方法接受多个参数。第一个是翻译数组的键,它是在对应文件中搜索的值。

第二个参数(可选)是替换在翻译值中的值数组。如果您想向您的翻译文本中添加值,您必须用"%s"来表示。注意,参数的数量必须与"%s"的数量匹配。

<?php

use Tleckie\Translate\Loader\ArrayLoader;
use Tleckie\Translate\Translator;

$trans = new Translator(
    new ArrayLoader('./translations/','php'),
    'es_ES'
);

$trans->trans('hello',['John']);

您的翻译文件应该看起来像这样

<?php

return [
  'hello' => "Hola %s! Bienvenido a mi sitio web!"
];

即使您配置翻译器加载特定语言,如果您需要,您也可以随时更改语言。

<?php

use Tleckie\Translate\Loader\ArrayLoader;
use Tleckie\Translate\Translator;

$trans = new Translator(
    new ArrayLoader('./translations/','php'),
    'es_ES'
);

$trans->trans('hello',['John'],null, 'en_GB');

您可以通过指定提供的locale定义的语言和国家/地区来创建翻译文件。您还可以决定是否为不同的国家使用相同的语言。地区配置示例:"en_US"和"en_GB"。在这种情况下,您只需要创建一个具有以下名称的文件

/translations/en.php

在这种情况下,以下调用将产生相同的结果,并将从同一文件加载翻译。

<?php

use Tleckie\Translate\Loader\ArrayLoader;
use Tleckie\Translate\Translator;

$trans = new Translator(
    new ArrayLoader('./translations/','php'),
    'es_ES'
);

$trans->trans('hello',['John'],null, 'en_GB');
$trans->trans('hello',['John'],null, 'en_US');

您还可以实现自己的loader来连接到您首选的数据源。您只需实现LoaderInterface接口。

这就是全部!希望这能帮到您 ;)