- 后端
【免费下载链接】lang
List of 128 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel UI.
本篇技术指南以laravel-lang/lang仓库中 docs/statuses/ak.md 为准,深入剖析 Akan(ak,加纳官方语言)语言环境当前缺失的 15 个翻译键:11 个位于json(JSON 文件)中,2 个位于php-inline(验证内联消息)中,2 个位于php(验证属性消息)中。阅读本文后,你将掌握该仓库翻译进度状态文档的读取方法、缺失键在源码中的真实来源(包括 Laravel Framework 的env:encrypt/env:decrypt命令与 Passkeys 扩展),以及如何将缺失键回填至locales/ak/下的对应文件,从而完整补齐 Akan 本地化。
一、状态文档是什么:翻译完成度的「体检报告」
仓库docs/statuses/目录下为 128 种语言各生成一份状态页,其总览入口是 docs/status.md。每份状态页记录了该语言与英文源之间「未翻译/未对齐」的键值对清单,是社区贡献者定位补全工作量的直接依据。
ak.md的结构分为三个小节,分别对应三种翻译文件类型:
| 文件类型 | 对应仓库文件 | 缺失键数量 |
|---|---|---|
json | locales/ak/json.json(及json-inline.json的 JSON 源) | 11 |
php-inline | locales/ak/php-inline.json | 2 |
php | locales/ak/php.json | 2 |
页面顶部明确给出汇总数据:All missed: 15,即 Akan 语言当前共缺失 15 个键,其中json占 11 个、php-inline占 2 个、php占 2 个。这些缺失键的 Value 列仍保留英文原文,意味着一旦用户切换到ak语言环境,这些文案会以英文回退显示。
二、json缺失键详解:来自 Passkeys 与 Framework 扩展
json小节列出的 11 个键,是仓库从多个上游扩展源汇总后、Akan 尚未翻译的部分。逐条对照 locales/ak/json.json 中的实际内容可以发现,其中 11 个键在文件中均以「键 = 值」完全相同的英文形式存在(即原文未翻译),例如"Invalid credential format.": "Invalid credential format."、"Unable to register passkey. Please try again.": "Unable to register passkey. Please try again."。
2.1 源自 Passkeys 扩展的 6 个键
对照源码目录 source/passkeys/ 可以确认,以下 6 个键来自main/passkeys.json与extended.json:
| 缺失键 | 上游来源 |
|---|---|
| Invalid credential format. | source/passkeys/main/passkeys.json |
| Passkey registration session expired. Please try again. | source/passkeys/main/passkeys.json |
| Passkey verification session expired. Please try again. | source/passkeys/main/passkeys.json |
| Passkey not recognized. It may have been removed from your account. | source/passkeys/extended.json |
| Unable to register passkey. Please try again. / Unable to register this passkey. | source/passkeys/extended.json |
| Unable to sign in with this account. / Unable to verify passkey. Please try again. | source/passkeys/extended.json |
这些文案覆盖 Laravel Passkeys 认证流程的典型错误场景:凭据格式非法、Passkey 已被移除、注册/校验会话过期、注册失败、账号无法登录等。为 Akan 用户补齐这些翻译,能显著改善 WebAuthn 无密码登录在加纳地区的落地体验。
2.2 源自 Laravel Frameworkenv:命令的 3 个键
其余 3 个键来自 Laravel Framework 的环境加密相关命令,在 source/framework/13.x/framework.json 中可找到对应原文:
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.
这三条分别对应php artisan env:encrypt --force覆盖不可读的旧加密文件、env:decrypt/env:encrypt更新文件时必须提供既有密钥、以及写入加密环境文件失败三种运维场景,属于命令行工具链的底层反馈文案。
说明:仓库
source/framework/下同时存在11.x、12.x、13.x与master四个版本目录,说明这些框架级键值会随 Laravel 版本演进持续同步,翻译时需要留意版本差异。
三、php-inline与php缺失键:验证规则的两套表述
验证相关缺失键在php-inline与php两个小节各出现 2 个,且键名完全相同,差异在于表述形式:
- php-inline(内联样式):面向表单字段的错误提示,不携带属性名占位符。例如
array_keys对应This field must only contain the following keys: :values.,base64对应This field must be a valid Base64 string.。 - php(属性样式):面向
Validator的完整消息,携带:attribute占位符。例如The :attribute field must only contain the following keys: :values.与The :attribute field must be a valid Base64 string.。
这两个键的英文源头位于 source/framework/master/validation.php 第 16 行(array_keys)与第 19 行(base64)。从源码可见它们是 Laravel 验证器的两个较新规则:
array_keys:限定数组字段只能包含指定的键集合,配合:values列出允许的键名;base64:要求字段值是合法的 Base64 字符串。
在 locales/ak/php-inline.json 第 12、15 行与 locales/ak/php.json 第 12、15 行中,这两个键当前仍是英文原样,属于待补全状态。Akan 中该验证文件其余规则(如accepted、email、between.string等)均已翻译完成,说明array_keys与base64是 Laravel 新版本新增规则后遗留的缺口。
四、如何补全:以仓库现有翻译风格回填缺失键
补全工作本质上是将状态页列出的英文 Value 替换为符合 Akan 语言习惯的翻译,并保持键名与上游英文完全一致。操作路径如下:
- 确定目标文件:
json缺失键写入 locales/ak/json.json(若项目使用内联 JSON 也可写入locales/ak/json-inline.json);验证键分别写入 locales/ak/php.json 与 locales/ak/php-inline.json。 - 遵循既有翻译风格:参考
ak.json中已完成翻译的同类文案,例如 passkey 相关键的句式、environment/encrypted等术语在json.json第 340、502 行等位置的既有译法,保持术语一致。 - 保留占位符:翻译
php文件时必须原样保留:attribute、:values等占位符,否则 Laravel 验证器无法正确注入字段名;php-inline文件则无:attribute占位符,二者不可混用。 - 核对排除清单:留意 locales/ak/_excludes.json,其中列出的键(如
CSV (.csv)、Excel (.xlsx)、India)不会被纳入翻译统计,补全时无需处理。 - 复查状态页:补全提交后重新生成
docs/statuses/ak.md,页面中的Missing计数会相应减少,直至All missed: 0。
需要说明的是,本仓库定位是提供 Laravel 生态(Framework、Jetstream、Fortify、Breeze、Cashier、Nova、UI 等)的多语言本地化资源;缺失键的翻译质量直接决定 Akan 用户在 Laravel 应用中的界面与错误提示体验。参与补全时,应确保译文符合 Akan(加纳)的实际语言习惯,而不是生硬的逐词对应。
五、小结
通过 docs/statuses/ak.md 这一份「缺失清单」,可以清晰还原 Akan 本地化的补全路线图:json部分需要补齐 Passkeys 认证错误与 Laravel Frameworkenv:加密命令共 11 条;php-inline与php部分需要补齐array_keys、base64两条新验证规则的两套表述。对照 source/passkeys/ 与 source/framework/ 的上游源码,可以精准定位每个键的语义来源与适用场景,从而在保持占位符与术语一致的前提下完成高质量翻译,最终让 Akan 语言在 Laravel 全家桶中达到完整覆盖。
- 后端
【免费下载链接】lang
List of 128 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel UI.
相关推荐
Laravel Lang 波斯语(fa)本地化翻译状态解析:15 条缺失词条全清单与补齐指南
Laravel Lang 波斯语(fa)本地化翻译状态解析:15 条缺失词条全清单与补齐指南 本文基于 laravel lang/lang 仓库的 docs/s
后端Kubernetes 安全响应流程全解析:漏洞报告、分级与发布机制(community 仓库官方指南)
Kubernetes 安全响应流程全解析:漏洞报告、分级与发布机制(community 仓库官方指南) 本篇文章以 Kubernetes Community 官
后端Laravel 本地化 ee(Ewe 语)翻译缺口分析:15 个缺失键的定位与补全指南
Laravel 本地化 ee(Ewe 语)翻译缺口分析:15 个缺失键的定位与补全指南 Ewe(Ewe 语,语言代码 ee )是 Laravel 官方本地化语言
后端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考