oss-tools / laravel-libretranslate
一个用于在 Laravel 中使用 LibreTranslate 翻译文本的客户端包。
v1.0.1
2023-07-27 19:03 UTC
Requires
- php: ^8.0.2
- ext-json: *
- guzzlehttp/guzzle: ^7.2
- illuminate/database: ^9.0 || ^10.0
- illuminate/support: ^9.0 || ^10.0
- nesbot/carbon: ^2.0
Requires (Dev)
- orchestra/testbench: ^7.0 || ^8.0
- phpunit/phpunit: ^9.5.10 || ^10.1
README
此包为 Laravel 添加了一个使用 LibreTranslate 翻译文本的客户端。
什么是 LibreTranslate?
LibreTranslate 是一个免费和开源的翻译库。
安装
您可以通过 composer 安装此包。
composer require oss-tools/laravel-libretranslate
配置
为了设置此包,您需要设置以下环境变量。
LIBRETRANSLATE_HOST=https://mylibretranslateserver.com
LIBRETRANSLATE_API_KEY=your-api-key
LIBRETRANSLATE_DEFAULT_SOURCE=en
注意:默认情况下,LIBRETRANSLATE_HOST
的值设置为 https://translate.argosopentech.com,但我们建议您为生产环境设置自己的服务器或使用适合您需求的托管服务。
用法
use OSSTools\LibreTranslate\Client; use OSSTools\LibreTranslate\Translation\LanguageCodes; class ExampleController extends Controller { public function translate() { $client = new Client(); // Returns an instance of \OSSTools\LibreTranslate\Translation\TranslationCollection $result = $client->translate('This is some text', LanguageCodes::SPANISH); // Returns an array of \OSSTools\LibreTranslate\Translation\TranslationItem $result = $client->translate('This is some text', LanguageCodes::SPANISH)->getAll(); // Returns a single instance of \OSSTools\LibreTranslate\Translation\TranslationItem $result = $client->translate(['This is some text', 'A test'], LanguageCodes::SPANISH)->first(); // Returns a single instance of \OSSTools\LibreTranslate\Translation\TranslationItem $result = $client->translate(['This is some text', 'A test'], LanguageCodes::SPANISH)->last(); // Returns a single instance of \OSSTools\LibreTranslate\Translation\TranslationItem $result = $client->translate(['This is some text', 'A test'], LanguageCodes::SPANISH)->get('A test'); // Returns "Una prueba" $result = $client->translate(['This is some text', 'A test'], LanguageCodes::SPANISH)->last()->getText(); } }
从某些文本中检测语言
use OSSTools\LibreTranslate\Client; class ExampleController extends Controller { public function translate() { $client = new Client(); // Returns an instance of \OSSTools\LibreTranslate\Translation\TranslationDetectionCollection $result = $client->detect('This is some text'); // Returns an array of \OSSTools\LibreTranslate\Translation\TranslationDetectionItem $result = $client->detect('This is some text')->getAll(); // Returns a single instance of \OSSTools\LibreTranslate\Translation\TranslationDetectionItem $result = $client->translate('This is some text')->first(); // Returns "en" $result = $client->detect('Some text')->first()->getLanguage(); // Returns "es" $result = $client->detect('Una prueba')->first()->getLanguage(); } }
测试
composer test
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。