Yii offers a full spectrum of I18N features that support message translation, view translation, date and number formatting.Locale is a set of parameters that defines the user's language, country and any special variant preferences that the user wants to see in their user interface.you cannot change decimal or thousands separators, currency symbol etc. If you need to customize these you can use yii\i18n\Formatter::as Decimal() and yii\i18n\Formatter::as Currency(). The parameter value should be treated as a number and formatted as an ordinal name. To get a list of options available for locale you're using check "Numbering schemas, Ordinal" at The parameter value should be treated as the number of seconds and formatted as a time duration string. To get a list of options available for locale you're using check "Numbering schemas, Duration" at Following each possible parameter value, you should specify a phrase and enclose it in a pair of curly brackets.You can specify default message source that will be used as a fallback for category that doesn't match any configured category.It is usually identified by an ID consisting of a language ID and a region ID.
If the message is found, the corresponding translated message will be returned; otherwise the original message will be returned untranslated.
Such behavior is very convenient in case your raw message is a valid verbose text. You may need to perform some custom processing of the situation, when the requested translation is missing from the source.
This can be achieved using the missing Translation-event of yii\i18n\Message Source.
It is recommended that you keep this default value unchanged.
Usually it is much easier to find people who can translate from "English to other languages" than from "non-English to non-English".