PHPackages                             picolab/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. picolab/translator

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

picolab/translator
==================

Simple translating class with translation providers

0.8(9y ago)219MITPHP

Since Jul 27Pushed 9y ago2 watchersCompare

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

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

**Simple translator class with some translate providers**

### Usage

[](#usage)

```
 $translator = new Picolab\Translator\Translator();

 // set up your translating provider from available providers
 $translator->setProvider($translateProvider);

 // translate:
 $translation = $translator->from('en')->to('ru')->translate('Some other language');

 // You can output the results immediately with echo
 echo $translation;
 // output:
 // Другой язык

 $outputResponse = $translation->getResponse();
 //output:
 /*
 Array
 (
     [code] => 200
     [to] => ru
     [from] => en
     [text] => Array
         (
             [0] => Другой язык
         )

 )
 */

// You can use language autodetect feature, if provider is supporting it:
$translation = $translator->to('ru')->translate('Some other language');
// output $translation->getResponse():
/*
  Array
  (
      [code] => 200
      [to] => ru
      [from] => en
      [text] => Array
          (
              [0] => Другой язык
          )
  )
  */

 // You can even use arrays for translating multiple texts
 $translation = $translator->to('ru')->translate(['Some other language', 'Some other value']);
 // $translation->getResponse():
 /*
   Array
   (
       [code] => 200
       [to] => ru
       [from] => en
       [text] => Array
           (
               [0] => Другой язык
               [1] => другое значение
           )
   )
   */
// p.s. in this case  echo $translation  will output only first array item
```

Providers use Guzzle Http client, if you have specific guzzle client configuration, you can set up with setGuzzleInstance function

```
 $translator = new Picolab\Translator\Translator();

 $translator->setGuzzleInstance($yourGuzzleClientInstance);
 ...

```

### Available providers

[](#available-providers)

- [Microsoft Translator service provider](#microsoft)
- [Yandex provider](#yandex)
- [Tilde Machine Translation provider](#tilde)
- [Google Translate API provider](#google)

####  Microsoft Translator service provider

[](#-microsoft-translator-service-provider)

dev docs:

```
 $translateProvider = new Picolab\Translator\Providers\BingProvider([
     'client_id' => 'client id',
     'client_secret' => 'client secret',
 ]);

```

####  Yandex provider

[](#-yandex-provider)

dev docs:

```
$translateProvider = new Picolab\Translator\Providers\YandexProvider([
     'key' => 'your api key',
 ]);
```

####  Tilde Machine Translation provider

[](#-tilde-machine-translation-provider)

dev docs:

Due to the fact that available languages is already defined in the MT system, you do not need to specify them there, but provider class will output system source and target language

```
$translateProvider = new Picolab\Translator\Providers\LetsMTProvider([
    'client_id' => 'client ID',
    'systemID' => 'System ID',
 ]);

$translator = new Picolab\Translator\Translator();
$translator->setProvider($translateProvider);

// Due to the fact that available languages is already defined in the MT system,
// you do not need to specify them there
// Translation system EN-LV
$translation = $translator->translate('Some other language');
// output first translation
echo $translation;
```

####  Google Translate API provider

[](#-google-translate-api-provider)

dev docs:

```
$translateProvider = new Picolab\Translator\Providers\GoogleProvider([
    'api_key' => 'your api key'
]);

```

License: MIT

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 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 ~1 days

Total

2

Last Release

3625d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6b7328c66325123c66d2672a79e3510866de29ca2fcce3843ca2a56d83ab9577?d=identicon)[picolablv](/maintainers/picolablv)

---

Top Contributors

[![picolablv](https://avatars.githubusercontent.com/u/4658492?v=4)](https://github.com/picolablv "picolablv (14 commits)")

---

Tags

translationstranslateyandex

### Embed Badge

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

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

###  Alternatives

[neuron-core/neuron-ai

The PHP Agentic Framework.

2.0k656.1k34](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3741.3M46](/packages/tencentcloud-tencentcloud-sdk-php)[gettext/languages

gettext languages with plural rules

7832.7M12](/packages/gettext-languages)[punic/punic

PHP-Unicode CLDR

1573.0M30](/packages/punic-punic)[vemcogroup/laravel-translation

Translation package for Laravel to scan for localisations and up/download to poeditor

136327.1k3](/packages/vemcogroup-laravel-translation)[om/potrans

Command line tool for translate Gettext with Google Translator API or DeepL API

10518.6k7](/packages/om-potrans)

PHPackages © 2026

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