语言包翻译缺口分析:19 项缺失 Key 全解析与本地化补齐指南)
后端【免费下载链接】langList 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点击查看免费下载本篇指南以本仓库的斯瓦希里语Swahililocale 代码sw翻译状态文档为核心逐一解析 docs/statuses/sw.md 中记录的 19 项缺失翻译 Key说明它们分别来自 Laravel Framework 的哪个模块、对应何种用户场景并给出在 locales/sw 目录下补齐翻译的具体方法与验证手段。读完本文你将掌握 Laravel 生态语言包缺口的定位技巧、占位符:attribute、:values的保真规则以及如何为 Swahili 语言包贡献一份完整可用的翻译。一、背景这份状态报告从何而来本仓库是 Laravel 生态的官方语言包集合项目名laravel-lang/lang为 Laravel Framework、Jetstream、Fortify、Breeze、Cashier、Nova、Spark 与 UI 等组件提供 100 多种语言的翻译资源。每个语言包在 locales 下按语言代码组织例如斯瓦希里语对应 locales/sw 目录内含五种格式的文件文件用途json.json框架内散落字符串的 JSON 翻译含 UI、认证、订阅、Nova 管理后台等json-inline.jsonJSON 字符串的内联变体密码强度规则等提示php.jsonLaravel 验证器Validator消息带:attribute占位符php-inline.json验证器内联变体This field...句式_excludes.json无需翻译的豁免词条国家名、专有名词等仓库通过laravel-lang/status-generator见 composer.json 的 require-dev 依赖对照上游源码扫描各语言包的翻译覆盖情况自动生成 docs/status.md 总览页及 docs/statuses 下每个语言的明细页。docs/statuses/sw.md 就是斯瓦希里语包当前的真实缺口清单总计 19 项未翻译其中 JSON 类 13 项、PHP 类含内联与普通两种各 3 项。注意状态页中的Missing特指 Key 存在但 Value 仍为英文原文未本地化的条目而非 Key 缺失。这一点可以从 locales/sw/json.json 中实际查看到——例如第 340 行的Invalid credential format.: Invalid credential format.就是典型的未翻译条目。二、JSON 缺口详解13 项未翻译字符串2.1 Passkey通行密钥认证消息7 项这是缺口最集中的一组全部来自 Laravel Fortify / Passkeys 组件的通行密钥认证流程英文原文Key 与 Value触发场景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.验证会话超时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.验证过程发生未知错误在源码侧source/framework/master/framework.json 收录了这些字符串的英文原文可视为其源 Key。斯瓦希里语用户在使用 WebAuthn 无密码登录时会直接看到英文提示因此这 7 项是登录体验优先修复项。建议的 Swahili 译法示意Passkey not recognized. It may have been removed from your account.: Passkey haikutambuliwa. Huenda imeondolewa kwenye akaunti yako., Unable to register passkey. Please try again.: Imeshindwa kusajili passkey. Tafadhali jaribu tena., Unable to sign in with this account.: Imeshindwa kuingia na akaunti hii.2.2 环境文件加密命令消息4 项这组消息来自 Laravel 的env:encrypt/env:decryptArtisan 命令及其配套的 EncryptedStore 逻辑英文原文触发场景The existing encrypted environment file is not in readable format. Use --force to overwrite it.已存在加密的.env文件但格式不可读需要--force覆盖The existing encryption key is required to update the encrypted environment file.更新已加密环境文件时必须提供原有加密密钥Unable to write the encrypted environment file.写入加密文件失败多为文件系统权限问题Invalid credential format.传入的加密凭据密钥格式非法其中前两条在 locales/sw/json.json 中可见第 702703 行Value 仍为英文。这组消息直接出现在终端输出中对使用 Swahili 环境的运维人员来说翻译它们能显著降低env:encrypt --force等操作的理解成本。2.3 通用认证消息2 项英文原文触发场景Reset your password邮件中的密码重置按钮文案Verify your email address邮件中的邮箱验证按钮文案这两项同样收录于 source/framework/master/framework.json属于 Laravel 认证邮件模板。与它们相关的已翻译相邻条目如Verify Email Address、Email Verification等在 locales/sw/json.json 中均已本地化唯独这两个按钮文案遗漏补齐后可保证整套邮件文案语言一致。三、PHP 验证消息缺口array_keys、base64、encoding状态报告同时记录了 php 与 php-inline 两类文件各缺 3 项且缺失的 Key 完全相同——它们是 Laravel 验证器Validator的新增规则KeyPHP 普通版带字段名PHP 内联版不带字段名array_keysThe :attribute field must only contain the following keys: :values.This field must only contain the following keys: :values.base64The :attribute field must be a valid Base64 string.This field must be a valid Base64 string.encodingThe :attribute field must be encoded in :encoding.This field must be encoded in :encoding.这 3 个 Key 的英文原文可直接在 source/framework/master/validation.php 中验证第 16、19、53 行附近它们分别对应 Laravel 的array_keys限制数组只允许指定键、base64校验 Base64 编码、encoding校验字符串编码验证规则。当前 locales/sw/php.json 与 locales/sw/php-inline.json 中这三项 Value 仍为英文。补齐要点必须保留占位符。:attribute、:values、:encoding是运行时由 Laravel 注入的变量字段名、规则参数、期望编码翻译时必须原样保留否则验证器会直接输出裸占位符。参考示例{ array_keys: Sehemu ya :attribute lazima iwe na funguo zifuatazo tu: :values., base64: Sehemu ya :attribute lazima iwe mfuatano halali wa Base64., encoding: Sehemu ya :attribute lazima isimbwe katika :encoding. }内联版同理只需把The :attribute field替换为This field对应的 Swahili 表达如Sehemu hii其余占位符不变。四、修复流程从编辑文件到验证通过4.1 直接编辑语言文件在仓库中定位对应文件并修改 Value 部分即可无需改动 KeyJSON 类 13 项 → 编辑 locales/sw/json.jsonPHP 内联 3 项 → 编辑 locales/sw/php-inline.jsonPHP 普通 3 项 → 编辑 locales/sw/php.json注意 locales/sw/_excludes.json 中列出的词条国家名、Hello!、ID、CSV (.csv)等被明确豁免不应翻译补齐时不要触碰。4.2 语法与一致性检查仓库使用 JSON 格式编辑后务必保证文件合法无尾逗号、无未转义引号。项目在 composer.json 中声明了 PHP^8.2环境与laravel-lang/publisher发布工具可通过以下命令验证# 校验 JSON 语法在仓库根目录执行 php -r json_decode(file_get_contents(locales/sw/json.json), true, 512, JSON_THROW_ON_ERROR); echo OK;4.3 重新生成状态报告本地安装laravel-lang/status-generator后可重新生成 docs/statuses/sw.md 确认缺口清零项目测试命令为composer test对应 phpunit 配置见 phpunit.xml。状态总览页 docs/status.md 中标有❗记号的语言即为尚存缺口斯瓦希里语sw当前即在此列。五、小结斯瓦希里语语言包的 19 项缺口高度集中在三个功能域Passkey 无密码认证7 项、环境文件加密命令4 项与新版验证规则3×2 项另有 2 项认证邮件按钮文案。从源码结构看它们分别对应 Fortify/Passkeys 组件、env:encrypt系列命令与 Validator 新规则均属于 Laravel 近几个版本新增的能力因此在较早的翻译批次中被遗漏。补齐路径清晰编辑 locales/sw 下对应 JSON 文件、保留:attribute等占位符、通过语法与测试验证即可让 Swahili 语言包达到完整覆盖。赞分享后端【免费下载链接】langList 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 海地克里奥尔语ht语言包翻译状态深度解析19 条缺失项的来源、分布与补齐指南Laravel 海地克里奥尔语ht语言包翻译状态深度解析19 条缺失项的来源、分布与补齐指南 导读 本文以当前仓库中的 docs/statuses/ht.后端Laravel 本地化状态追踪bm班巴拉语语言包 15 条缺失翻译分析与补齐指南Laravel 本地化状态追踪bm班巴拉语语言包 15 条缺失翻译分析与补齐指南 本文基于 laravel lang/lang 仓库的 bm 翻译状态页后端Laravel 本地化 eeEwe 语翻译缺口分析15 个缺失键的定位与补全指南Laravel 本地化 eeEwe 语翻译缺口分析15 个缺失键的定位与补全指南 EweEwe 语语言代码 ee 是 Laravel 官方本地化语言后端上一篇IPED时间线缩放控制调整时间线显示比例的方法下一篇Android权限管理终极指南特殊权限完整解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考