PHPackages                             rosiersrobin/vue-translation-enforcer - 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. rosiersrobin/vue-translation-enforcer

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

rosiersrobin/vue-translation-enforcer
=====================================

Small package that enforces the use of existing translation strings in vue

2.0.4(1y ago)02.6k↑340.5%[1 issues](https://github.com/RosiersRobin/vue-translation-enforcer/issues)MITPHPPHP ^8

Since Jun 6Pushed 1y agoCompare

[ Source](https://github.com/RosiersRobin/vue-translation-enforcer)[ Packagist](https://packagist.org/packages/rosiersrobin/vue-translation-enforcer)[ Docs](https://github.com/rosiersrobin/vue-translation-enforcer)[ RSS](/packages/rosiersrobin-vue-translation-enforcer/feed)WikiDiscussions master Synced 2d ago

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

Vue translation enforcer
========================

[](#vue-translation-enforcer)

Small package that enforces the use of existing translation strings in vue

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

[](#installation)

You can install the package via composer:

```
composer require rosiersrobin/vue-translation-enforcer
```

Install Laravel Vue i18n package:

```
npm i laravel-vue-i18n
```

load the plugin in your vite.config.js:

```
import { defineConfig, loadEnv } from "vite";
import i18n from "laravel-vue-i18n/vite";

export default defineConfig({
    plugins: [
        ...
        i18n(),
    ],
});
```

**Bonus:**

If you want to have auto generation during development, add this script to the plugins list:

```
run([
    {
        name: "translations-js",
        run: ["php", "artisan", "vte:export"],
        pattern: ["lang/**/*.php"],
    },
])
```

Create a helper function to 'get' the translations that is based off the laravel-vue-i18n package;

```
import { trans } from "laravel-vue-i18n";
import { TranslationKey } from "../translations/lang-keys";

export const getTrans = (
    key: TranslationKey, // this is the magic
    replace: Record = {},
): string => {
    if (key === null || key === trans(key, replace)) {
        return "";
    }
    return trans(key, replace);
};
```

**Add the following to your .gitignore:**

`/resources/js/translations/`

Usage
-----

[](#usage)

To regenerate the translations array, simply run

```
php artisan vte:export
```

**Tip:** Place this in your deploy script **before** you build the project. If you don't, it will fail the build.

Contributing
------------

[](#contributing)

Package is open for pull requests!

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Robin Rosiers](https://github.com/rosiersrobin)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance49

Moderate activity, may be stable

Popularity22

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

Total

10

Last Release

368d ago

Major Versions

1.0.6 → 2.0.02025-07-01

### Community

Maintainers

![](https://www.gravatar.com/avatar/ed28aa4cb8d012f6dd47fbcec7ce1a2ba1cc1d77f72f203352e608a99a4e0671?d=identicon)[Sir-robin10](/maintainers/Sir-robin10)

---

Top Contributors

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

---

Tags

laraveltranslationsvueenforcing

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/rosiersrobin-vue-translation-enforcer/health.svg)

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

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[propaganistas/laravel-disposable-email

Disposable email validator

6023.0M7](/packages/propaganistas-laravel-disposable-email)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M195](/packages/laravel-ai)[laravel/sail

Docker files for running a basic Laravel application.

1.9k205.7M1.3k](/packages/laravel-sail)[illuminate/queue

The Illuminate Queue package.

21332.6M1.6k](/packages/illuminate-queue)[illuminate/database

The Illuminate Database package.

2.8k54.9M11.6k](/packages/illuminate-database)

PHPackages © 2026

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