alessandrobelli / lingua
Laravel的翻译管理器,使用TALL栈构建。
0.3.1
2022-10-11 10:23 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^9.0
- spatie/laravel-package-tools: ^1.13.0
Requires (Dev)
- laravel/legacy-factories: ^1.3
- laravel/pint: ^1.0
- livewire/livewire: 2.*
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
README
👅 Lingua
Laravel的翻译管理器,使用TALL栈构建。
🇮🇹 从意大利语:Lingua既指舌头也指语言
Lingua是一个仪表盘,允许您创建、管理和导入项目的翻译。
此包处于预发布状态,存在已知问题。请报告它们。
The new Release - 0.3 - bring a lot of changes, mainly in the interface. Screenshots here still outdated.
我要衷心感谢Spatie和Freek,他们教我如何开发包。
要求
- 安装AlpineJS并将其包含在您的JS文件中。
- 安装Livewire.
- 然后您可以通过composer安装此包。
安装
composer require alessandrobelli/lingua
此包需要在用户表上有一个名为linguaprojects的列,以及一个名为translations的表。
您可以使用以下命令发布和运行迁移:
php artisan vendor:publish --provider="alessandrobelli\Lingua\LinguaServiceProvider" --tag="migrations" php artisan migrate
使用
您需要将路由添加到您的web.php文件中。
Route::lingua('desiredslug');
然后您可以去/desiredslug查看仪表盘。
要使用JavaScript文件的翻译文件,请将以下内容放入您的header中
<script> window.trans = []; window.trans = <?php if(File::exists(resource_path() . "/lang/" . App::getLocale() . '.json')) { $json_file = File::get(resource_path() . "/lang/" . App::getLocale() . '.json'); echo json_decode(json_encode($json_file, true)); } else{ echo "[]"; } ?>; </script>
然后,在JavaScript中创建一个原型函数来检测您的JavaScript文件中的trans()函数,或者如果您使用Vuejs和Lodash,则可以使用这个
Vue.prototype.trans = (key) => { if (_.isUndefined(window.trans[key])) { return key; } else { if (window.trans[key] === "") return key; return window.trans[key]; } };
显示的语言将根据浏览器的区域设置,或者您可以使用这篇教程。
更多
更新日志
请参阅更新日志以获取有关最近更改的更多信息。
贡献
请参阅贡献以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件info@alessandrobelli.it联系,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。