使用 Laravel 的 本地化服務(wù) 可以完全本地化 Nova 。 當(dāng)你使用 nova:install
安裝命令后,你的項(xiàng)目目錄里將包含 resources/lang/vendor/nova
的翻譯目錄。
在該目錄中,你可以自定義 en.json
文件或者使用自定義的語(yǔ)言創(chuàng)建新的 JSON 轉(zhuǎn)換文件。 此外,在 en
目錄還包含 Nova 使用的一些額外驗(yàn)證。
你可以通過(guò)重寫(xiě)覆蓋掉 resources 類(lèi)上的 label
and singularLabel
方法來(lái)實(shí)現(xiàn)本地化資源名稱(chēng):
/**
* 獲取資源可以顯示的標(biāo)簽.
*
* @return string
*/
public static function label()
{
return __('Posts');
}
/**
* 獲取資源可以顯示的單標(biāo)簽.
*
* @return string
*/
public static function singularLabel()
{
return __('Post');
}
在資源中使用字段時(shí),字段的名稱(chēng)可以通過(guò)第一個(gè)參數(shù)自定義。例如,你可以像下面這樣自定義郵箱地址:
use Laravel\Nova\Fields\Text;
Text::make(__('Email Address'), 'email_address')
關(guān)系的名稱(chēng)可以在其定義時(shí)通過(guò)第一個(gè)參數(shù)來(lái)實(shí)現(xiàn)自定義。第二個(gè)和第三個(gè)參數(shù)分別是關(guān)系的方法名和被關(guān)聯(lián)的 Nova 資源:
use App\Nova\Post;
use Laravel\Nova\Fields\HasMany;
HasMany::make(__('Posts'), 'posts', Post::class)
此外,你還可以覆蓋資源的 label
和 singularLabel
方法:
/**
* 獲取資源可以顯示的標(biāo)簽。
*
* @return string
*/
public static function label()
{
return __('Posts');
}
/**
* 獲取資源可以顯示的單標(biāo)簽。
*
* @return string
*/
public static function singularLabel()
{
return __('Post');
}
過(guò)濾器的名稱(chēng)可以通過(guò)覆蓋類(lèi)的 name
方法來(lái)實(shí)現(xiàn)本地化:
/**
* 獲取過(guò)濾器的顯示名稱(chēng)。
*
* @return string
*/
public function name()
{
return __('Admin Users');
}
鏡頭的名稱(chēng)可以通過(guò)覆蓋類(lèi)的 name
方法來(lái)實(shí)現(xiàn)本地化:
/**
* 獲取鏡頭的顯示名稱(chēng)。
*
* @return string
*/
public function name()
{
return __('Most Valuable Users');
}
動(dòng)作的名稱(chēng)可以通過(guò)覆蓋類(lèi)的 name
方法來(lái)實(shí)現(xiàn)本地化:
/**
* 獲取動(dòng)作顯示的名稱(chēng)。
*
* @return string
*/
public function name()
{
return __('Email Account Profile');
}
度量的名稱(chēng)可以通過(guò)覆蓋類(lèi)的 name
方法來(lái)實(shí)現(xiàn)本地化:
/**
* 獲取度量的顯示名稱(chēng)。
*
* @return string
*/
public function name()
{
return __('Total Users');
}
更多建議: