本地化

概述

使用 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 网站上。
上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
贡献者:4
讨论数量: 0
发起讨论 只看当前版本


暂无话题~