用途
laravel-i18n 是一个面向 Laravel 框架的国际化开发技能,用于在实现 Laravel 翻译功能时提供结构化指导与参考。它覆盖字符串翻译、复数处理、语言文件组织、区域检测、格式化以及第三方包翻译等主题。
主要能力
- 翻译方式决策:基本字符串使用 __('key'),带变量使用 __('key', ['name' => $value]),复数使用 trans_choice('key', $count),Blade 中使用 @lang('key') 或 {{ __('key') }},包字符串使用 trans('package::key')。
- 语言文件对比:区分 PHP 文件(支持短键名与嵌套结构,适合结构化翻译)与 JSON 文件(使用完整文本作为键、仅支持扁平结构,适合大型应用)。
- 关键规则:禁止字符串拼接,改用 :placeholder 替换;复数处理必须覆盖零值;按功能模块分组键名(如 auth.login.title);尽早抽取字符串、避免视图硬编码;区域需通过枚举或白名单校验。
- 参考主题:初始配置、复数化、Blade 翻译、区域检测中间件、日期/数字/货币格式化、包翻译、大型应用最佳实践。
- 代码模板:SetLocaleMiddleware(基于 URL/会话的区域检测)、翻译文件示例、集中式本地化服务 Provider、URL 前缀区域路由。
- 运行时 API 示例:App::setLocale('es')、App::currentLocale()。
- Laravel 13 说明:本地化 API 保持不变;Context::add('locale', $locale) 可将区域传入队列任务;cache.serializable_classes 默认 false,缓存 Locale 对象需登记;SetLocale 中间件兼容新的 PreventRequestForgery 中间件。
使用方式
技能规定了一套强制工作流:在任何实现之前,并行启动三个智能体调用——fuse-ai-pilot:explore-codebase 检查现有翻译模式,fuse-ai-pilot:research-expert 通过 Context7 核实 Laravel i18n 最佳实践,mcp__context7__query-docs 查询 Laravel 本地化文档;实现完成后运行 fuse-ai-pilot:sniper 进行验证。
适用场景
适合需要为 Laravel 应用建立、规范或扩展多语言支持的开发工作,尤其是涉及复数规则、区域中间件、路由区域前缀和大型项目翻译组织的场景。
限制
资料未提供该技能的安装命令、收费信息、平台支持范围或实际效果数据。