haringsrob / laravel-interface-translation
使用 Laravel 编写的 Laravel 接口翻译组件
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0|^9.0
- kkomelin/laravel-translatable-string-exporter: ^1.16
- livewire/livewire: ^v2.10
- spatie/laravel-translation-loader: ^2.7
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-07 13:30:10 UTC
README
作为数据库管理的 Livewire 组件的用户界面,用于管理可翻译的界面字符串。
配置
此包依赖于 kkomelin/laravel-translatable-string-exporter 以提取翻译。
它使用 spatie/laravel-translation-loader 来存储/显示翻译。
默认情况下,此包扫描 app
和 resources
文件夹。如果您想扫描其他文件夹或供应商文件夹,请参阅 kkomelin/laravel-translatable-string-exporter 的说明来了解如何进行此操作。
注意
此包尚未经过实战测试!
您不必导出翻译,此包负责读取并将字符串插入到数据库中。
待办事项
- 测试更大的项目
- 包含/解析 lang 文件夹。
安装
您可以通过 composer 安装此包
composer require haringsrob/laravel-interface-translation
用法
您必须发布样式。
php artisan vendor:publish --tag=assets
发布配置文件并更新以满足您的需求。如果您想加载路由,请确保更新所使用的中间件。如果您只想嵌入组件,则不需要加载路由。
在配置文件中设置您想要通过界面管理的语言。
vendor:publish --tag=laravel-interface-translation-config
然后您可以解析可翻译字符串并在数据库中准备好它们。
php artisan ui-translations:update
在 spatie 翻译加载器的配置中设置翻译加载器
'translation_manager' => \Haringsrob\LaravelInterfaceTranslation\TranslationLoaderManager::class,
嵌入独立的组件
此包包含一个独立的 livewire 组件,您可以将它添加到项目的任何页面中。
简单添加到任何页面
<link rel="stylesheet" href="{{ asset('vendor/laravel-interface-translation/style.css') }}">
<livewire:laravel-interface-translation.list />
请确保 Livewire 安装正确,否则将不会正常工作。
贡献
有关详细信息,请参阅 CONTRIBUTING
安全性
如果您发现任何与安全相关的问题,请通过电子邮件 haringsrob@gmail.com 反馈,而不是使用问题跟踪器。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件
Laravel 包模板
此包是用 Laravel 包模板 生成的。