☰
Laravel Lang 本地化补全指南:以 Akan(ak)语言为例解析缺失翻译键
2026/9/27 7:04:54 网站建设 项目流程
  • 后端

【免费下载链接】lang

List of 128 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel UI.

项目地址:https://gitcode.com/gh_mirrors/la/lang
点击查看免费下载

本篇技术指南以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的结构分为三个小节,分别对应三种翻译文件类型:

文件类型对应仓库文件缺失键数量
jsonlocales/ak/json.json(及json-inline.json的 JSON 源)11
php-inlinelocales/ak/php-inline.json2
phplocales/ak/php.json2

页面顶部明确给出汇总数据: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 语言习惯的翻译,并保持键名与上游英文完全一致。操作路径如下:

  1. 确定目标文件:json缺失键写入 locales/ak/json.json(若项目使用内联 JSON 也可写入locales/ak/json-inline.json);验证键分别写入 locales/ak/php.json 与 locales/ak/php-inline.json。
  2. 遵循既有翻译风格:参考ak.json中已完成翻译的同类文案,例如 passkey 相关键的句式、environment/encrypted等术语在json.json第 340、502 行等位置的既有译法,保持术语一致。
  3. 保留占位符:翻译php文件时必须原样保留:attribute、:values等占位符,否则 Laravel 验证器无法正确注入字段名;php-inline文件则无:attribute占位符,二者不可混用。
  4. 核对排除清单:留意 locales/ak/_excludes.json,其中列出的键(如CSV (.csv)、Excel (.xlsx)、India)不会被纳入翻译统计,补全时无需处理。
  5. 复查状态页:补全提交后重新生成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.

项目地址:https://gitcode.com/gh_mirrors/la/lang
点击查看免费下载
上一篇:Color.js模块化架构解析:如何按需导入以优化项目性能
下一篇:airi 前端实践:Vue 3 `<script setup>` 与编译宏(Compiler Macros)完整指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询