400 0867 457

NEWS/新闻

分享你我感悟

您当前位置> 主页 > 新闻 > 技术开发

Laravel中怎么使用__()辅助函数实现文本翻译

发表时间:2025-11-10 00:00:00

文章作者:冰火之心

浏览次数:

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 目录下。每个语言对应一个子目录,例如:

  • resources/lang/zh/en.json
  • resources/lang/zh/cn.json

或者使用 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 应用快速支持国际化。

相关案例查看更多