laravel中__()函数用于多语言翻译,根据当前语言环境返回对应文本。2. 翻译文件存于resources/lang目录,支持jsON或php数组文件格式。3. json文件适用于简单短语,如en.json和cn.json分别存储英文和中文翻译。4. PHP数组文件可按模块分组,如auth.php中使用点语法访问__(‘auth.failed’)。5. 通过app()->setLocale(‘cn’)设置当前语言,可结合session、URL或浏览器语言自动切换。6. __()函数未找到翻译时返回原始字符串。合理使用__()`函数和语言文件可快速实现国际化。

在 Laravel 中,__() 是一个内置的辅助函数,用于实现多语言文本翻译。它会根据当前应用的语言环境,返回对应语言的翻译内容。使用 __() 函数可以让你的应用轻松支持多语言。
1. 翻译文件的存放位置
Laravel 的翻译文件存放在 resources/lang 目录下。每个语言对应一个子目录,例如:
或者使用 PHP 数组文件形式:
- resources/lang/en/messages.php
- resources/lang/cn/messages.php
2. 使用 JSON 文件进行翻译
推荐使用 JSON 文件管理简单短语翻译。例如,在 resources/lang/en.json 中定义英文翻译:
{ “Hello!”: “Hello!”, “Welcome to our site”: “Welcome to our site” }
在 resources/lang/cn.json 中定义中文翻译:
{ “Hello!”: “你好!”, “Welcome to our site”: “欢迎访问我们的网站” }
然后在模板或代码中使用 __() 函数调用:
{{ __(‘Hello!’) }}
{{ __(‘Welcome to our site’) }}
输出将根据当前语言环境自动切换。
3. 使用 PHP 数组文件管理分组翻译
你也可以按功能模块组织翻译内容。比如创建 resources/lang/en/auth.php:
return [ ‘failed’ => ‘These credentials do not match our records.’, ];
对应的中文文件 resources/lang/cn/auth.php:
return [ ‘failed’ => ‘用户名或密码错误。’, ];
使用点语法访问分组中的翻译项:
{{ __(‘auth.failed’) }}
4. 设置当前语言环境
通过 app()->setLocale($lang) 设置当前语言。通常在中间件或控制器中设置:
app()->setLocale(‘cn’); // 切换为中文
你可以从用户 Session、URL 参数或浏览器语言自动判断并设置语言。
5. 检查翻译是否存在
__()
如果未找到对应翻译,__()
基本上就这些。合理使用 __() 辅助函数结合语言文件,能让你的 Laravel 应用快速支持国际化。
以上就是Laravel中怎么使用__()辅助函数实现文本翻译的详细内容,更多请关注php中文网其它相关文章!