leanku/multi-translator

There is no license information available for the latest version (dev-master) of this package.

支持多平台的 PHP 翻译组件

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/leanku/multi-translator

dev-master 2025-06-20 11:07 UTC

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

支持 .envconfig.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