☰
laravel-lang/lang 蒙古语(mn)语言包翻译状态深度解析:15 个缺失项清单与补齐指南
2026/9/28 2:58:20 网站建设 项目流程
  • 后端

【免费下载链接】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
点击查看免费下载

导读

lang 是一个为 Laravel 生态(Framework、Jetstream、Fortify、Breeze、Cashier、Nova、UI、Passkeys 等)提供 128 种语言本地化文件的 Composer 包。本文以 docs/statuses/mn.md 这份"蒙古语语言包翻译状态报告"为核心,逐项拆解当前仍缺失的 15 个翻译条目(json 11 项、php-inline 2 项、php 2 项),并结合 locales/mn 目录下的实际语言包文件与 source/framework 中的 Laravel 框架原文,说明这些缺失项的来源、影响范围以及补齐方法。读完本文,你将能读懂本仓库任意一份docs/statuses/*.md状态页,并掌握为蒙古语(乃至其他语言)语言包提交翻译的完整路径。

一、mn.md 是什么:蒙古语语言包的"翻译体检报告"

docs/statuses/目录下为每种语言存放一份独立的翻译状态页,mn对应蒙古语(Mongolian,ISO 639-1 代码mn,西里尔字母书写)。这份报告不是翻译文件本身,而是由仓库维护流程自动生成、用于跟踪"哪些键仍使用英文原文、尚未被翻译成蒙古语"的清单:

  • 文件头部的##### All missed: 15表示该语言包当前共有15 个键仍为英文原文;
  • 报告按语言包的实际格式分组统计:json(界面/前端 JSON 字符串)缺失 11 项、php-inline(内联验证消息)缺失 2 项、php(验证消息数组)缺失 2 项;
  • 每个缺失项以"Key(英文键名) / Value(当前值)"两列表格呈现。注意:Value列与Key列内容相同,意味着该键尚未翻译,占位值就是英文原文本身。

全局视角可查看 docs/status.md——它汇总了全部 128 种语言的完成状态,其中蒙古语(mn)与绝大多数语言一样标记为❗(尚未 100% 完成),仅有ko(韩语)标记为✔。

二、三种格式的含义:json、php、php-inline

状态页中的分组对应locales/mn/目录下的不同文件,理解它们有助于定位缺失项落点:

格式对应文件用途
jsonlocales/mn/json.json面向浏览器/前端界面与第三方包的 JSON 字符串(如 Nova 管理后台、Jetstream 页面文案)
json-inlinelocales/mn/json-inline.jsonJSON 形态的内联验证消息
phplocales/mn/php.jsonLaravel 框架的验证规则消息(validation.php对应内容)
php-inlinelocales/mn/php-inline.json内联验证消息(错误提示直接以"该字段"指代属性名,不再嵌入:attribute)

此外 locales/mn/_excludes.json 列出了从翻译范围中显式排除的键(如CSV (.csv)、Excel (.xlsx)、Nova等品牌词条),这些不会被计入缺失项。

三、json 格式缺失项详解(11 项)

状态页json分组下共列出 11 个仍未翻译的键,按功能来源可归为三类:

3.1 Passkeys(无密码登录)相关,5 项

Key(英文原文)
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 verify passkey. Please try again.

这组字符串与 Laravel 12.x 引入的Passkeys(通行密钥)功能相关。仓库中 src/Plugins/Passkeys/Main.php 正是负责注入 Passkeys 界面文案的插件实现,其对应源码字符串保存在 source/passkeys 下。从源码结构可以推断,这些消息覆盖了通行密钥注册会话过期、验证会话过期、无法注册、无法验证等典型失败场景,是 WebAuthn 认证流程的面向用户文案。

3.2 环境文件加密(env:encrypt)相关,4 项

Key(英文原文)
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.
Invalid credential format.

前三条来自 Laravel 的环境文件加密命令(php artisan env:encrypt/env:decrypt/env:update)。其中Use --force to overwrite it明确提示:当已存在加密.env文件但无法读取其格式时,需要追加--force选项强制覆盖——这是命令行操作层面的直接指引。

3.3 账号登录相关,1 项

Key(英文原文)
Unable to sign in with this account.

需要说明的是,这 11 项在 locales/mn/json.json 中均已存在对应键(例如第 340、502–504、777–781 行),但值仍为英文原文,即"键已收录、译文未填"状态;而同文件中诸如"Encrypted environment file already exists."(第 252 行)等其他环境加密消息则已完成蒙古语翻译,可见缺失集中在上述新近加入的字符串上。

四、php 与 php-inline 缺失项详解(各 2 项)

php与php-inline分组各缺失 2 项,且内容一致,只是文案措辞不同(php带:attribute属性名占位符,php-inline直接以"该字段/This field"指代):

键php 版原文php-inline 版原文
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.

源码佐证

这两个键是 Laravel 框架验证规则(Validation)的官方消息。在 source/framework/master/validation.php 中可找到英文基准原文:

  • 第 16 行:'array_keys' => 'The :attribute field must only contain the following keys: :values.'
  • 第 19 行:'base64' => 'The :attribute field must be a valid Base64 string.'

其中array_keys对应array_keys验证规则(限制数组只能包含指定键),base64对应base64规则(校验字符串是否为合法 Base64 编码)。相比之下,locales/mn/php.json 与 locales/mn/php-inline.json 中其余 100 余条规则消息(如accepted、required、email等)均已译成蒙古语,仅这两条新规则尚未跟进。

五、从状态页到语言包:仓库内的蒙古语资源全景

要完整了解蒙古语语言包现状,建议结合以下仓库路径对照查看:

  • locales/mn/json.json:约 870 条界面字符串,覆盖 Nova 管理后台、Jetstream 团队/订阅、Cashier 账单、Fortify 双因素认证等场景。注意其复数形式处理:蒙古语键值采用|分隔的多形态写法,例如"(and :count more errors)": "(болон өөр :count алдаа)|(болон өөр :count алдаа)|(болон өөр :count алдаа)";
  • locales/mn/json-inline.json:15 条内联验证消息,均已翻译;
  • locales/mn/php.json:约 150 条验证规则消息,缺失项即上文array_keys、base64;
  • locales/mn/php-inline.json:约 140 条内联验证消息;
  • locales/mn/_excludes.json:排除清单。

翻译的"源文本"由 source/framework 按 Laravel 版本维护(11.x、12.x、13.x、master各含auth.php、pagination.php、passwords.php、validation.php、framework.json),其他包的源文本位于 source/breeze、source/cashier、source/fortify、source/jetstream、source/nova、source/passkeys、source/spark、source/ui 等目录,插件注册逻辑集中在 src/Plugins。

六、补齐缺失翻译:实操路径

  1. 定位目标键:按状态页分组,打开locales/mn/下对应文件(如php.json),找到"array_keys"键;
  2. 替换译文:将英文原文替换为蒙古语文案,注意保留:attribute、:values、:count等占位符(运行时由 Laravel 动态填充)以及|分隔的复数形式;
  3. 保持 JSON 合法:蒙古语西里尔字符可直接以 UTF-8 写入,无需转义,但需保证双引号与逗号语法正确;
  4. 校验与提交:参考仓库 tests/PluginTest.php 的测试方式验证语言包结构,随后提交改动,状态页将在下次生成时移除对应条目。

对json分组的 Passkeys 与环境加密消息同理:在 locales/mn/json.json 中找到对应键并填入蒙古语译文即可,示例翻译风格可参照同文件中已完成的"Encrypted environment file already exists.": "Шифрлэгдсэн орчны файл аль хэдийн байна."(第 252 行)。

七、状态页与整体进度的关系

docs/statuses/mn.md 仅是 128 个语言状态页之一,所有语言的完成度统一收录于 docs/status.md(当前整体完成度约 97.82%)。蒙古语当前的 15 个缺失项全部集中于"新近加入的框架特性"(Passkeys、环境加密、array_keys/base64验证规则),其余历史词条已基本译毕。因此,补齐这 15 项即可使蒙古语语言包接近完整,这一模式同样适用于仓库内其他标记❗的语言——这正是docs/statuses/目录存在的价值:让维护者与贡献者能一眼看清"还差什么、差在哪、该怎么补"。

  • 后端

【免费下载链接】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
点击查看免费下载

相关推荐

上一篇:Virtual DSM终极指南:在Docker容器中零成本搭建Synology系统体验环境 🚀
下一篇:成本降75%性能反超!ERNIE 4.5用2比特量化技术改写大模型产业格局

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

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

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

立即咨询