### [CodeIgniter4基础教程:本地化与多语言支持实战指南(含路由、视图、语言文件配置](https://www.huociguo.com/article/1360) **Published:** 2026-09-12T13:00:41 **Author:** 米了 **Excerpt:** 在Web应用全球化趋势下,多语言支持已成为基础功能需求。CodeIgniter4作为轻量级PHP框架,内置了完… 在Web应用全球化趋势下,多语言支持已成为基础功能需求。CodeIgniter4作为轻量级PHP框架,内置了完善的本地化(Localization)模块,通过语言文件、服务层配置和路由绑定,可高效实现多语言切换。相比第三方库,CI4原生方案具有轻量、无依赖、性能优的特点,适合中小型项目的快速开发。  ### 一、环境准备与核心概念 🛠️ 确保已安装CodeIgniter4(推荐v4.4+版本),项目目录结构完整。CI4的本地化功能基于以下核心组件: - **语言文件**:存储翻译文本,位于`app/Languages/`目录 - **Locale类**:处理当前语言环境的识别与切换 - **Lang辅助函数**:在视图中调用翻译文本的快捷工具 - **路由绑定**:通过URL参数动态指定语言环境 ### 二、语言文件配置:创建多语言映射 📁 1. **目录结构规范** 在`app/Languages/`下按语言代码创建子目录,标准格式为`语言代码_地区代码`(如`en_US`、`zh_CN`): ``` app/ └── Languages/ ├── en_US/ │ └── app.php └── zh_CN/ └── app.php ``` 2. **编写语言数组** 每个语言文件返回关联数组,键名统一,值为对应翻译文本。例如`zh_CN/app.php`: ```php '欢迎访问我们的网站 👋', 'login' => '登录', 'logout' => '退出', 'home' => '首页', 'about' => '关于我们' ]; ``` `en_US/app.php`对应内容: ```php 'Welcome to our website 👋', 'login' => 'Login', 'logout' => 'Logout', 'home' => 'Home', 'about' => 'About Us' ]; ``` ### 三、路由配置:绑定语言参数 🌐 通过路由参数动态传递语言环境,实现URL层面的语言标识(如`/en-US/home`、`/zh-CN/home`)。 1. **基础路由绑定** 在`app/Config/Routes.php`中定义带语言参数的路由: ```php $routes->group('{locale}', function ($routes) { $routes->get('/', 'Home::index'); $routes->get('about', 'Home::about'); }); ``` 此处`{locale}`为CI4内置的路由占位符,会自动匹配语言代码。 2. **默认语言设置** 在`app/Config/App.php`中配置默认语言,当URL未指定时生效: ```php public $defaultLocale = 'zh_CN'; public $supportedLocales = ['zh_CN', 'en_US']; // 允许的语言列表 public $negotiateLocale = true; // 启用浏览器语言协商 ``` ### 四、控制器与视图:动态调用翻译文本 📝 1. **控制器中设置语言环境** 在控制器的初始化方法中,通过`Services::language()`加载对应语言文件: ```php lang = service('language'); $this->lang->setLocale($this->request->getLocale()); } public function index() { return view('home'); } } ``` 2. **视图中使用Lang辅助函数** 在视图文件(如`app/Views/home.php`)中,通过`lang()`函数调用翻译文本: ```html