2017 © Pedro Peláez
 

library i18n

Outsourced i18n stuff

image

germania-kg/i18n

Outsourced i18n stuff

  • Friday, December 8, 2017
  • by germania-kg
  • Repository
  • 2 Watchers
  • 0 Stars
  • 24 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

Germania · i18n

Packagist PHP version Tests, (*1)

Installation with Composer

$ composer require germania-kg/i18n

BC breaks from v1

Class DGettextRenderer: This callable now expects returned messages to enclose placeholders with curly braces., (*2)

Deprecated

These classes have been used in v1, developers are encouraged to not use them any longer., (*3)

  • Germania\i18n\ServiceProvider
  • Germania\i18n\AcceptedLanguageStringFactory

GettextMiddleware

<?php
use Germania\i18n\GettextMiddleware;

$locale = "en_GB";
$domains = ["app", "project"];
$path = "./locales";

$middleware = new GettextMiddleware($locale, $domains, $path);

LanguageNormalizer

<?php
use Germania\i18n\LanguageNormalizer;

$norm = new LanguageNormalizer;
$norm("de-de"); // "de_DE"

Translator

The constructor requires a client and and default language., (*4)

<?php
use Germania\i18n\Translator;

$t = new Translator("de", "en");

echo $t("Just a string, nothing to translate");
// "Just a string, nothing to translate"

$var = array(
  "de" => "Deutsch: Nur eine String-Variable",
  "en" => "English: Just a string variable"
);

echo $t($var);
// "Deutsch: Nur eine String-Variable"

echo $t($var, "en");
// "English: Just a string variable"

DGettextRenderer

Callable wrapper around dgettext for a given domain. Optionally expands at runtime variable placeholders given in second parameter:, (*5)

<?php
use Germania\i18n\DGettextRenderer;

$domain = "app";
$dgr = new DGettextRenderer($domain);

echo $dgr("MsgId");
// "Some translated {placeholder} messages"

echo $dgr("MsgId", [
  "placeholder" => "success"
]);
// "Some translated success messages"

Issues

See full issues list., (*6)

Development

$ git clone https://github.com/GermaniaKG/i18n.git
$ cd i18n
$ composer install

Unit tests

Either copy phpunit.xml.dist to phpunit.xml and adapt to your needs, or leave as is. Run PhpUnit test or composer scripts like this:, (*7)

$ composer test
# or
$ vendor/bin/phpunit

The Versions

08/12 2017

dev-develop

dev-develop

Outsourced i18n stuff

  Sources   Download

MIT

The Requires

 

The Development Requires

by Carsten Witt

08/12 2017

dev-master

9999999-dev

Outsourced i18n stuff

  Sources   Download

MIT

The Requires

 

The Development Requires

by Carsten Witt

08/12 2017
08/12 2017
08/12 2017
30/11 2017