CakePHP
  • 文档
    • 手册
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 商业解决方案
  • 周边产品
  • 路演
  • 团队
  • 社区
    • 社区
    • 参与进来
    • 问题 (Github)
    • 烘焙坊
    • 精选资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 简报
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • 帮助和支持
    • 论坛
    • Stack Overflow
    • IRC
    • Slack
    • 付费支持
CakePHP

C CakePHP 5.1 Chiffon API

  • 项目
    • CakePHP
      • CakePHP
      • Chronos
      • Elastic Search
      • 队列
  • 版本
    • 5.1
      • 5.1
      • 5.0
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

命名空间

  • 全局
  • Cake
    • 缓存
    • 集合
    • 命令
    • 控制台
    • 控制器
    • 核心
    • 数据库
    • 数据源
    • 错误
    • 事件
    • 表单
    • Http
    • I18n
      • 异常
      • 格式化程序
      • 中间件
      • 解析器
    • 日志
    • 邮件发送器
    • 网络
    • ORM
    • 路由
    • 测试套件
    • 实用工具
    • 验证
    • 视图

类 I18n

I18n 处理文本和时间格式字符串的翻译。

命名空间: Cake\I18n

常量

  • 字符串
    DEFAULT_LOCALE ¶
    'en_US'

    默认语言环境

属性概述

  • $_collection protected static
    Cake\I18n\TranslatorRegistry|null

    翻译器集合

  • $_defaultLocale protected static
    字符串|null

    环境默认语言环境

方法概述

  • clear() public static

    销毁所有翻译器实例,并创建一个新的空翻译集合。

  • config() public static

    注册一个可调用对象,可用于为同一个翻译域创建新的翻译器实例。只要请求尚未配置或加载的域的翻译器对象,就会调用加载器。

  • getDefaultFormatter() public static

    返回当前配置的默认格式化程序。

  • getDefaultLocale() public static

    返回默认语言环境。

  • getLocale() public static

    将返回当前配置的语言环境,如 intl.default_locale PHP 设置中存储的。

  • getTranslator() public static

    返回为名称和语言环境配置的翻译器实例。

  • setDefaultFormatter() public static

    设置要用于未来翻译器实例的默认消息格式化程序的名称。默认情况下,default 和 sprintf 格式化程序可用。

  • setLocale() public static

    设置要用于未来翻译器实例的默认语言环境。这也会影响 intl.default_locale PHP 设置。

  • setTranslator() public static

    设置翻译器。

  • translators() public static

    返回翻译器集合实例。它可用于根据名称和语言环境获取特定的翻译器,或配置尚未构建的未来翻译的某些方面。

  • useFallback() public static

    设置是否使用域回退。

方法详情

clear() ¶ public static

clear(): void

销毁所有翻译器实例,并创建一个新的空翻译集合。

返回
void

config() ¶ public static

config(string $name, callable $loader): void

注册一个可调用对象,可用于为同一个翻译域创建新的翻译器实例。只要请求尚未配置或加载的域的翻译器对象,就会调用加载器。

当您需要在同一个域的多个不同语言环境中延迟地使用翻译,并且不想使用基于 gettext 文件的内置翻译服务时,注册加载器非常有用。

加载器对象将接收两个参数:需要构建的域名称和请求的语言环境。这些对象可以从任何来源组装消息,但必须返回 Cake\I18n\Package 对象。

示例

 use Cake\I18n\MessagesFileLoader;
 I18n::config('my_domain', function ($name, $locale) {
     // Load resources/locales/$locale/filename.po
     $fileLoader = new MessagesFileLoader('filename', $locale, 'po');
     return $fileLoader();
 });

您也可以自己组装包对象

 use Cake\I18n\Package;
 I18n::config('my_domain', function ($name, $locale) {
     $package = new Package('default');
     $messages = (...); // Fetch messages for locale from external service.
     $package->setMessages($message);
     $package->setFallback('default');
     return $package;
 });
参数
字符串 $name

要为其创建加载器的翻译器的名称

可调用 $loader

一个可调用对象,应返回一个 Package 实例,用于组装新的翻译器。

返回
void

getDefaultFormatter() ¶ public static

getDefaultFormatter(): string

返回当前配置的默认格式化程序。

返回
字符串

getDefaultLocale() ¶ public static

getDefaultLocale(): string

返回默认语言环境。

这将在任何修改之前返回默认语言环境,即在该类进行任何操作之前,存储在 intl.default_locale PHP 设置中的值。

返回
字符串

getLocale() ¶ public static

getLocale(): string

将返回当前配置的语言环境,如 intl.default_locale PHP 设置中存储的。

返回
字符串

getTranslator() ¶ public static

getTranslator(string $name = 'default', string|null $locale = null): Cake\I18n\Translator

返回为名称和语言环境配置的翻译器实例。

如果没有传递语言环境,则它将使用 getLocale() 方法返回的值。

参数
字符串 $name 可选

翻译消息的域。

字符串|null $locale 可选

翻译器的语言环境。

返回
Cake\I18n\Translator
抛出
Cake\I18n\Exception\I18nException

setDefaultFormatter() ¶ public static

setDefaultFormatter(string $name): void

设置要用于未来翻译器实例的默认消息格式化程序的名称。默认情况下,default 和 sprintf 格式化程序可用。

参数
字符串 $name

要使用的格式化程序的名称。

返回
void

setLocale() ¶ public static

setLocale(string $locale): void

设置要用于未来翻译器实例的默认语言环境。这也会影响 intl.default_locale PHP 设置。

参数
字符串 $locale

要设置为默认语言环境的名称。

返回
void

setTranslator() ¶ public static

setTranslator(string $name, callable $loader, string|null $locale = null): void

设置翻译器。

配置未来的翻译器,这可以通过将可调用对象作为此函数的最后一个参数来实现。

示例

 I18n::setTranslator('default', function () {
     $package = new \Cake\I18n\Package();
     $package->setMessages([
         'Cake' => 'Gâteau'
     ]);
     return $package;
 }, 'fr_FR');

$translator = I18n::getTranslator('default', 'fr_FR');
 echo $translator->translate('Cake');

您也可以使用 Cake\I18n\MessagesFileLoader 类从文件夹加载特定文件。例如,要从 resources/locales/custom 文件夹加载 my_translations.po 文件,您将执行以下操作

I18n::setTranslator(
 'default',
 new MessagesFileLoader('my_translations', 'custom', 'po'),
 'fr_FR'
);
参数
字符串 $name

翻译消息的域。

可调用 $loader

一个回调函数或可调用类,负责构建翻译包实例。

字符串|null $locale 可选

翻译器的语言环境。

返回
void

translators() ¶ public static

translators(): Cake\I18n\TranslatorRegistry

返回翻译器集合实例。它可用于根据名称和语言环境获取特定的翻译器,或配置尚未构建的未来翻译的某些方面。

返回
Cake\I18n\TranslatorRegistry

useFallback() ¶ public static

useFallback(bool $enable = true): void

设置是否使用域回退。

参数
布尔值 $enable 可选

启用或禁用回退的标志

返回
void

属性详情

$_collection ¶ protected static

翻译器集合

类型
Cake\I18n\TranslatorRegistry|null

$_defaultLocale ¶ protected static

环境默认语言环境

类型
字符串|null
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 手册
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与进来
  • 问题 (Github)
  • 烘焙坊
  • 精选资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 简报
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API Docs 生成