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

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

laratoolkit/voyager-translator
==============================

Auto-translate Laravel lang/ files and Voyager CMS content using Gemini AI or Google Translate. Web UI included. Supports 15 languages.

v2.5.0(3mo ago)31MITPHPPHP &gt;=8.0

Since Mar 18Pushed 3mo agoCompare

[ Source](https://github.com/SametKuku/voyager-translator)[ Packagist](https://packagist.org/packages/laratoolkit/voyager-translator)[ RSS](/packages/laratoolkit-voyager-translator/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (5)Versions (11)Used By (0)

Laravel Translator
==================

[](#laravel-translator)

Auto-translate your entire Laravel application — **lang/ files** (PHP + JSON) and **Voyager CMS** database content — using **Gemini AI** or **Google Translate**. Supports 15 languages with a built-in web UI.

---

Requirements
------------

[](#requirements)

- PHP 8.0+
- Laravel 10, 11, 12 or 13

---

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

[](#installation)

```
composer require laratoolkit/laravel-translator
```

> **PHP 8.5+ or dependency conflicts?**
>
> ```
> composer require laratoolkit/laravel-translator --ignore-platform-reqs
> ```

Publish the config (optional):

```
php artisan vendor:publish --tag=laravel-translator-config
```

---

Web UI
------

[](#web-ui)

Open your browser at:

```
http://your-app.test/laravel-translator

```

### Lang Files Tab

[](#lang-files-tab)

Translate your `lang/` PHP and JSON files:

1. **Scan** — detects all locales and key counts in your `lang/` directory
2. **Load Strings** — loads all translatable strings for the selected source locale
3. **Select targets** — choose which languages to translate into
4. **Choose engine** — Google Translate (free) or Gemini AI
5. **Translate** — real-time per-language progress bar
6. **Write to disk** — saves directly to `lang/{locale}/` OR **Download ZIP** — review before writing

### Voyager / DB Tab

[](#voyager--db-tab)

Translate Voyager CMS `translations` table entries (or any model table content via SQL dump):

1. **Load from DB** or **Upload SQL** dump
2. Source language auto-detected; select target languages
3. Translate with real-time progress
4. **Save to DB**, **Download SQL**, or **Download JSON**

> Add `'auth'` to the `middleware` config key to protect the UI route.

---

Artisan Command
---------------

[](#artisan-command)

```
# Translate lang/ files
php artisan translate --mode=files --from=en --to=tr,es,ru,ar

# Translate Voyager DB
php artisan translate --mode=voyager --from=tr --to=en,es,ru

# Use Gemini AI
php artisan translate --mode=files --engine=gemini --from=en --to=tr,es

# Only translate missing keys
php artisan translate --only-missing

# Preview without writing
php artisan translate --dry-run
```

---

Configuration
-------------

[](#configuration)

```
# Engine: gemini or gtx (default: gtx)
LARAVEL_TRANSLATOR_ENGINE=gemini

# Required if engine=gemini
GEMINI_API_KEY=your_key_here

# Source locale (auto-detected in web UI)
LARAVEL_TRANSLATOR_SOURCE=en

# Target locales for Artisan command
LARAVEL_TRANSLATOR_TARGETS=tr,es,ru,ar

# Web UI route prefix (default: laravel-translator)
LARAVEL_TRANSLATOR_PREFIX=laravel-translator
```

---

Supported Languages
-------------------

[](#supported-languages)

CodeLanguageCodeLanguagetrTurkishptPortugueseenEnglishitItalianesSpanishjaJapaneseruRussiankoKoreandeGermannlDutchfrFrenchplPolisharArabicukUkrainianzhChinese---

How It Works
------------

[](#how-it-works)

### Lang Files Mode

[](#lang-files-mode)

1. Scans `lang/{locale}/` directories for PHP files and JSON files
2. Flattens nested arrays to `file.key` → `value` pairs
3. Protects Laravel placeholders (`:attribute`, `:name`) and HTML tags during translation
4. Reconstructs nested structure and writes valid PHP array files or JSON files

### Voyager / DB Mode

[](#voyager--db-mode)

1. Reads rows from the `translations` table (or parses a SQL dump)
2. Falls back to model table content if `translations` table is absent
3. Detects source language automatically from content
4. HTML-safe translation with token protection
5. Slug columns auto-transliterated (Turkish, Arabic, Cyrillic → Latin)
6. Saves via `updateOrInsert` or exports as SQL / JSON

---

Engines
-------

[](#engines)

### Google Translate (GTX) — Free

[](#google-translate-gtx--free)

No API key required. Works out of the box.

### Gemini AI — Fast &amp; Accurate

[](#gemini-ai--fast--accurate)

Uses `gemini-2.5-flash` with bulk requests (up to 60 items/call).
Get a free API key at [Google AI Studio](https://aistudio.google.com/app/apikey).

---

Standalone Version (React + TypeScript)
---------------------------------------

[](#standalone-version-react--typescript)

Looking for a standalone web app without Laravel? Check out the original version built with React, TypeScript &amp; Vite — no server required, just open in browser:

**[voyager-translation-tool](https://github.com/SametKuku/voyager-translation-tool)** — Upload a SQL dump, auto-translate Voyager content, export SQL. Runs entirely in the browser.

---

License
-------

[](#license)

MIT

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance81

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

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

Total

10

Last Release

98d ago

Major Versions

v1.0.3 → v2.0.02026-03-18

PHP version history (2 changes)v1.0.0PHP ^8.0

v1.0.3PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/e52af9d33b3a1933724a0907bcc86c7a934cd6eff015498cb663154637bae533?d=identicon)[SametKuku](/maintainers/SametKuku)

---

Top Contributors

[![SametKuku](https://avatars.githubusercontent.com/u/146776973?v=4)](https://github.com/SametKuku "SametKuku (18 commits)")

---

Tags

laravellocalizationi18ntranslationGeminigoogle-translatevoyager

### Embed Badge

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

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

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k51.0M7.6k](/packages/larastan-larastan)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

76518.2M120](/packages/laravel-mcp)[api-platform/laravel

API Platform support for Laravel

59156.3k11](/packages/api-platform-laravel)[calebdw/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

15104.9k4](/packages/calebdw-larastan)

PHPackages © 2026

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