- 后端
【免费下载链接】lang
List of 128 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel UI.
本文以 laravel-lang/lang 仓库中的 希伯来语翻译状态文档 为核心,系统梳理希伯来语(Hebrew,he)语言包在 Laravel 生态中的翻译完成情况,逐一列出json、php-inline、php三类文件中尚未翻译的键及其英文回退值,并结合仓库内的 实际语言包文件 与 源码实现 说明这些缺失项背后的功能来源与修复方式。读完本文,你将掌握如何从状态文档定位缺失翻译、对照语言包文件确认缺口,以及理解 Laravel 各类错误消息(含 Passkey 与加密环境文件)的本地化机制。
一、状态文档与仓库结构:he.md 从哪里来
docs/statuses/he.md是 laravel-lang/lang 仓库自动生成的"翻译完成度审计报告"。仓库本身是一个 Laravel 官方生态的多语言语言包集合(覆盖 Laravel Framework、Jetstream、Fortify、Breeze、Cashier、Nova、Spark、UI 等组件),每个语言目录下都包含四个翻译文件与一个排除清单:
json.json:适用于 Laravel 内置语言(包含框架、Jetstream、Fortify、Breeze、Cashier、Spark、UI 等组件合成的键);json-inline.json:内联(inline)风格的消息键;php.json:PHP 数组形式的核心框架验证消息;php-inline.json:PHP 数组形式的内联验证消息;_excludes.json:被排除在翻译范围之外的键清单。
该状态文档由仓库的laravel-lang/status-generator工具(见 composer.json 的require-dev段)在 CI 流程中生成,因此文档中每个"Missing"条目都能在locales/he/下的对应 JSON 文件中逐条找到原文。文档同时给出了全语言整体完成度参考:约 97.82%(147.1K / 150.4K)(见 docs/status.md)。
二、全局缺口概览:All missed 15
he.md顶部直接给出总览:
All missed: 15
即希伯来语语言包尚有 15 个键未翻译,分布在三种文件类型中:
| 文件类型 | 缺失数量 |
|---|---|
json | 11 |
php-inline | 2 |
php | 2 |
这三种文件对应 Laravel 中不同的消息加载路径:
json.json承载框架、Jetstream、Fortify、Breeze、Cashier、Spark、UI 等组件混合的键,其内容在 locales/he/json.json(共 876 行);php.json是核心验证器(Validator)的 PHP 数组消息,见 locales/he/php.json(共 151 行);php-inline.json是内联形式的验证消息(消息中直接以字段名占位,而不是:attribute),见 locales/he/php-inline.json(共 140 行)。
从仓库文件的实际行数看,json.json与英文基准文件locales/en/json.json同为 876 行,说明绝大部分键已完成翻译,仅少数新增键(多与 Passkey、环境变量加密等新功能相关)尚未补齐。
三、json 文件缺失的 11 个键
文档将json下缺失的 11 个键以 Key/Value 表格形式列出。Key 与 Value 均为英文,意味着当前语言包对这些键直接回退为英文原文。逐条如下:
| Key(英文原文,即当前回退显示值) |
|---|
| Invalid credential format. |
| Passkey not recognized. It may have been removed from your account. |
| Passkey registration session expired. Please try again. |
| Passkey verification session expired. Please try again. |
| The existing encrypted environment file is not in readable format. Use --force to overwrite it. |
| The existing encryption key is required to update the encrypted environment file. |
| Unable to register passkey. Please try again. |
| Unable to register this passkey. |
| Unable to sign in with this account. |
| Unable to verify passkey. Please try again. |
| Unable to write the encrypted environment file. |
3.1 缺失键的功能来源
在 locales/he/json.json 中搜索可以确认这些键确实以英文原文存在(如第 340、502–504、702–703、777–781 行附近)。从内容归类看,这些键来自两大新功能模块:
Passkey(无密码登录)相关(7 条):Invalid credential format.、Passkey not recognized...、Passkey registration session expired...、Passkey verification session expired...、Unable to register passkey.、Unable to register this passkey.、Unable to sign in with this account.、Unable to verify passkey.。这些消息对应 Laravel Passkeys 扩展(仓库 source/passkeys 目录即为该组件的翻译来源),覆盖注册会话过期、验证会话过期、凭证格式非法、无法注册、无法验证等 WebAuthn 流程中的典型错误。
环境变量加密相关(3 条):The existing encrypted environment file is not in readable format. Use --force to overwrite it.、The existing encryption key is required to update the encrypted environment file.、Unable to write the encrypted environment file.。这些消息来自 Laravel 的env:encrypt/env:decrypt相关命令,提示在加密环境文件不可读、缺少既有加密密钥、写入失败等场景下的错误。
3.2 缺失键的实际影响
对于json类型,Laravel 的翻译加载逻辑是在语言包中查找he.json中的键。若键缺失,框架会直接回退显示键名本身(即英文原文)。因此:
- 希伯来语用户在使用 Passkey 登录/注册或执行环境文件加密命令时,看到的将是上述英文消息;
- 修复方式即是在 locales/he/json.json 中补充对应的希伯来语译文,使 Key 保持英文原文不变、Value 变为希伯来语。
四、php-inline 与 php 文件缺失的 2+2 个键
4.1 php-inline 缺失的 2 个键
| Key | 当前 Value |
|---|---|
array_keys | This field must only contain the following keys: :values. |
base64 | This field must be a valid Base64 string. |
4.2 php 缺失的 2 个键
| Key | 当前 Value |
|---|---|
array_keys | The :attribute field must only contain the following keys: :values. |
base64 | The :attribute field must be a valid Base64 string. |
4.3 两条消息的含义与差异
array_keys:Laravel 验证器在 11.x 中新增的ArrayKeys规则,用于限制数组字段只能包含指定键。php-inline 与 php 的差异仅在占位符:inline 形式直接用This field(内联显示时字段名已由调用方给出),而 php 形式使用:attribute占位符,由框架在渲染时替换为实际字段名。base64:Base64验证规则,校验字段值是否为合法的 Base64 字符串。
在 locales/he/php.json 第 12、15 行可以分别看到这两个键仍为英文原文;locales/he/php-inline.json 共 140 行,其中同样缺少这两个键的希伯来语译文。这两个规则都是 Laravel Framework 11.x 新增的验证规则,属于较新的键,因此尚未被翻译。
五、排除清单:哪些键刻意不翻译
locales/he/_excludes.json 内容为:
[ "CSV (.csv)", "Excel (.xlsx)", "Nova" ]这意味着两点:
CSV (.csv)与Excel (.xlsx)这类与文件格式展示相关的字符串不参与翻译统计;- 整个 Nova 组件的翻译被排除。Nova 是商业付费组件,其语言键不在本仓库的翻译范围内(仓库 source/nova 中虽保留 JSON/源码,但 he 的排除清单明确将其跳过)。因此状态文档中
he.md统计的缺失键不会包含 Nova 相关条目,读者在排查 Nova 的希伯来语显示问题时,应直接查看 Nova 自身的语言包配置。
六、从状态文档到修复:如何在仓库中定位并补齐
6.1 定位步骤
- 打开 docs/statuses/he.md,确认缺失键所在文件类型(json / php-inline / php);
- 打开对应文件 locales/he/json.json、locales/he/php-inline.json 或 locales/he/php.json;
- 以缺失键的英文原文为 Key 搜索,找到该行(当前 Value 与 Key 相同,即英文回退);
- 将 Value 替换为希伯来语译文,Key 保持英文原文不变——这是 Laravel 翻译查找机制的要求:Key 必须是英文原文,Value 才是目标语言。
6.2 语言包如何被加载
本仓库通过laravel-lang/publisher(见 composer.json 的require段)将语言包发布到 Laravel 应用的lang/目录。ServiceProvider 在应用注册阶段判断LaravelLang\Publisher\Plugins\Provider类是否存在,若存在则注册 Plugin,从而把locales/he/下的各 JSON 文件挂载为 Laravel 的翻译源。因此,仓库中的he.json/he.php文件即为应用运行时实际读取的翻译数据。
6.3 验证方式
仓库自带 PluginTest 测试,可通过 Composer 脚本运行:
composer test该脚本执行vendor/bin/phpunit --colors=always(见 composer.json 的scripts段)。翻译补齐后,可结合 Laravel 应用中的app()->getLocale()与trans()/__()帮助函数进行端到端验证,确保希伯来语消息正确输出。
七、实战建议
- 优先补齐
json缺失的 11 条:它们涉及 Passkey 登录与env:encrypt加密命令,属于用户可直接触达的交互消息,翻译优先级最高; - 同步补齐
php与php-inline的array_keys、base64:这是 Laravel 11 验证器新规则,任何使用Rule::arrayKeys()或base64校验规则的表单,在希伯来语环境下都会命中这两条英文回退消息; - 不要修改
_excludes.json:Nova 组件不在本仓库翻译职责内,强行加入反而会导致状态统计口径与上游不一致; - 保持 Key 原文不变:翻译文件的所有 Key 必须与英文基准完全一致(可在
locales/en/下核对),Value 才可自由翻译,否则 Laravel 将无法匹配到对应消息。
综上,docs/statuses/he.md是一份可直接用于翻译排期的机器可读清单:15 个缺口全部集中在 Passkey、环境加密命令与 Laravel 11 新增验证规则三类功能上,补齐这些键后,希伯来语语言包即可与英文基准在json、php-inline、php三类消息上完全对齐。
- 后端
【免费下载链接】lang
List of 128 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel UI.
相关推荐
Laravel Lang 语言包仓库实战指南:为 Laravel 全家桶提供 128 种本地化翻译
Laravel Lang 语言包仓库实战指南:为 Laravel 全家桶提供 128 种本地化翻译 Laravel Lang( laravel lang/lan
后端Claude-Code-Game-Studios 引擎初始化技能测试规格详解:/setup-engine 的配置流程、路由表与验收标准
Claude Code Game Studios 引擎初始化技能测试规格详解:/setup engine 的配置流程、路由表与验收标准 导读 /setup en
后端终极Pylearn2开发者指南:如何为深度学习框架贡献代码和扩展功能
终极Pylearn2开发者指南:如何为深度学习框架贡献代码和扩展功能 Pylearn2是一个强大的深度学习框架,虽然目前没有活跃的开发者维护,但它的代码库仍然为
后端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考