承接 sohrab-az/laravel-language 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sohrab-az/laravel-language

最新稳定版本:1.0.0

Composer 安装命令:

composer require sohrab-az/laravel-language

包简介

A flexible language package for Laravel

README 文档

README

A simple and lightweight language management package for Laravel applications.

This package provides a database-driven approach to manage languages, including default language, active languages, and per-model language assignment.

Features

  • Store languages in database
  • Define default language
  • Enable/disable languages
  • Assign language to Eloquent models
  • Fluent service API for managing languages
  • Built-in Eloquent trait for multilingual relations

Installation

You can install the package via composer:

composer require sohrab-az/laravel-language

Configuration

Publish the configuration file:

php artisan vendor:publish --tag=language-config

config/language.php

return [

    'default' => 'en',

    'supported' => [
        [
            'code' => 'en',
            'name' => 'English',
            'direction' => 'ltr',
            'active' => true
        ],
        [
            'code' => 'fa',
            'name' => 'Persian',
            'direction' => 'rtl',
            'active' => true
        ],
    ],

];

Migration

Run the migrations:

php artisan migrate

This will create a languages table and seed it based on your configuration.

Database Structure

The languages table includes:

  • code (string, unique)
  • name (string)
  • direction (enum: ltr, rtl)
  • is_active (boolean)
  • is_default (boolean)
  • meta (json, nullable)

Usage

Language Manager

You can inject LanguageManager anywhere in your application:

use Gitmag\Language\Services\LanguageManager;

class ExampleController
{
    public function __construct(protected LanguageManager $languageManager) {}

    public function index()
    {
        $languages = $this->languageManager->all();
        $active = $this->languageManager->active();
        $default = $this->languageManager->default();

        return $languages;
    }
}

Set Default Language

$languageManager->setDefault('fa');

Activate / Deactivate Language

$languageManager->activate('en');
$languageManager->deactivate('fa');

Working with Eloquent Models

Use the HasLanguage trait in your model:

use Gitmag\Language\Traits\HasLanguage;

class Post extends Model
{
    use HasLanguage;
}

Assign Language to Model

$post->setLanguage('en')->save();

or:

$post->setLanguage($languageModel)->save();

Query by Language

Post::language('en')->get();
Post::language($languageId)->get();
Post::language($languageModel)->get();

Default Language Scope

Post::defaultLanguage()->get();

Helpers

$post->getLanguageCode();

$post->isLanguage('en');

Service Provider

The package automatically registers:

  • LanguageManager singleton
  • Config file
  • Migrations

License

MIT

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 8
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-05-03

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固