elsayed85/nova-language-switch

一个用于在应用程序中切换语言的Laravel Nova包

dev-master 2023-01-14 10:52 UTC

This package is not auto-updated.

Last update: 2024-09-22 16:50:48 UTC


README

这个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)。有关更多信息,请参阅许可文件