Laravel Nova 本地化

2023-02-16 17:09 更新

概述

使用 Laravel 的 本地化服务 可以完全本地化 Nova 。 当你使用 nova:install 安装命令后,你的项目目录里将包含 resources/lang/vendor/nova 的翻译目录。

在该目录中,你可以自定义 en.json 文件或者使用自定义的语言创建新的 JSON 转换文件。 此外,在 en 目录还包含 Nova 使用的一些额外验证。

资源

你可以通过重写覆盖掉 resources 类上的 label and singularLabel 方法来实现本地化资源名称:

/**
 * 获取资源可以显示的标签.
 *
 * @return string
 */
public static function label()
{
    return __('Posts');
}

/**
 * 获取资源可以显示的单标签.
 *
 * @return string
 */
public static function singularLabel()
{
    return __('Post');
}

字段

在资源中使用字段时,字段的名称可以通过第一个参数自定义。例如,你可以像下面这样自定义邮箱地址:

use Laravel\Nova\Fields\Text;

Text::make(__('Email Address'), 'email_address')

关系

关系的名称可以在其定义时通过第一个参数来实现自定义。第二个和第三个参数分别是关系的方法名和被关联的 Nova 资源:

use App\Nova\Post;
use Laravel\Nova\Fields\HasMany;

HasMany::make(__('Posts'), 'posts', Post::class)

此外,你还可以覆盖资源的 label 和 singularLabel 方法:

/**
 * 获取资源可以显示的标签。
 *
 * @return string
 */
public static function label()
{
    return __('Posts');
}

/**
 * 获取资源可以显示的单标签。
 *
 * @return string
 */
public static function singularLabel()
{
    return __('Post');
}

过滤器

过滤器的名称可以通过覆盖类的 name 方法来实现本地化:

/**
 * 获取过滤器的显示名称。
 *
 * @return string
 */
public function name()
{
    return __('Admin Users');
}

镜头

镜头的名称可以通过覆盖类的 name 方法来实现本地化:

/**
 * 获取镜头的显示名称。
 *
 * @return string
 */
public function name()
{
    return __('Most Valuable Users');
}

动作

动作的名称可以通过覆盖类的 name 方法来实现本地化:

/**
 * 获取动作显示的名称。
 *
 * @return string
 */
public function name()
{
    return __('Email Account Profile');
}

度量

度量的名称可以通过覆盖类的 name 方法来实现本地化:

/**
 * 获取度量的显示名称。
 *
 * @return string
 */
public function name()
{
    return __('Total Users');
}


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号