smmoosavi / php-gettext
此包最新版本(v1.0.1)没有提供许可证信息。
由danilo segan编写的php-gettext包装器。此库提供了PHP函数,即使在gettext未编译或在系统中不存在适当的区域设置时,也能读取MO文件。
v1.0.1
2015-10-28 17:41 UTC
Requires
- php: >=5.3.0
- smmoosavi/php-gettext-core: 1.0.*
This package is not auto-updated.
Last update: 2024-09-28 13:46:08 UTC
README
由danilo segan编写的php-gettext包装器。此库提供了PHP函数,即使在gettext未编译或在系统中不存在适当的区域设置时,也能读取MO文件。
安装方法
使用 Composer
在项目根目录创建composer.json文件
{ "require": { "smmoosavi/php-gettext": "dev-master" } }
然后运行以下composer命令
$ php composer.phar install
如何使用
创建翻译文件
.
├── composer.json
├── composer.lock
├── locale
│ ├── en_US
│ │ └── LC_MESSAGES
│ │ ├── messages.mo
│ │ └── messages.po
│ └── fa_IR
│ └── LC_MESSAGES
│ ├── messages.mo
│ └── messages.po
├── test.php
└── vendor
├── autoload.php
...
PHP代码
<?php // test.php require 'vendor/autoload.php'; use smmoosavi\util\gettext\L10n; $locale = 'fa_IR'; $lang = 'fa'; L10n::init($lang, __DIR__ . "/locale/$locale/LC_MESSAGES/messages.mo"); var_dump(__('Hi')); var_dump(__('other'));
示例.pot文件
msgid ""
msgstr ""
"Project-Id-Version: php-gettext 0.0.1\n"
"Report-Msgid-Bugs-To: example@example.com\n"
"POT-Creation-Date: 2010-05-28 06:18-0500\n"
"PO-Revision-Date: 2013-08-07 11:34+0330\n"
"Last-Translator: example translator <example@example.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.5\n"
msgid "test"
msgstr "تست"
msgid "Hi"
msgstr "سلام"
将.pot转换为.pom
$ msgfmt -cv -o locale/fa_IR/LC_MESSAGES/messages.mo locale/fa_IR/LC_MESSAGES/messages.po
待办事项
- 提供
ext-gettext
。您可以在topic/provide-ext-gettext
分支中跟踪进度。
注意
感谢Danilo Segan。此项目使用php-gettext 1.0.11