webman-tech / laravel-translation
Webman plugin webman-tech/laravel-translation
Installs: 1 933
Dependents: 3
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=7.2
- illuminate/translation: >=7.0
Requires (Dev)
- phpunit/phpunit: ^8|^9
- symfony/translation: >=5.0
- workerman/webman-framework: ^1.4
README
Laravel illuminate/translation for webman
介绍
站在巨人(laravel)的肩膀上使本地化使用更加可靠和便捷
所有方法和配置与 laravel 几乎一模一样,因此使用方式完全参考 Laravel文档 即可
安装
composer require webman-tech/laravel-translation
使用
所有 API 同 laravel,以下仅对有些特殊的操作做说明
常规使用如下:
<?php namespace app\controller; use support\Request; class FooController { public function bar(Request $request) { $message1 = transL('messages.abc'); $message2 = trans_choice('messages.xyz', 2); $message3 = __('messages.mnl'); return json([ $message1, $message2, $message3 ]); } }
tranL()
由于 webman 下默认使用 symfony/translation
,且已经定义过 trans 方法,为了不冲突,此处使用 transL()
手动切换 locale
因为没有 Laravel App 的存在,所以不能通过 App::setLocale()
和 App::currentLocale()
来切换语言
且由于 webman 建议的多语言是使用的 symfony/translation
,并且全局 locale
函数也是使用其实现的
因此本扩展基于此原因,已经做到了根据 locale()
自动切换 transL()
trans_choice()
__()
下使用的语言包,无需开发手动设置