smmoosavi/twig-php-gettext

此包的最新版本(v1.0.0)没有提供许可证信息。

smmoosavi/php-gettext 的 Twig 扩展。

v1.0.0 2014-06-08 19:21 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:44:00 UTC


README

smmoosavi/php-gettext 的 Twig 扩展。

如何安装

使用 Composer

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

{
    "require": {
        "smmoosavi/twig-php-gettext": "dev-master"
    }
}

然后运行以下 composer 命令

$ php composer.phar install

注意: twigphp-gettext 也会与 twig-php-gettext 一起安装。

如何使用

完成对 twigphp-gettext 的所有要求,并添加以下行

$twig->addExtension(new smmoosavi\util\twiggettext\Extension_L10n());

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

完整示例

<?php // test.php
require_once '../vendor/autoload.php';
use smmoosavi\util\gettext\L10n;
// initializing php-gettext
$locale = 'fa_IR';
$lang = 'fa';
L10n::init($lang, __DIR__ . "/locale/$locale/LC_MESSAGES/messages.mo");

// simple using of php-gettext
echo __('Hi')."\n";

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

// initializing twig-php-gettext
$twig->addExtension(new smmoosavi\util\twiggettext\Extension_L10n());

// using of twig-php-gettext
echo $twig->render("{{ __('Hi') }} {{ name }}<br>", array('name' => 'علی'));

参考

函数

  • trans('Hi')
  • __('Hi')

过滤器

  • 'Hi'|trans
  • 'Hi'|__

标签

  • trans
  • plural
  • endtrans

示例

模板

{% trans %}
    Hi
{% endtrans %}

.po 文件中的翻译

msgid "Hi"
msgstr "سلام"

模板

{% trans %}
    Dear {{name}},
{% endtrans %}

.po 文件中的翻译

msgid "Dear %name%,"
msgstr "%name% عزیز،"

模板

{% trans %}
    an apple.
{% plural apple_count %}
    {{ count }} apples.
{% endtrans %}

.po 文件中的翻译

msgid "an apple"
msgid_plural "%count% apples"
msgstr[0] "یک سیب"
msgstr[1] "%count% سیب"