ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

挪威语(Nynorsk)Laravel 本地化状态报告解读:从 docs/statuses/nn.md 到 locales/nn 的缺失项与翻译实践

挪威语(Nynorsk)Laravel 本地化状态报告解读:从 docs/statuses/nn.md 到 locales/nn 的缺失项与翻译实践 后端【免费下载链接】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点击查看免费下载本文以 docs/statuses/nn.md 为核心系统讲解 Laravel Lang 本地化仓库中挪威语 Nynorsknn语言包的翻译完成度报告如何读懂“All missed / Missing”统计、json / php-inline / php 三种文件类型的缺失项含义以及这些缺失键对应的 Passkey 与 Laravel 验证器功能在源码中的出处。读完本文你将能快速定位任意语言包的未翻译条目并理解 Laravel 框架、Laravel Fortify、Laravel Passkeys 等组件是如何共享同一套翻译键体系的。一、状态报告是什么nn.md 的定位与作用在laravel-lang/lang仓库中docs/statuses/ 目录下每个语言locale都对应一个状态文件例如挪威语 Nynorsk 的 nn.md。该文件由laravel-lang/status-generator见 composer.json 的require-dev依赖自动生成用于记录该语言包相对上游英文源文件还缺哪些翻译键。status.md 是总览页其中nn被标记为❗表示该语言尚未 100% 完成仓库整体完成度为97.82%即 147.1K / 150.4K 条。nn.md 文件头部的 front matter 仅含editLink: false正文以# nn开头第一行核心统计为##### All missed: 15这意味着整个 nn 语言包目前共有 15 条键值尚未翻译分布在三种文件类型中文件类型缺失条数缺失键json11Passkey 相关 7 条 加密环境文件相关 4 条php-inline2array_keys、base64php2array_keys、base64这三种文件类型分别对应 Laravel 生态中的不同翻译载体下文逐一拆解。二、json 文件Passkey 与加密环境文件的缺失项2.1 缺失键完整清单根据 docs/statuses/nn.md 的 json 小节以下 11 条键在当前 nn 语言包中仍未翻译Value 列仍为英文原文Key英文原文所属功能Invalid credential format.PasskeyPasskey not recognized. It may have been removed from your account.PasskeyPasskey registration session expired. Please try again.PasskeyPasskey verification session expired. Please try again.PasskeyUnable to register passkey. Please try again.PasskeyUnable to register this passkey.PasskeyUnable to sign in with this account.PasskeyUnable to verify passkey. Please try again.PasskeyThe existing encrypted environment file is not in readable format. Use --force to overwrite it.加密环境文件Env 加密The existing encryption key is required to update the encrypted environment file.加密环境文件Env 加密Unable to write the encrypted environment file.加密环境文件Env 加密2.2 这些键从哪来源码出处这些键并非 nn 语言包自己发明而是来自仓库 source/ 目录中的上游英文源文件。其中 Passkey 类的 8 条消息可在 source/passkeys/main/passkeys.json 中找到对应如Passkey registration session expired. Please try again.由Plugins\Passkeys\Main插件见 src/Plugin.php托管加密环境文件相关消息则来自 Laravel Framework 自身的env:encrypt/env:decrypt等命令相关源文件位于 source/framework/。这里有一个值得注意的细节在 locales/nn/json.json 中这些缺失键的值与键完全相同例如Invalid credential format.: Invalid credential format.。从源码结构看这说明生成器在找不到可用翻译时把英文原文原样回填作为占位以保持键值对完整性——这正是状态报告将其标记为 missed 的原因占位翻译不等于真实翻译。2.3 对比已翻译条目nn 语言包的 json 覆盖面与缺失项形成鲜明对比的是locales/nn/json.json 中绝大多数条目已完成翻译覆盖 Laravel FortifyA fresh verification link has been sent to your email address.、Laravel Jetstream团队邀请、API Token、双因素认证等、Laravel Cashier订阅、发票、VAT、Laravel Nova资源、Action、Log Viewer以及 Laravel UI 的 UI 文案。例如Two Factor Authentication: TofaktorautentiseringManage Team: Administrer teamYour subscription has been successfully cancelled.: Abonnementet ditt har blitt kansellert.也就是说nn 语言包的缺口集中在较新的 Passkey 功能和框架加密命令上日常 UI 文案已相当完整。三、php / php-inline 文件验证器规则的缺失项3.1 缺失键与英文原文nn.md 的php-inline与php小节各列出 2 条缺失键二者键名相同但消息模板不同php带:attribute字段名The :attribute field must only contain the following keys: :values.与The :attribute field must be a valid Base64 string.php-inline面向表单内联提示不带:attributeThis field must only contain the following keys: :values.与This field must be a valid Base64 string.这两条键对应的正是 Laravel 验证器的array_keys与base64规则其英文源文可在 source/framework/master/validation.php 中确认第 16 行array_keys、第 19 行base64。3.2 nn 语言包的验证器现状对照 locales/nn/php.json 与 locales/nn/php-inline.json可以发现一个规律nn 语言包已翻译了绝大多数验证规则required、email、between、regex、unique、password.*等 150 条左右唯独array_keys与base64这两条仍回填英文。这与array_keys、base64属于较新加入 Laravel 验证器的规则有关——新规则加入后语言包需要后续迭代补译。具体可见required: :Attribute er påkravd.php 模式字段名带首字母大写required: Dette feltet er påkravd.php-inline 模式直接说“此字段”array_keys: The :attribute field must only contain the following keys: :values.未翻译base64: The :attribute field must be a valid Base64 string.未翻译这种“php 与 php-inline 双文件”的结构正是 Laravel 验证器在不同渲染场景下的两种消息形态翻译时需要同时维护。四、如何解读与使用状态报告实操指引4.1 把状态报告与语言包文件对应起来阅读任何docs/statuses/locale.md时请遵循以下三步看总览文件头部All missed: N给出总缺口数status.md 给出全仓库整体完成度与各语言标记。按类型定位json对应 locales/nn/json.json面向 JavaScript/Vue 前端的字符串资源如 Nova、Jetstream 前端文案php对应 locales/nn/php.json服务端验证消息含:attributephp-inline对应 locales/nn/php-inline.json内联验证消息不含字段名。去源文件核对英文原文在 source/ 下按插件目录passkeys/、framework/、nova/、cashier/、jetstream/、fortify/、breeze/、ui/、spark/找到对应的上游源文件确认键名与英文消息的准确性。4.2 本地化文件在 Laravel 中的实际使用laravel-lang/lang是一个 Composer 包见 composer.json包名laravel-lang/langPHP 要求^8.2通过LaravelLang\Lang\ServiceProvider注册配合laravel-lang/publisher插件Plugins\Laravel\Master等见 src/Plugin.php将语言文件发布到 Laravel 应用的lang/目录。在应用中启用 Nynorsk 只需在config/app.php设置locale nn之后 Laravel 的验证器、认证、分页、密码重置以及 Jetstream/Nova 等组件的提示文案就会按 nn 语言包输出。4.3 补译后状态报告会如何变化当 nn 语言包补齐上述 15 条缺失键后例如把Passkey not recognized...译为挪威语并写回 locales/nn/json.json重新运行状态生成器nn.md 的All missed计数会归零、status.md中 nn 的标记会从❗变为✔如当前ko已完成所示。这意味着状态报告既是翻译质量的体检单也是贡献翻译时的任务清单。五、小结通过 docs/statuses/nn.md 可以看出挪威语 Nynorsknn语言包的整体翻译度很高仅剩 15 条缺口其中 8 条集中在 Passkey 登录功能源文件 source/passkeys/main/passkeys.json3 条集中在加密环境文件命令2 条array_keys、base64源文件 source/framework/master/validation.php同时出现在 php 与 php-inline 两类验证消息中。对 Laravel 多语言应用的维护者而言docs/statuses/下的状态文件是判断某个语言包是否可用于生产环境的第一手依据对希望为开源本地化做贡献的开发者而言nn.md中列出的每个缺失键都是一个明确的、可直接认领的翻译任务。延伸阅读总览docs/status.mdnn 语言包本体locales/nn/json.json、locales/nn/php.json、locales/nn/php-inline.json上游英文源文件source/passkeys/main/passkeys.json、source/framework/master/validation.php插件注册src/Plugin.php、composer.json赞分享后端【免费下载链接】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 芬兰语fi本地化翻译缺失清单解析从 docs/statuses/fi.md 到源码溯源Laravel 芬兰语fi本地化翻译缺失清单解析从 docs/statuses/fi.md 到源码溯源 本篇指南以仓库中的 docs/statuses/f后端Laravel 孟加拉语bn本地化缺失键报告解读docs/statuses/bn.md 与语言文件补全指南Laravel 孟加拉语bn本地化缺失键报告解读docs/statuses/bn.md 与语言文件补全指南 本篇指南围绕仓库 docs/statuses/后端Laravel Lang 老挝语lo本地化翻译补全指南缺失键分析与状态报告解读Laravel Lang 老挝语lo本地化翻译补全指南缺失键分析与状态报告解读 本指南以 Laravel Lang 仓库中老挝语lo语言包的状态报告文后端上一篇G-Helper华硕笔记本性能管理的终极轻量级解决方案下一篇3步实现Office-Tool本地化覆盖率100%从检测到CI全流程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表