mphpmaster/laravel-model-translation-helpers

1.0.0 2023-06-11 06:30 UTC

This package is auto-updated.

Last update: 2024-09-20 12:04:07 UTC


README

依赖关系

  • php >=8.1 在您的项目中必需
  • laravel >=8 在您的项目中必需
  • laravel/helpers ^1.5 composer将自动安装

安装

composer require mphpmaster/laravel-model-translation-helpers

使用方法

  1. 将特性添加到您的模型类中(《必需》)
use \MPhpMaster\LaravelModelTranslationHelpers\Traits\TModelTranslation;
  1. 如果模型有自定义翻译文件名,则覆盖此方法(《可选》)
public static function getTranslationKey(): ?string
{
    return str_singular(snake_case((new static)->getTable()));
}
  1. 创建翻译文件(《必需》)
  • 翻译文件必须位于models文件夹下,以便使用此助手。

* 使用第2步中定义的`getTranslationKey`方法命名文件,默认情况下文件名必须与模型名相同(使用蛇形命名法)。

**示例:**
如果您使用默认的`getTranslationKey`方法,则对于`User`模型,它将是`user.php`。
touch lang/en/models/user.php
  1. 默认翻译文件将如下所示
<?php

return [
    'singular' => 'User',
    'plural' => 'Users',
    'fields' => [
        'id' => 'ID',
        'email' => 'Email',
        'password' => 'Password',
    ],
    'hi_name' => 'Hi, {name}',
];

?>
  1. 在任何地方使用助手
// Basic usage
\App\Models\User::trans('singular'); // User
\App\Models\User::trans('plural'); // Users

// fields:
\App\Models\User::trans('fields.email'); // Email
// or
\App\Models\User::trans('email'); // Email

// Advanced Usage:
\App\Models\User::trans('hi_name', [ 'name' => 'mPhpMaster' ], 'en', 'Please Login!'); // Hi, mPhpMaster

许可证

Laravel框架是开源软件,受MIT许可证许可。

此助手是开源软件,受MIT许可证许可。