没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\i18n\I18N

继承yii\i18n\I18N » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/i18n/I18N.php

I18N 提供与国际化(I18N)和本地化(L10N)相关的功能。

默认情况下,I18N 在 yii\base\Application 中配置为应用程序组件。 您可以通过 Yii::$app->i18n 访问该实例。

公共属性

隐藏继承的属性

属性类型描述被定义在
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$messageFormatter yii\i18n\MessageFormatter 消息格式化程序实例,用于通过 ICU 消息格式格式化消息。 yii\i18n\I18N
$translations array yii\i18n\MessageSource 配置或对象的列表。 数组键是消息类别模式, 数组值是对应的 yii\i18n\MessageSource 对象或用于创建 yii\i18n\MessageSource 对象的配置。 消息类别模式可以在末尾包含通配符 *,以匹配具有相同前缀的多个类别。 例如,app/* 匹配 app/cat1app/cat2。 类别模式 * 将匹配与其他类别模式不匹配的所有类别。 如果希望在自己的命名空间中扩展注册自己的消息源, 则可以动态修改此属性。 始终定义有类别 yiiapp。 前者指的是 Yii 核心框架代码中使用的消息类别,而后者指的是自定义应用程序代码的默认消息类别。 默认情况下,这两个类别都使用 yii\i18n\PhpMessageSource, 相应的消息文件分别存储在 @yii/messages@app/messages 下。 您可以重写两个类别的配置。 yii\i18n\I18N

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
className() Returns the fully qualified name of this class. yii\base\BaseObject
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
format() 使用 yii\i18n\MessageFormatter 格式化消息。 yii\i18n\I18N
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getMessageFormatter() 返回消息格式化程序实例。 yii\i18n\I18N
getMessageSource() 返回给定类别的消息源。 yii\i18n\I18N
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() 通过配置默认消息类别来初始化组件。 yii\i18n\I18N
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
setMessageFormatter() yii\i18n\I18N
translate() 翻译消息到指定的语言。 yii\i18n\I18N
trigger() Triggers an event. yii\base\Component

属性详情

$messageFormatter 公共 属性

消息格式化程序实例,用于通过 ICU 消息格式格式化消息。

$translations 公共 属性

yii\i18n\MessageSource 配置或对象的列表。 数组键是消息类别模式, 数组值是对应的 yii\i18n\MessageSource 对象或用于创建 yii\i18n\MessageSource 对象的配置。

消息类别模式可以在末尾包含通配符 *,以匹配具有相同前缀的多个类别。 例如,app/* 匹配 app/cat1app/cat2

类别模式 * 将匹配与其他类别模式不匹配的所有类别。

如果希望在自己的命名空间中扩展注册自己的消息源, 则可以动态修改此属性。

始终定义有类别 yiiapp。 前者指的是 Yii 核心框架代码中使用的消息类别,而后者指的是自定义应用程序代码的默认消息类别。 默认情况下,这两个类别都使用 yii\i18n\PhpMessageSource, 相应的消息文件分别存储在 @yii/messages@app/messages 下。

您可以重写两个类别的配置。

public array $translations null

方法详情

format() 公共 方法

使用 yii\i18n\MessageFormatter 格式化消息。

public string format($message, $params, $language)
$message string

要格式化的消息。

$params array

将用于替换消息中相应占位符的参数。

$language string

语言代码(例如 en-USen)。

return string

格式化的消息。

getMessageFormatter() 公共 方法

返回消息格式化程序实例。

public yii\i18n\MessageFormatter getMessageFormatter()
return yii\i18n\MessageFormatter

消息格式化程序实例,用于通过 ICU 消息格式格式化消息。

getMessageSource() 公共 方法

返回给定类别的消息源。

public yii\i18n\MessageSource getMessageSource($category)
$category string

类别名称。

return yii\i18n\MessageSource

给定类别的消息源。

throws yii\base\InvalidConfigException

如果没有可用于指定类别的消息源。

init() 公共 方法

通过配置默认消息类别来初始化组件。

public void init()
setMessageFormatter() 公共 方法

public void setMessageFormatter($value)
$value string|array|yii\i18n\MessageFormatter

消息格式化程序,用于通过 ICU 消息格式格式化消息。 可以配置为数组或字符串, 它们将被赋予 Yii::createObject() 以创建实例或 yii\i18n\MessageFormatter 实例。

translate() 公共 方法

翻译消息到指定的语言。

翻译后,如果消息包含 ICU 消息格式且 $params 不为空, 则使用 yii\i18n\MessageFormatter 格式化消息。

public string translate($category, $message, $params, $language)
$category string

消息类别。

$message string

要翻译的信息。

$params array

将用于替换消息中相应占位符的参数。

$language string

语言代码(例如 en-USen)。

return string

已经翻译和格式化的消息。