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

手动翻译Laravel后出现未知代码,如何解决该问题?

Laravel翻译后出现未解析键的解决办法

排查步骤及解决方案

  • 检查翻译文件的位置与命名
    Laravel的自定义翻译文件需放在resources/lang/{你的语言代码}目录下,比如中文环境对应resources/lang/zh-CN。像验证规则这类核心模块的翻译,必须创建和核心文件同名的翻译文件(例如验证规则对应validation.php),核心翻译文件的位置在vendor/laravel/framework/src/Illuminate/Validation/res/lang/{语言代码}/validation.php,你需要在自定义目录下创建同名文件来覆盖或补充翻译内容。

  • 确认应用语言环境设置正确
    先检查当前应用使用的语言环境:

    dd(app()->getLocale());
    

    如果不是你配置的目标语言,修改.env文件中的APP_LOCALE值(比如APP_LOCALE=zh-CN),或者在代码中动态设置:

    app()->setLocale('zh-CN');
    
  • 核对翻译键的拼写与层级
    你看到的未解析代码(比如validation.required)是翻译键,以验证规则为例,要在validation.php文件中确保存在对应的键值对:

    return [
        'required' => '此字段必须填写',
        // 其他需要自定义的翻译项...
    ];
    

    注意翻译键的层级结构要和核心文件保持一致,避免嵌套错误。

  • 清除Laravel缓存
    Laravel会缓存翻译配置,修改翻译文件后未清除缓存会导致旧内容(或未解析的键)持续显示。执行以下命令清理缓存:

    php artisan cache:clear
    php artisan config:clear
    php artisan view:clear
    
  • 正确扩展核心翻译
    不要直接覆盖整个核心翻译数组,建议用合并的方式保留默认翻译,仅修改需要自定义的项:

    return array_merge(
        require __DIR__.'/../../vendor/laravel/framework/src/Illuminate/Validation/res/lang/zh-CN/validation.php',
        [
            'required' => '自定义的必填提示文本',
        ]
    );
    

内容的提问来源于stack exchange,提问作者Yusein Kolev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 11:47:07