PHPackages                             steelywing/translation - 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. steelywing/translation

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

steelywing/translation
======================

PHP Translation

1.1.0(8y ago)119MITPHP

Since Apr 7Pushed 8y ago1 watchersCompare

[ Source](https://github.com/steelywing/Translation)[ Packagist](https://packagist.org/packages/steelywing/translation)[ RSS](/packages/steelywing-translation/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (1)Versions (6)Used By (0)

Translation
===========

[](#translation)

PHP Translator, Simple, Lightweight

Installation
------------

[](#installation)

### Composer

[](#composer)

Run `composer require steelywing/translation`

### Manually

[](#manually)

Clone this repo, run `composer dump-autoload` on root directory to generate `autoload.php`.

Feature
-------

[](#feature)

- Support CSV, and PHP Array
- Support fallback language

```
use SteelyWing\Translation\Dictionary\DictionaryArray;
use SteelyWing\Translation\Dictionary\DictionaryCSV;
use SteelyWing\Translation\Translator;

$translator = new Translator();

// Use array as dictionary
//$dict = new DictionaryArray(include('dictionary.php'));

// Use CSV as dictionary
$dict = new DictionaryCSV('dictionary.csv');

$translator->addDictionary($dict);

$translator->setLocale('en');

// Hello World!
echo $translator->translate('hello world');
echo "\n\n";

// Hello, Steely Wing!
echo $translator->translate('hello', [':user' => 'Steely Wing']);
echo "\n\n";

// 你好，Steely Wing！
echo $translator->translate('hello', [':user' => 'Steely Wing'], 'zh_tw');
echo "\n\n";

// I love programming!
echo $translator->translate('i love programming');
echo "\n\n";

// 我喜爱编程！
echo $translator->translate('i love programming', [], 'zh_cn');
echo "\n\n";

// 世界，你好！
echo $translator->translate('hello world', [], 'zh_tw');
echo "\n\n";

// Echo empty, no fallback locale set
echo $translator->translate('english only', [], 'zh_tw');
echo "\n\n";

// Return the key if key not found
$translator->setFallbackToKey(true);
echo $translator->translate('english only', [], 'zh_tw');
echo "\n\n";

// Fallback to "en", echo "English Only"
$translator->setFallback('en');
echo $translator->translate('english only', [], 'zh_tw');
echo "\n\n";
```

Chinese conversion 繁簡轉換
-----------------------

[](#chinese-conversion-繁簡轉換)

```
use SteelyWing\Translation\Dictionary\DictionaryChinese;

$chinese = new DictionaryChinese($dict);
$translator->addDictionary($chinese);

// Auto translate "繁體轉簡體中文測試" to "繁体转简体中文測試"
echo $translator->translate('simplified chinese testing', [], 'zh_cn');
echo "\n\n";

// Auto translate "简体转繁体中文测试" to "簡體轉繁體中文測試"
echo $translator->translate('traditional chinese testing', [], 'zh_tw');
echo "\n\n";
```

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity67

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~43 days

Total

5

Last Release

3201d ago

Major Versions

v0.1.1 → v1.0.02017-09-22

### Community

Maintainers

![](https://www.gravatar.com/avatar/a9ad22318911e5698f29a1a59ab2758bf481fc7c999e6f8f9cfc1361ddeb9390?d=identicon)[steely.wing](/maintainers/steely.wing)

---

Top Contributors

[![steelywing](https://avatars.githubusercontent.com/u/2720049?v=4)](https://github.com/steelywing "steelywing (13 commits)")

---

Tags

i18nl10nphptranslationtranslator

### Embed Badge

![Health badge](/badges/steelywing-translation/health.svg)

```
[![Health](https://phpackages.com/badges/steelywing-translation/health.svg)](https://phpackages.com/packages/steelywing-translation)
```

###  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.

1926.6k1](/packages/smmoosavi-php-gettext)[laradevs/spanish

labels translated to spanish

166.7k](/packages/laradevs-spanish)

PHPackages © 2026

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