本地化

概述

使用 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)

此外,你还可以覆盖资源的 labelsingularLabel 方法:

/**
 * 获取资源可以显示的标签。
 *
 * @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');
}

本文章首发在 LearnKu.com 网站上。
上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
贡献者:4
讨论数量: 0
发起讨论 只看当前版本


暂无话题~