PHPackages                             metasyncsite/laravel-translations-client - 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. metasyncsite/laravel-translations-client

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

metasyncsite/laravel-translations-client
========================================

Laravel client package for pushing translations to the Translation Manager

v1.0.1(1mo ago)1158↓41.7%MITPHPPHP ^8.1

Since May 1Pushed 1mo agoCompare

[ Source](https://github.com/metasyncSite/laravel-translations-client)[ Packagist](https://packagist.org/packages/metasyncsite/laravel-translations-client)[ RSS](/packages/metasyncsite-laravel-translations-client/feed)WikiDiscussions main Synced 1w ago

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

Laravel Translations Client
===========================

[](#laravel-translations-client)

A Laravel package for syncing translations between your application and a [Translation Manager](https://github.com/metasyncsite/translation-manager) instance.

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

[](#requirements)

- PHP 8.2+
- Laravel 11, 12, or 13

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

[](#installation)

```
composer require metasyncsite/laravel-translations-client
```

Publish the config file:

```
php artisan vendor:publish --tag=translations-client-config
```

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

[](#configuration)

Add the following to your `.env` file:

```
TRANSLATIONS_URL=https://translations.yourapp.com
TRANSLATIONS_TOKEN=your-api-token
```

The API token is generated in Translation Manager under **API Tokens**. Each token is scoped to a project — all pushes go to that project.

Full config reference (`config/translations-client.php`):

```
return [
    'url'          => env('TRANSLATIONS_URL'),
    'token'        => env('TRANSLATIONS_TOKEN'),

    // Defaults to Laravel's lang_path(). Override if your lang files live elsewhere.
    'lang_path'    => null,

    // File names to exclude from push (without locale prefix).
    // e.g. ['validation.php', 'passwords.php']
    'exclude_files' => [],

    // Whether to overwrite existing translations on push.
    'overwrite'    => true,
];
```

Usage
-----

[](#usage)

### Push translations

[](#push-translations)

Reads your local `lang/` directory and uploads translations to Translation Manager.

```
# Push all locales
php artisan translations:push

# Push a single locale
php artisan translations:push --locale=en

# Force-overwrite existing translations
php artisan translations:push --overwrite

# Preview what would be sent (no HTTP request)
php artisan translations:push --dry-run
```

### Pull translations

[](#pull-translations)

Downloads translations from Translation Manager and writes them into your `lang/` directory.

```
# Pull all locales
php artisan translations:pull

# Pull a single locale
php artisan translations:pull --locale=fr

# Write as JSON files instead of PHP arrays
php artisan translations:pull --format=json

# Preview what would be written (no files touched)
php artisan translations:pull --dry-run
```

How it works
------------

[](#how-it-works)

**Push** reads all PHP translation files (`lang/{locale}/*.php`) and JSON files (`lang/{locale}.json`), flattens nested keys to dot-notation, then posts them to the Translation Manager API.

**Pull** fetches all translations from Translation Manager and writes them back as PHP arrays (default) or JSON files into your `lang/` directory.

License
-------

[](#license)

MIT

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance92

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity43

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

2

Last Release

39d ago

PHP version history (2 changes)1.0.0PHP ^8.2

v1.0.1PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/1d463f04fe31693ccfacd94a07abaae0d45a680b0895afc579138b83e5a13364?d=identicon)[metasyncSite](/maintainers/metasyncSite)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/metasyncsite-laravel-translations-client/health.svg)

```
[![Health](https://phpackages.com/badges/metasyncsite-laravel-translations-client/health.svg)](https://phpackages.com/packages/metasyncsite-laravel-translations-client)
```

###  Alternatives

[larastan/larastan

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

6.4k51.0M7.4k](/packages/larastan-larastan)[spatie/laravel-responsecache

Speed up a Laravel application by caching the entire response

2.8k8.7M64](/packages/spatie-laravel-responsecache)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

76318.2M110](/packages/laravel-mcp)[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[spatie/laravel-export

Create a static site bundle from a Laravel app

670139.5k6](/packages/spatie-laravel-export)[zidbih/laravel-deadlock

Make temporary Laravel workarounds expire and fail CI when ignored.

954.0k](/packages/zidbih-laravel-deadlock)

PHPackages © 2026

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