Laravel:如何为__()助手函数指定Locale,而非使用应用默认Locale
Laravel 获取指定Locale的本地化字符串
其实
__()助手函数本身就支持指定Locale,它的第三个参数就是用来指定目标语言的,用法如下:// 获取西班牙语的欢迎文案 __('messages.welcome', [], 'es');第二个参数是替换占位符的数组,不需要替换时传空数组即可。
也可以直接使用Translator实例来获取,两种常用方式:
- 通过门面调用:
use Illuminate\Support\Facades\Lang; Lang::get('messages.welcome', [], 'es'); - 通过服务容器获取实例:
app('translator')->get('messages.welcome', [], 'es');
- 通过门面调用:
如果需要批量获取某一Locale下的字符串,可以临时切换应用Locale后再还原:
use Illuminate\Support\Facades\App; // 保存当前Locale $originalLocale = App::getLocale(); // 切换到目标Locale App::setLocale('es'); // 批量获取本地化字符串 $welcome = __('messages.welcome'); $hello = __('messages.hello'); // 还原原Locale App::setLocale($originalLocale);
内容的提问来源于stack exchange,提问作者Stroomschok
相关产品推荐
相关产品推荐

