zoutapps/laravel-lang-vendornamespace

使用翻译命名空间来管理多个翻译文件。

v1.0.4 2020-11-10 17:01 UTC

This package is auto-updated.

Last update: 2024-09-11 01:58:21 UTC


README

Latest Version on Packagist Total Downloads Build Status StyleCI

此包旨在为希望在一个命名空间下管理多个包翻译的包开发者提供。

目前,很难将所有包的翻译放在一个命名空间下,这可能会增加对翻译的调用以及发布文件时 resources/lang/vendor 文件夹的膨胀。

例如,拥有以下包

  • zoutapps/awesome-package
  • zoutapps/nice-package

您无法注册翻译以便像这样使用它们

trans('zoutapps::awesome-package')
trans('zoutapps::nice-package')

使用此包,您现在可以这样做!

安装

通过 Composer

$ composer require zoutapps/laravel-lang-vendornamespace

使用

在您的 PackageServiceProvider 中,而不是使用
$this->loadTranslationsFrom(__DIR__ . '/../resources/lang', '<your-vendor-name>')
在您的 boot() 方法中调用
VendorNamespace::loadTranslationsFrom(__DIR__ . '/../resources/lang', '<your-vendor-name>')

发布您的翻译与之前相同

$this->publishes([
    __DIR__ . '/../resources/lang' => resource_path('lang/vendor/<your-vendor-name>'),
], 'lang');

它做什么

您注册的所有路径都将添加到您的翻译命名空间。
为此,我们等待应用程序启动回调,

  • 并为每个命名空间创建一个文件夹
  • 在命名空间文件夹中创建所有提供的翻译文件的符号链接
  • 将生成的文件夹添加到 Laravel 的 TranslationLoader 命名空间

开发

当您的应用环境设置为 local 时,我们将始终重新生成链接。当您的应用程序处于任何其他环境时,我们将检查包内的 lang 文件夹是否存在,并且仅在它不存在时生成链接。

变更日志

请参阅 changelog 了解最近更改的详细信息。

测试

$ composer test

贡献

请参阅 contributing.md 了解详细信息和一个待办事项列表。

安全

如果您发现任何安全相关的问题,请通过电子邮件 oliver.ziegler@zoutapps.de 而不是使用问题跟踪器。

致谢

许可证

MIT。请参阅 许可证文件 了解更多信息。