Download the PHP package jobmetric/laravel-language without Composer
On this page you can find all versions of the php package jobmetric/laravel-language. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jobmetric/laravel-language
More information about jobmetric/laravel-language
Files in jobmetric/laravel-language
Package laravel-language
Short Description It is a standard package for managing different system languages in Laravel.
License MIT
Homepage https://doc.jobmetric.net/package/laravel-language
Informations about the package laravel-language
Laravel Language
A clean, framework-native way to manage application languages with first-class validation rules, events, and a fluent query API.
Table of Contents
- Features
- Requirements
- Installation
- Configuration & Migrations
- Data Model
- Calendars Enum
- Validation Rules
- Requests (FormRequest)
- Service / Facade API
- Querying & Filters
- Events
- API Resources (Optional)
- Testing
- Contributing
- License
Features
- Language entity with:
name
,flag
,locale
(two-letter likefa
,en
),direction
(ltr
/rtl
),calendar
,first_day_of_week
(0..6),status
. - Calendar awareness via enum (Gregorian, Jalali, Hijri, Hebrew, Buddhist, Coptic, Ethiopian, Chinese).
- Validation rules:
CheckLocaleRule
,LanguageExistRule
. - Service/Facade for CRUD and fluent querying (Spatie QueryBuilder under the hood).
- Domain events on store/update/delete.
- API-ready via
LanguageResource
(optional).
Note: The package no longer uses formatting fields like
time_format
,date_format_short
, ordate_format_long
.
Requirements
- PHP 8.2+
- Laravel 10/11/12
- A supported database (MySQL/MariaDB, etc.)
Installation
Run migrations:
Configuration & Migrations
- The package ships with migrations for the
languages
table. - (Optional) If a config file is provided, you may publish it:
Seeders/Factories (optional):
- You can seed an initial default language (e.g., Persian
fa
) in your application’s seeders/factories.
Data Model
Table: languages
Recommended columns:
id
(int, PK)name
(string)flag
(string|null) — e.g.,ir
,us
locale
(string) — two letters likefa
,en
(notfa-IR
)direction
(enum) —ltr
orrtl
calendar
(enum) — see Calendars Enumfirst_day_of_week
(tinyint 0..6) —0=Saturday, 1=Sunday, ..., 6=Friday
status
(bool)- Timestamps
Calendars Enum
Validation Rules
CheckLocaleRule
Validates that a provided locale
conforms to your system’s accepted locales.
LanguageExistRule
Validates that a language record exists (commonly used for language_id
).
Requests (FormRequest)
Example for creating a language:
Service / Facade API
Facade: JobMetric\Language\Facades\Language
Store
Update
Delete
Get / List
Querying & Filters
If you expose a query(array $filter = [])
method returning a QueryBuilder
, you can compose queries fluently:
Events
Package emits domain events during lifecycle changes:
LanguageAddEvent
— after createLanguageUpdatedEvent
— after updateLanguageDeletingEvent
— before deleteLanguageDeletedEvent
— after delete
API Resources (Optional)
Testing
Recommended coverage:
- Rules:
CheckLocaleRule
,LanguageExistRule
- Service/Facade: store/update/delete, query filters/sorts/fields
- Events: assert dispatched
- Requests: validation scenarios
Contributing
Thank you for considering contributing to the Laravel Language! The contribution guide can be found in the CONTRIBUTING.md.
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-language with dependencies
laravel/framework Version >=9.19
jobmetric/laravel-package-core Version ^1.26
spatie/laravel-query-builder Version ^6.3
jobmetric/multi-calendar Version ^1.2