PHPackages                             statikbe/laravel-ai-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. statikbe/laravel-ai-translation

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

statikbe/laravel-ai-translation
===============================

A modular AI translation gateway for Laravel — supports laravel/ai (LLMs) and LibreTranslate, integrates with statikbe/laravel-chained-translator.

0.1.0(2mo ago)20MITPHP ^8.2

Since May 20Compare

[ Source](https://github.com/statikbe/laravel-ai-translation)[ Packagist](https://packagist.org/packages/statikbe/laravel-ai-translation)[ RSS](/packages/statikbe-laravel-ai-translation/feed)WikiDiscussions Synced 3w ago

READMEChangelog (1)Dependencies (8)Versions (3)Used By (0)

Laravel AI Translation
======================

[](#laravel-ai-translation)

[![Latest Version on Packagist](https://camo.githubusercontent.com/b661f3c4d778b6d450e8db1bcb44891c6458c704b6496d1025a7380a57ebb141/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73746174696b62652f6c61726176656c2d61692d7472616e736c6174696f6e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/statikbe/laravel-ai-translation)[![GitHub Tests Action Status](https://camo.githubusercontent.com/6f53757ff4ad2c2a314f42e7ac515f13652862f4eea33e05f4e3febef91dd95a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f73746174696b62652f6c61726176656c2d61692d7472616e736c6174696f6e2f72756e2d74657374732e796d6c3f6272616e63683d6d6173746572266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/statikbe/laravel-ai-translation/actions?query=workflow%3Arun-tests+branch%3Amaster)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/094da4b0f404a1262f76ee4e2f6aeaae7d89a87c18bbe20b649071e57bdd7dd1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f73746174696b62652f6c61726176656c2d61692d7472616e736c6174696f6e2f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/statikbe/laravel-ai-translation/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/a222a392402e60e90f08dca37a0e4197d019810b2b57f0ec53b9ccfa182f83c4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73746174696b62652f6c61726176656c2d61692d7472616e736c6174696f6e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/statikbe/laravel-ai-translation)

A modular AI translation gateway for Laravel. Supports LLM providers via [laravel/ai](https://github.com/laravel/ai) (OpenAI, Anthropic, Gemini, …) and [LibreTranslate](https://libretranslate.com). Integrates with [laravel-chained-translator](https://github.com/statikbe/laravel-chained-translator)to discover missing keys and persist results.

---

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

[](#installation)

```
composer require statikbe/laravel-ai-translation
```

Publish the config file:

```
php artisan vendor:publish --tag=ai-translation-config
```

Optionally publish the default system prompt Blade view so you can customise it:

```
php artisan vendor:publish --tag=ai-translation-views
```

---

Drivers
-------

[](#drivers)

### laravel\_ai (LLM — recommended)

[](#laravel_ai-llm--recommended)

Requires `laravel/ai`:

```
composer require laravel/ai
```

Configure your provider in `config/ai-translation.php` (or via `.env`):

```
AI_TRANSLATION_DRIVER=laravel_ai
AI_TRANSLATION_PROVIDER=openai   # openai | anthropic | gemini | ollama | …
AI_TRANSLATION_MODEL=gpt-4o
```

Set the provider API key expected by `laravel/ai` (see `.env.example`):

```
OPENAI_API_KEY=your-key
```

### libretranslate (open-source machine translation)

[](#libretranslate-open-source-machine-translation)

```
AI_TRANSLATION_DRIVER=libretranslate
LIBRETRANSLATE_URL=https://libretranslate.com
LIBRETRANSLATE_API_KEY=your-key
```

### null (testing / no-op)

[](#null-testing--no-op)

Returns the input string unchanged. Useful in tests or when no provider is configured.

---

Getting started
---------------

[](#getting-started)

1. Install the package and publish the config.

```
composer require statikbe/laravel-ai-translation
php artisan vendor:publish --tag=ai-translation-config
```

2. Choose a driver and provider in your `.env`.

```
AI_TRANSLATION_DRIVER=laravel_ai
AI_TRANSLATION_PROVIDER=openai
```

3. Set the matching API key for your provider.

```
OPENAI_API_KEY=your-key
```

Alternative provider keys (from `.env.example`):

```
ANTHROPIC_API_KEY=your-key
GEMINI_API_KEY=your-key
GROQ_API_KEY=your-key
MISTRAL_API_KEY=your-key
DEEPSEEK_API_KEY=your-key
XAI_API_KEY=your-key
AZURE_OPENAI_API_KEY=your-key
OLLAMA_API_KEY=optional
PERPLEXITY_API_KEY=your-key
OPENROUTER_API_KEY=your-key
VOYAGEAI_API_KEY=your-key
```

4. Run a translation.

```
php artisan ai-translation:translate nl
```

If you use queues, remember to restart workers after changing env/config.

---

Artisan command
---------------

[](#artisan-command)

Requires `statikbe/laravel-chained-translator`:

```
composer require statikbe/laravel-chained-translator
```

Translate all missing keys for a locale:

```
php artisan ai-translation:translate nl
```

Limit to specific groups:

```
php artisan ai-translation:translate nl --group=auth --group=validation
```

Override the driver:

```
php artisan ai-translation:translate nl --driver=libretranslate
```

Run synchronously (instead of dispatching queue jobs):

```
php artisan ai-translation:translate nl --sync
```

Preview what would be translated without saving anything:

```
php artisan ai-translation:translate nl --dry-run
```

Override the source locale:

```
php artisan ai-translation:translate nl --source=en
```

---

Programmatic usage
------------------

[](#programmatic-usage)

```
use Statikbe\AiTranslation\AiTranslationService;

// Single string
app(AiTranslationService::class)->translate('Hello world', 'en', 'nl');

// Batch
app(AiTranslationService::class)->translateBatch(
    ['greeting' => 'Hello', 'farewell' => 'Goodbye'],
    'en', 'nl'
);

// Translate all missing keys for a locale (requires chained-translator)
app(AiTranslationService::class)->translateMissingForLocale('nl');

// Queue missing keys for background processing
app(AiTranslationService::class)->queueMissingForLocale('nl');
```

Via the facade:

```
use Statikbe\AiTranslation\Facades\AiTranslation;

AiTranslation::translate('Hello', 'en', 'nl');
AiTranslation::driver('libretranslate')->translateBatch(['key' => 'text'], 'en', 'nl');
```

---

Queue configuration
-------------------

[](#queue-configuration)

```
AI_TRANSLATION_QUEUE=true
AI_TRANSLATION_QUEUE_CONNECTION=redis
AI_TRANSLATION_QUEUE_NAME=translations
```

Run the worker:

```
php artisan queue:work --queue=translations
```

---

Custom system prompts
---------------------

[](#custom-system-prompts)

### Via config

[](#via-config)

Override globally in `config/ai-translation.php`:

```
'prompts' => [
    'system' => 'Your custom global prompt here.',
    'group_overrides' => [
        // Append to global prompt:
        'validation' => 'Keep validation messages concise and user-friendly.',
        // Fully replace the global prompt:
        'emails' => [
            'prompt'  => 'You are translating marketing email content. Use a warm, professional tone.',
            'replace' => true,
        ],
    ],
],
```

### Via published Blade view

[](#via-published-blade-view)

After publishing with `php artisan vendor:publish --tag=ai-translation-views`, edit `resources/views/vendor/ai-translation/prompts/system.blade.php`. The config value takes precedence if set.

---

Testing
-------

[](#testing)

```
composer test
```

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance87

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

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

Unknown

Total

1

Last Release

65d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1250437446b84017407f7f1900194b1e1c93fcf34b332ba382fb77f69b251cb6?d=identicon)[statikbe](/maintainers/statikbe)

---

Tags

laraveli18ntranslationaillmstatikbelibretranslate

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/statikbe-laravel-ai-translation/health.svg)

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

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[elegantly/laravel-translator

All on one translations management for Laravel

6333.1k](/packages/elegantly-laravel-translator)[smousss/laravel-globalize

Make Laravel projects translatable in a matter of seconds!

2169.2k](/packages/smousss-laravel-globalize)[osama-98/laravel-enum-translatable

A Laravel package that provides translatable enum functionality with easy-to-use methods for working with enum values and their translations

561.2k](/packages/osama-98-laravel-enum-translatable)[mominalzaraa/filament-localization

The first and only automatic Filament localization package with intelligent resource scanning, structured translation files, and comprehensive testing

102.8k](/packages/mominalzaraa-filament-localization)

PHPackages © 2026

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