fei / translate-package
Objective PHP应用程序的翻译客户端包集成
v1.4.1
2019-04-03 15:58 UTC
Requires
- php: >=7.0
- fei/connect-client: ^3.1
- fei/translate-client: ^1.4
- objective-php/application: ^1.0
- objective-php/cli: ^1.2
- dev-master
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dependabot/composer/guzzlehttp/guzzle-6.5.8
- dev-dependabot/composer/guzzlehttp/psr7-1.8.5
- dev-dependabot/composer/phpseclib/phpseclib-2.0.31
- dev-dependabot/composer/symfony/http-foundation-3.4.47
- dev-dependabot/composer/robrichards/xmlseclibs-3.1.1
- dev-detached
- dev-detached2
- dev-feature/add-api-key
- dev-develop
- dev-feature/update_translate_client
This package is auto-updated.
Last update: 2024-09-20 08:57:59 UTC
README
本软件包为Objective PHP应用程序提供翻译客户端集成。
安装
Translate Package需要PHP 7.0或更高版本才能正确运行。
您需要使用以下命令将其集成到Objective PHP项目中:composer require fei/translate-package
。
集成
如下所示,Translate Package必须连接到应用程序的初始化方法。
Translate Package创建一个翻译客户端服务,该服务将由应用程序的中间件使用。
<?php use ObjectivePHP\Application\AbstractApplication; use Fei\Service\Translate\Package\TranslatePackage; class Application extends AbstractApplication { public function init() { // Define some application steps $this->addSteps('bootstrap', 'init', 'auth', 'route', 'rendering'); // Initializations... // Plugging the Translate Package in the bootstrap step $this->getStep('bootstrap') ->plug(TranslatePackage::class); // Another initializations... } }
应用程序配置
在您的配置目录中创建一个文件,并将以下Translate配置放入其中
<?php use Fei\Service\Translate\Package\Config\TranslateParam; use Fei\ApiClient\Transport\BasicTransport; return [ new TranslateParam('base_url', 'http://translate.api/'), // Translate API URL and port new TranslateParam('transport', new BasicTransport()), // Transport type new TranslateParam('translate_directory', '/app/translate/'), // Directory to store the translations new TranslateParam('translate_config', [ 'lock_file' => '/app/translate/.translations.lock', 'data_path' => '/app/translate/data', 'translations_path' => '/app/translate/translations', 'localTranslationsFile' => dirname(__DIR__) . '/localTranslations.php', 'skipSubscription' => false, 'servers' => [ 'http://translate.api/' => [ 'namespaces' => ['/mynamespace'], 'host' => 'other-host' ] ], 'url' => 'http://translate.domain.dev/handleRequest.php' ]),// Translate client config (Cf. Translate Client documentation) new TranslateParam('translate_namespace', '/mynamespace'), // Namespace defined in translate_config where to search the translations new TranslateParam('translate_lang', 'en_GB') // Language defined in which we want the translations ];
在之前的示例中,您需要设置此配置
base_url
:表示可以联系以发送翻译的API的URLtransport
:表示翻译传输类型translate_directory
:表示存储翻译的目录的路径translate_config
:表示翻译客户端配置(参见translate-client
文档)translate_namespace
:表示默认的命名空间,其中搜索翻译translate_lang
:表示我们想要的默认翻译语言
注意,如果您希望您的应用程序使用本地翻译而不是订阅翻译服务器,则可以像这样配置您的应用程序
<?php use Fei\Service\Translate\Package\Config\TranslateParam; return [ new TranslateParam('translate_config', [ 'localTranslationsFile' => dirname(__DIR__) . '/localTranslations.php', 'skipSubscription' => true, ]), ];
请查看translate-client
文档以获取有关如何使用此客户端的更多信息。