YYUC国际化功能介绍

YY框架的国际化功能和其他框架一样,都是保存在配置文件之中的,首先要在配置文件conf.php中定义默认的语言。

默认语言为中文简体:

/**国际化~默认的网站国际化支持如zh-cn:中文简体,zh-tw:中文繁体,en:英语...*/
public static $default_i18n = "zh-cn";

假设我们的系统需要支持中文简体和英文两种语言,后面的内容为具体的配置步骤。

全局文本配置

i18n文件夹下建立zh-cn.php和en.php文件

zh-cn.php:

return array(
    'blue' => '蓝色',
    'green' => '绿色',
    'brown' => '棕色',
    'purple' => '姿色',
    'red' => '红色',
    'greyblue' => '灰蓝色',
    'news' => array(
            'book'=> '书',
            'paper'=> '纸',
        )
);

en.php:

return array(
    'blue' => 'blue',
    'green' => 'green',
    'brown' => 'brown',
    'purple' => 'purple',
    'red' => 'red',
    'greyblue' => 'greyblue',
    'news' => array(
            'book'=> 'book',
            'paper'=> 'paper',
        )
);

控制器中的文本读取:

$blue = i18n('.blue');
$book = i18n('.news.book');

视图文件中显示:

<span>{$COM['blue']}</span>
<span>{$COM['news']['book']}</span>

<!-- 也可以用控制器中的取得方式 -->
<span>{i18n('.blue')}</span>
<span>{i18n('.news.book')}</span>

全局文本配置信息过多时我们可以分文件存储:

在**i18n**文件夹下建立zh-cn_color.php和en_color.php文件

zh-cn_color.php:

return array(
    'blue' => '蓝色',
    'green' => '绿色',
    'brown' => '棕色',
    'purple' => '姿色',
    'red' => '红色',
    'greyblue' => '灰蓝色',
    'news' => array(
            'book'=> '书',
            'paper'=> '纸',
        )
);

en_color.php:

return array(
    'blue' => 'blue',
    'green' => 'green',
    'brown' => 'brown',
    'purple' => 'purple',
    'red' => 'red',
    'greyblue' => 'greyblue',
    'news' => array(
            'book'=> 'book',
            'paper'=> 'paper',
        )
);

控制器中的文本读取:

$blue = i18n('color.blue');
$book = i18n('color.news.book');

视图文件中显示:

<!-- 在视图文件中只有通过和控制器相同的方式获取 -->
<span>{i18n('color.blue')}</span>
<span>{i18n('color.news.book')}</span>

说明:$COM方式是相对$TXT方式而言的,$COM是全局国际化定义文本,任何视图文件都可以直接调用,$TXT是针对多级视图国际化文本的分文件存储方式。