smmoosavi/twig-intl

此软件包最新版本(v0.0.01)没有提供许可信息。

php intl 的 Twig 扩展

v0.0.01 2014-01-08 11:49 UTC

This package is not auto-updated.

Last update: 2024-09-24 05:53:12 UTC


README

php intl 的 Twig 扩展

安装方法

使用 Composer

在项目根目录下创建 composer.json 文件

{
    "require": {
        "smmoosavi/twig-intl": "dev-master"
    }
}

然后运行以下 composer 命令

$ php composer.phar install

注意: twig 也会安装 twig-intl。

使用方法

执行所有必要的 twig 操作,并添加以下行

$twig->addExtension(new \smmoosavi\util\twigintl\Extension_Intl('fa_IR', 'persian')); // use your locale and calendar

现在您可以在模板中使用 lDateTimelDatelTimelFormatlNum

完整示例

<?php // test.php
require_once '../vendor/autoload.php';

// initializing twig
$loader = new Twig_Loader_String();
$twig = new Twig_Environment($loader);


// initializing twig-php-gettext
$twig->addExtension(new \smmoosavi\util\twigintl\Extension_Intl('fa_IR', 'persian'));

// using of twig-php-gettext
$test_date = new DateTime();
echo $twig->render("{{ lDateTime(test_date) }}", array('test_date' => $test_date));

参考

函数

  • lDate(test_date)
  • lDateTime(test_date)
  • lTime(test_date)
  • lFormat(test_date)
  • lNum(number)

过滤器

  • test_date|lDateTime
  • test_date|lDate
  • test_date|lTime
  • test_date|lFormat(format)
  • number|lNum

标签

  • locale
  • endlocale

示例

模板

functions:<br>
{{ lDateTime(test_date) }}<br>
{{ lTime(test_date) }}<br>
{{ lDate(test_date) }}<br>
{{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
{{lNum(3343.3) }}<br>
{{lNum(3343) }}<br>
{{lNum(-2) }}<br>
filters:<br>
{{ test_date|lDateTime }}<br>
{{ test_date|lTime }}<br>
{{ test_date|lDate }}<br>
{{ test_date|lFormat('y/M/d HH:mm (zzzz)') }}<br>
{{ 3343.3|lNum }}<br>
{{ 3343|lNum }}<br>
{{ (-2)|lNum }}<br>

输出

functions:<br>
۱۳۹۲/۱۰/۱۸ ۱۶:۰۰<br>
۱۶:۰۰:۰۸<br>
چهارشنبه ۱۸ دی ۱۳۹۲<br>
۱۳۹۲/۱۰/۱۸ ۱۶:۰۰ (وقت عادی ایران)<br>
۳٬۳۴۳٫۳<br>
۳٬۳۴۳<br>
-۲<br>
filters:<br>
۱۳۹۲/۱۰/۱۸ ۱۶:۰۰<br>
۱۶:۰۰:۰۸<br>
چهارشنبه ۱۸ دی ۱۳۹۲<br>
۱۳۹۲/۱۰/۱۸ ۱۶:۰۰ (وقت عادی ایران)<br>
۳٬۳۴۳٫۳<br>
۳٬۳۴۳<br>
-۲<br>

模板

ex1: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% locale -%}
    ex2: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}
{% locale 'fa_IR' -%}
    ex3: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}
{% locale 'fa_IR@persian' -%}
    ex4: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}
{% locale 'fa_IR@islamic@utc' -%}
    ex5: {{ lFormat(test_date,'EEEE d MMMM y HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}
{% locale 'fa_IR@null@utc' -%}
    ex6: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}
{% locale 'null@null@utc' -%}
    ex7: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}

输出

ex1: ۱۳۹۲/۱۰/۱۸ ۱۵:۰۸ (وقت عادی ایران)<br>
     ۳٬۳۴۳٫۳<br>
ex2: 2014/1/8 15:08 (Iran Standard Time)<br>
     3,343.3<br>
ex3: ۲۰۱۴/۱/۸ ۱۵:۰۸ (وقت عادی ایران)<br>
     ۳٬۳۴۳٫۳<br>
ex4: ۱۳۹۲/۱۰/۱۸ ۱۵:۰۸ (وقت عادی ایران)<br>
     ۳٬۳۴۳٫۳<br>
ex5: چهارشنبه ۷ ربیع الاول ۱۴۳۵ ۱۱:۳۸ (GMT)<br>
     ۳٬۳۴۳٫۳<br>
ex6: ۲۰۱۴/۱/۸ ۱۱:۳۸ (GMT)<br>
     ۳٬۳۴۳٫۳<br>
ex7: 2014/1/8 11:38 (GMT)<br>
     3,343.3<br>

待办事项

增强 locale 标签的参数传递。