# CodeIgniter 用户指南 版本 2.2.0

编辑文档、查看近期更改请 登录 或 注册 找回密码

搜索用户指南

查看原文

# 语言类

语言类提供方法去“解开（retrieve）”语言文件或者文本行（lines of text）以实现国际化(internationalization).

CodeIgniter的系统(system)目录下的language目录中有一系列的语言文件。 当你需要显示另外一种语言的错误信息或者其它的一些信息时，可以创建自己的语言文件。

语言文件一般存放在 system/language目录下。或者你可以在`application`目录下创建一个`language`目录，并把语言文件存放在这里。CodeIgniter会首先查找application/language目录。如果上述目录不存在，或者所要搜索的语言文件不存在，CodeIgniter会搜索全局的 system/language目录。

注意: 每一个语言都要有一个独立的目录，比如，英语的一系列文件都在以下目录中: system/language/english

## 创建语言文件

语言文件的后缀必须为`_lang.php`。比如，你想创建一个包含错误信息的文件，你可以这样命名： `error_lang.php`

在此文件中，你可以在每行把一个字符串赋值给名为$lang的数组，例如：

`$lang['language_key'] = "The actual message to be shown";`

注意： 为了不和其它文件中的变量重名，最好把一个文件的所有的键值前都加上相同的前缀。比如，可以把每个错误信息都加上error_

`$lang['error_email_missing'] = "You must submit an email address";
$lang['error_url_missing'] = "You must submit a URL";
$lang['error_username_missing'] = "You must submit a username";`

## 加载一个语言文件

使用语言文件前，先要加载它，加载方法如下：

`$this->lang->load('`filename`', 'language');`

`filename`是你要加载的语言文件名 (不要带扩展名), language 是那个文件中包含的语言 （比如，英语）。如果没有第二个参数，将会使用 `application/config/config.php`的缺省语言。

## 获取一行文本

一旦需要的语言文件被加载，你可以以下的方法取得其中任何一个值：

`$this->lang->line('`language_key`');`

`language_key` 你要显示的字符串所在的数组的键值。

注意：这个方法只是简单的返回值，它并不显示值。（It does not echo it for you）

### 使用语言行作为表单的Label

这一特性已经被语言类废弃，并转移到语言辅助函数中的 `lang()` 函数。

## 自动加载语言

如果需要在整个程序加载一个特定的语言文件，你可以让CodeIgniter在系统初始化的时候自动加载语言文件。可以在 application/config/autoload.php 文件中把语言放在自动加载数组中。

翻译贡献者: architectcom, Fanbin, Hex, lishen2, yinzhili
最后修改: 2011-02-01 01:40:31