承接 stevenbraham/laravel-blade-translations-extractor 相关项目开发

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

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

stevenbraham/laravel-blade-translations-extractor

最新稳定版本:v1.0.0

Composer 安装命令:

composer require stevenbraham/laravel-blade-translations-extractor

包简介

Laravel package for auto extracting strings from __ and @lang tags in Blade to JSON.

README 文档

README

A Laravel package that automatically scans Blade template files and PHP files for translatable strings and exports them to JSON translation files.

I could not find a suitable existing Laravel i18n package that could both scan Blade template files and export them to JSON with a null key. All existing solutions only supported __, did not capture all strings correctly, or could not add new strings as null to the JSON files etc. So I made this package with the help of Cursor and ChatGPT.

With a JSON file containing all strings as null values, you can easily translate them using a tool like POEdit.

Overview

This package helps you maintain your Laravel translation files by automatically extracting translatable strings from your Blade templates and PHP files. It scans for strings used with the __() helper function and @lang() Blade directive, then merges them into JSON translation files.

Features

  • 🔍 Automatically scans Blade templates (.blade.php) and PHP files (.php)
  • 📝 Extracts translatable strings from __() and @lang() calls
  • 🔄 Merges new strings into existing translation files without overwriting existing translations
  • 🎯 Configurable regex pattern for custom translation function detection
  • 📦 Zero configuration required - works out of the box

Installation

Install the package via Composer:

composer require stevenbraham/laravel-blade-translations-extractor

The package will automatically register its service provider if you're using Laravel's package auto-discovery.

Usage

Basic Usage

Run the extraction command with your desired locale:

php artisan extract:translations en

This will:

  1. Scan all .blade.php files in resources/views/
  2. Scan all .php files in app/
  3. Extract all translatable strings found in __() and @lang() calls
  4. Merge new strings (with null values) into lang/en.json
  5. Preserve existing translations in the JSON file

Example

If you have a Blade template like this:

<h1>{{ __('Welcome to our website') }}</h1>
<p>@lang('Please sign in to continue')</p>

Running php artisan extract:translations en will create or update lang/en.json:

{
    "Please sign in to continue": null,
    "Welcome to our website": null
}

You can then fill in the translations manually or use a translation management tool.

Configuration

Publishing the Config File

To customize the extraction pattern, publish the configuration file:

php artisan vendor:publish --tag=extract-translations-config

This will create config/laravel-blade-translations-extractor.php.

Customizing the Pattern

The default pattern matches __() and @lang() helper functions. You can customize it in the config file:

return [
    'pattern' => '/(?:__|@lang)\(\s*(["\'])(.*?)\1\s*[\),]/m',
];

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-15