phpnomad/gettext-integration
最新稳定版本:1.0.0
Composer 安装命令:
composer require phpnomad/gettext-integration
包简介
PHPNomad gettext translation strategy implementation
README 文档
README
Integrates PHP's built-in gettext extension with phpnomad/translate. This package provides a TranslationStrategy implementation that delegates to dgettext and dngettext, applies the locale through setlocale(LC_MESSAGES, ...), and handles gettext's msgctxt context convention. If you'd rather not depend on the ext-gettext PHP extension, phpnomad/symfony-translation-integration implements the same abstraction against Symfony Translation instead.
Installation
This package requires the ext-gettext PHP extension to be installed and enabled.
composer require phpnomad/gettext-integration
What This Provides
PHPNomad\Gettext\Strategies\TranslationStrategy, which implementsPHPNomad\Translations\Interfaces\TranslationStrategyusingdgettextanddngettext.- Locale application from an injected
HasLanguageprovider, applied withsetlocale(LC_MESSAGES, ...)on every call. - Context disambiguation via the gettext
msgctxtconvention (EOT separator\x04), with fallback to the untranslated source (or the appropriate singular/plural form) when no translation is registered for that context.
Requirements
- PHP 8.0+
ext-gettextPHP extensionphpnomad/translate ^2.0- A
HasTextDomainprovider and aHasLanguageprovider bound in your container (both interfaces ship withphpnomad/translate)
Usage
Bind the TranslationStrategy interface from phpnomad/translate to the gettext implementation inside your bootstrapper. The strategy is then resolved wherever the interface is injected.
<?php use PHPNomad\Gettext\Strategies\TranslationStrategy as GettextTranslationStrategy; use PHPNomad\Translations\Interfaces\TranslationStrategy; $container->bind(TranslationStrategy::class, GettextTranslationStrategy::class);
Catalog files, domain binding, and locale setup are handled by the gettext extension itself. See the PHP manual for bindtextdomain, .mo file layout, and platform-specific notes on locale availability.
Documentation
The PHPNomad bootstrapping guide lives at phpnomad.com. For gettext catalog setup, see the PHP manual entry for gettext.
License
MIT. See LICENSE.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-31