badinansoft/nova-language-switch

Laravel Nova 包,用于在您的应用程序中切换语言

2.0.0 2024-08-01 23:47 UTC

This package is auto-updated.

Last update: 2024-09-02 17:17:42 UTC


README

Latest Version on Packagist Total Downloads

Nova 工具可以让您:

  • 将语言切换器添加到 nova 应用程序页眉。
  • 处理语言切换并将当前区域存储到 Laravel 缓存中,以便从多个浏览器记住语言。
  • 根据配置中支持 RTL 的应用程序切换应用程序的方向。

要求

  • php: >=8.0

  • laravel/nova: ^4.0

     Note: This package dose't work with nova 3
    

特性

  • 从配置中添加多种语言。
  • 基于缓存记住设置的区域,无需保存到数据库表
  • 自动注入到应用程序页眉
  • 只需4步即可设置完成

截图

|enter image description here |enter image description here |

安装

您可以通过 composer 将 nova 工具安装到使用 Nova 的 Laravel 应用程序中。

composer require badinansoft/nova-language-switch

接下来,您必须在 Nova 中注册此工具。这通常在 NovaServiceProvidertools 方法中完成。

// in app/Providers/NovaServiceProvider.php

// ...

public function tools()
{
    return [
        // ...
        new \Badinansoft\LanguageSwitch\LanguageSwitch(),
    ];
}

接下来,必须发布配置文件以添加您的语言

php artisan vendor:publish --provider="Badinansoft\LanguageSwitch\ToolServiceProvider" --tag="config"

这是已发布配置文件的内容

<?php  
  
return [  
  
	/**  
	 * List of languages that your application supports 
	 * array <string,  string>  
	 */  
	 'supported-languages' => [  
		  'en' => 'English',  
		  'ar' => 'Arabic',  
		  //here you can add new lanaguage or remove language that you need by 'local'=>'Label'
	 ],  
  
	/**  
	 * Languages That need RTL support 
	 *  string 
	 * */  
	'rtl-languages' => [  
		  'ar'  
		  //here put that language that need support RTL just put local of the language like this example for arabic 
		 
	 ],  
  
];

最后,您应该注册中间件。这通常在 Http/Kernel$middlewareGroups 属性中完成,在 web 组中。

   /**  
   *  The application's route middleware groups. 
   *  @var array<string, array<int, class-string|string>>  
   */  
   protected $middlewareGroups = [  
     'web' => [  
   		  //...
   		  \Badinansoft\LanguageSwitch\Http\Middleware\LanguageSwitch::class  
     ],
     //...
   ];

致谢

许可

MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。