You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生产环境本地化失效(本地正常):仅显示翻译键而非译文

Laravel生产环境翻译失效,仅显示翻译键

我使用en.json文件实现翻译功能,本地环境可正常展示译文,但部署到生产服务器后,页面仅显示翻译键,无法渲染出对应译文。已尝试以下操作:

  • echo App::getLocale()(返回正确值"en")
  • php artisan config:cache
  • php artisan config:clear
  • php artisan cache:clear
  • php artisan optimize:clear
  • composer dump-autoload

排查与解决方案

1. 验证翻译文件的存在性与权限

  • 确认生产服务器上resources/lang/en.json文件存在,且文件名无大小写错误(Linux系统区分大小写)。
  • 调整文件权限为644、目录权限为755,确保PHP进程具备读取该文件的权限。

2. 清除视图缓存

生产环境的视图缓存可能导致翻译未更新,执行以下命令:

php artisan view:clear

3. 检查JSON文件语法与键的一致性

  • 校验en.json的语法合法性,避免遗漏逗号、引号不匹配等问题。
  • 确保代码中调用的翻译键(如__('welcome.title'))与JSON文件中的键完全一致,包括大小写、特殊字符。

4. 重置配置缓存

手动删除缓存文件后重新生成配置缓存:

rm bootstrap/cache/config.php
php artisan config:cache

5. 确认翻译调用语法

JSON格式的翻译文件需使用__('翻译键')(PHP代码中)或@lang('翻译键')(Blade模板中)的调用方式,不要混用数组式翻译的语法(如trans('messages.welcome'))。

6. 检查环境变量设置

确认生产环境.env文件中APP_LOCALE值为en,且无其他覆盖语言配置的环境变量。

内容的提问来源于stack exchange,提问作者Giacomo M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 12:20:26