leanku / multi-translator
支持多平台的 PHP 翻译组件
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/leanku/multi-translator
Requires
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^11.5
This package is not auto-updated.
Last update: 2025-10-11 11:10:37 UTC
README
一个轻量、可扩展的 PHP 多平台翻译组件,支持火山、有道、百度翻译接口,支持自动配置检测、CLI 命令行翻译、配置优先级选择。
🚀 安装
使用 Composer 安装本组件:
composer require leanku/multi-translator
📦 使用示例
use MultiTranslator\Translator; $config = [ 'driver' => 'youdao', 'youdao' => [ 'appKey' => '你的有道 appKey', 'appSecret' => '你的有道 appSecret', ] ]; $translator = new Translator('youdao', $config['youdao']); echo $translator->translate('你好世界', 'en'); // Hello World
🧪 CLI 命令行翻译
php bin/translate "你好世界" en
支持 .env
或 config.php
自动读取配置。
🔧 配置说明
支持以下三种翻译平台:
有道翻译
YOUDAO_APP_KEY=xxx YOUDAO_APP_SECRET=xxx
百度翻译
BAIDU_APP_ID=xxx BAIDU_APP_KEY=xxx
火山翻译
VOLC_ACCESS_KEY=xxx VOLC_ACCESS_SECRET=xxx
你也可以使用 config.php
:
return [ 'driver' => 'youdao', 'youdao' => [ 'appKey' => 'your-youdao-app-key', 'appSecret' => 'your-youdao-app-secret', ], ];
✅ 异常处理
所有驱动均会在配置缺失或翻译失败时抛出 MultiTranslator\Exceptions\ConfigException
异常:
try { $translator->translate('你好', 'en'); } catch (\MultiTranslator\Exceptions\ConfigException $e) { echo "配置或调用错误:" . $e->getMessage(); }
🧪 测试
composer require --dev phpunit/phpunit vendor/bin/phpunit tests
📁 项目结构
translator/
├── bin/translate # CLI 命令行
├── config.php # 配置示例
├── src/
│ ├── Contracts/
│ ├── Drivers/
│ ├── Exceptions/
│ ├── Factory/
│ └── Translator.php
├── tests/ # PHPUnit 测试
└── README.md # 使用说明
📜 License
MIT