PHPackages                             leanku/multi-translator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. leanku/multi-translator

ActiveLibrary[Localization &amp; i18n](/categories/localization)

leanku/multi-translator
=======================

支持多平台的 PHP 翻译组件

02PHP

Since Jun 20Pushed 1y agoCompare

[ Source](https://github.com/leanku/translator)[ Packagist](https://packagist.org/packages/leanku/multi-translator)[ RSS](/packages/leanku-multi-translator/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

MultiTranslator
===============

[](#multitranslator)

一个轻量、可扩展的 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 命令行翻译
-----------

[](#-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
---------

[](#-license)

MIT

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity15

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/81899539?v=4)[Leanku](/maintainers/leanku)[@leanku](https://github.com/leanku)

---

Top Contributors

[![leanku](https://avatars.githubusercontent.com/u/81899539?v=4)](https://github.com/leanku "leanku (1 commits)")

### Embed Badge

![Health badge](/badges/leanku-multi-translator/health.svg)

```
[![Health](https://phpackages.com/badges/leanku-multi-translator/health.svg)](https://phpackages.com/packages/leanku-multi-translator)
```

###  Alternatives

[smmoosavi/php-gettext

Wrapper for php-gettext by danilo segan. This library provides PHP functions to read MO files even when gettext is not compiled in or when appropriate locale is not present on the system.

1927.0k1](/packages/smmoosavi-php-gettext)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
