嗷嗷答 - 嗷嗷好的公务员考试网络答题平台

关于Kohana3中的message和i18n

作者:不烦恼 发布时间:February 3, 2012 分类:快乐学习

kohana.png
I18N的用法:

  1. <?php
  2. I18n::lang('cn'); // 定义默认语言
  3. echo __('Hello, world!'); // 用默认语言输出字符串
  4. echo __('Hello, world!', array(), 'fr'); // 用指定语言输出字符串
  5. echo __('Hello, :name!', array(':name' => 'world')); // 字符串中包含变量

i18n/cn.php中的内容例如(i18n/fr.php同理):
  1. <?php
  2. return array
  3. (
  4. 'Hello, world!' => '你好世界!',
  5. 'Hello, :name!' => '你好 :name!',
  6. );

message的用法:
  1. <?php
  2. Kohana::message('forms', 'name');
  3. Kohana::message('forms', 'parent.name');
  4. Kohana::message('forms', 'age', 'default');

messages/forms.php中的内容例如:
  1. <?php
  2. return array(
  3.     'name' => 'self',
  4. 'parent' => array(
  5. 'name' => 'parent'
  6. ),
  7. );

I18N和message结合

  1. <?php
  2. echo __(Kohana::message('demo', 'name'), array(':name' => 'bufannao.com'), 'cn');

messaes/demo.php
  1. <?php
  2. return array(
  3. 'name' => 'my name is :name',
  4. );

i18n/cn.php
  1. <?php
  2. return array(
  3. 'my name is :name' => '我的名字是:name',
  4. );

PS:message主要用于validation(待续)

添加新评论 »