vulcanphp / translator
Simple Translator 是用于 PHP 应用的多语言文本翻译工具
v1.0
2023-12-12 07:16 UTC
Requires
- php: >=7.4
README
Simple Translator 是用于 PHP 应用的多语言文本翻译工具
安装
建议您使用 Composer 来安装此 PHP 简单翻译器
$ composer require vulcanphp/translator
开始使用
安装此 PHP 简单翻译器后,在您的应用中初始化它。
<?php // index.php use VulcanPhp\Translator\Drivers\GoogleTranslatorDriver; use VulcanPhp\Translator\Manager\TranslatorFileManager; use VulcanPhp\Translator\Translator; require_once __DIR__ . '/vendor/autoload.php'; // initialize translator advanced Translator::init( // user google translator driver to translate text new GoogleTranslatorDriver( // use filesystem manager to store translated text // local filesystem configuration new TranslatorFileManager([ // source language from 'source' => 'en', // target/convert language to 'convert' => 'bn', // suffix for translated file to make it slim, EX: 'en-[admin].json' // [admin] is suffix for this certain language file 'suffix' => null, // local direcotry to store translated files 'local_dir' => __DIR__ . '/translate', ]) ) ); // or, simply use helper function init_translator([ // local filesystem configuration for manager 'convert' => 'bn', // ... ]); // IMPORTANT:: there is a cool feature for google translator // this is lazyLoad, if you use about hundred+ times to translate texts // from google, then it will make the process slower. to make it faster, // enable lazy translator just after initialize the translate instance in index.php // this is optional but HIGHLY RECOMMENDED enable_lazy_translator(); // Now, simply call translate() function allover in your application var_dump(translate('Hello World!')); // ...
它是如何工作的?
此翻译器可以使用不同的外部源来翻译文本并将其存储在应用程序的某个位置。作为一个源,此翻译器内置了一个驱动器(GoogleTranslatorDriver)来翻译文本。为了将其存储在本地,此翻译器还包含一个管理器(TranslatorFileManager)来完成此操作... 对于高级使用,您可以简单地添加新的源,如驱动器、管理器,只需遵循此类接口即可
直接使用 GoogleTranslatorEngine
<?php // index.php use VulcanPhp\Translator\Engine\Google\GoogleTranslator; require_once __DIR__ . '/vendor/autoload.php'; // create a instance of google translator engine $engine = GoogleTranslator::create(); // translate a text from google // translate with all languages that supported by google translator var_dump($engine->translateFromString('Today is a sunny day', 'en', 'bn')); var_dump($engine->translateFromString('Today is a sunny day', 'en', 'fr')); var_dump($engine->translateFromString('Today is a sunny day', 'en', 'es')); // translate multiple text at a time from google var_dump( $engine->translateFromArray( [ 'Today is a sunny day', 'What should i wear today?', ], 'en', 'bn' ) ); // ...
为多种语言创建多个翻译器实例
<?php // index.php use VulcanPhp\Translator\Drivers\GoogleTranslatorDriver; use VulcanPhp\Translator\Manager\TranslatorFileManager; use VulcanPhp\Translator\Translator; require_once __DIR__ . '/vendor/autoload.php'; // create a translator for bengali language $Translator_BN = Translator::create( new GoogleTranslatorDriver( new TranslatorFileManager([ 'source' => 'en', 'convert' => 'bn', 'local_dir' => __DIR__ . '/translate', ]) ) ) ->getDriver(); var_dump($Translator_BN->translate('Hello World')); // create another translator for spanish language $Translator_ES = Translator::create( new GoogleTranslatorDriver( new TranslatorFileManager([ 'source' => 'en', 'convert' => 'es', 'local_dir' => __DIR__ . '/translate', ]) ) ) ->getDriver(); var_dump($Translator_ES->translate('Hello World')); // ...