单引号 / laravel-locale-finder
Requires
- php: ^8.0
- laravel/framework: >=9
- stichoza/google-translate-php: ^4.1
README
在您的blade、脚本、文件等中查找所有翻译键并翻译成指定语言。
安装
使用composer安装此包。将包保存到开发部分,因为仅在开发项目时需要此包。如果需要在生产环境中使用,请移除--dev
选项。
composer require singlequote/laravel-locale-finder --dev
发布配置
您可以通过编辑配置文件来更改包的行为。使用以下命令发布配置文件。
php artisan vendor:publish --tag=locale-finder
用法
该包会搜索您blade文件中的翻译键。例如{{ __("My translation") }}
。或者@lang('My Translation')
。搜索后,包将尝试使用google translate包进行翻译。
当从视图中删除翻译时,包也会从文件中删除键。
可以从命令行使用此命令
例如,查找并翻译所有荷兰语翻译键
php artisan locale:find --locales=nl
或查找并翻译荷兰语和德语翻译键
php artisan locale:find --locales=nl,de
翻译所有可用区域设置
使用all
选项将扫描您的lang文件夹并选择所有可用的.json文件。
php artisan locale:find --locales=all
更改源
如果您使用不同的语言开发应用程序,您可以将默认源从en
更改为其他内容。
php artisan locale:find --locales=nl --source=de
禁用键翻译
如果您只想从视图中获取键,可以使用--notranslate
选项。这将使用默认键填充值。
php artisan locale:find --locales=nl --notranslate
排除键
如果您想使包只搜索特定的翻译键,可以使用--only
选项。这将排除--only
范围之外的所有内容。
php artisan locale:find --locales=nl --only=app
上述操作将排除不属于app
指令的所有翻译键。
例如
__("app.this will be included"); __("users.i am not included");
向您的命令添加多个仅键
php artisan locale:find --locales=nl --only=app,users
使用模式
当使用模块或大型翻译文件时,填充--only
选项可能需要很多工作。您可以使用*
模式来包含键。例如,如果执行以下命令
php artisan locale:find --locales=nl --only=user*
__("users.i am included"); __("user.i am also included"); __("username.i am also included!"); __("use.i am not included :-(");
创建缺失的PHP键文件
当添加新的翻译键(如__("newkey.some text")
)时,应存在文件newkey.php
,以便添加翻译键。使用--create
选项时,包将自动生成这些文件。
php artisan locale:find --create
测试版
模块
当在您的Laravel包中使用具有自己的lang文件夹的模块时,您希望将这些键添加到模块文件夹中的正确文件中。
例如,当有一个名为Horses
的模块,并使用$this->loadTranslationsFrom(PATHTOTRANS, "horses");
在我们的服务提供程序中加载翻译时,键应该是这样的:__("horses::")
,并且翻译为__("horsed.colors.red")
,其中colors.php
是文件。
使用--modules
选项时,包将自动检测加载的翻译文件并将键添加到正确的文件中。
php artisan locale:find --modules
贡献
有关详细信息,请参阅CONTRIBUTING。
Postcardware
您可以使用此包,但如果它进入您的生产环境,我们非常希望您从您的家乡给我们寄一张明信片,说明您正在使用哪些包。
我们的地址是:Quotec,Traktieweg 8c 8304 BA,Emmeloord,荷兰。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。