Download the PHP package h4d/i18n without Composer

On this page you can find all versions of the php package h4d/i18n. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package i18n

¿Qué es esto?

Es un biblioteca básica para la traducción de cadenas y/o cualquier otra cosa relacionada con la internacionalización y las "locales" del sistema.

Instalación vía composer:

Esta biblioteca puede instalarse vía composer ejecutando:

$ composer require h4d/i18n

NOTA: Para el correcto functionamiento de la bibioteca deben estar instaladas en el sistemas las bibliotecas gettext y los correspondientes paquetes de locales (para cada uno de los idiomas a los que se quiera dar soporte). Por ejemplo, en el caso de la Ubuntu habría que:

  1. Instalar gettext:

    apt-get install gettext
  2. Instalar los packs de idiomas que necesitemos, por ejemplo para el español:

    apt-get install language-pack-es

Ejemplos del uso del traductor:

Traductor tirando de fichero csv

Ejemplo básico de un traductor tirando de ficheros CSV localizados en el directorio ./data. Los nombres de los ficheros deben coincidir con el del idioma. En el caso del ejemplo debe existir un fichero llamado _esES.csv en el directorio ./data.

use H4D\I18n\Translator;
use H4D\I18n\Translator\Adapters\CsvAdapter;

try
{
    // New CSV adaptor instance (CSV file: ./data/es_ES.csv)
    $adapter = new CsvAdapter('es_ES', [CsvAdapter::OPTION_TRANSLATIONS_DIRECTORY=>__DIR__.'/data']);

    // New translator instace
    $translator = new Translator($adapter);

    // Translate a simple string
    $translated = $translator->translate('Simple string.');
    printf('Translated string: %s' . PHP_EOL, $translated);

    // Translate a string with vars
    $translated = $translator->translate('Hello %s!', 'Pakito');
    printf('Translated string: %s' . PHP_EOL, $translated);

}
catch (\Exception $e)
{
    printf('EXCEPTION!!: %s'.PHP_EOL, $e->getMessage());
}

Para "capturar" en un fichero las cadenas que no tienen traducción disponible se pueden emplear las siguientes opciones (segundo parámetro del constructor de los adaptadores):

Traductor tirando de gettext

Ejemplo básico de un traductor tirando de ficheros gettext (.mo) localizados en el directorio ./data.

Por requerimientos de gettext, dentro del directorio indicado debe existir una estructura de directorios como la siguiente:

.
├── en_GB
│   └── LC_MESSAGES
│       ├── test.mo
│       └── test.po
└── es_ES
    └── LC_MESSAGES
        ├── test.mo
        └── test.po

Los directorios de idiomas deben seguir el formato _llcc donde ll es un código ISO-639 de dos letras que representa el idioma y cc es un código ISO-3166 de dos letras que representa el país. Los ficheros .po y .mo pueden tener cualquier nombre que queramos.

use H4D\I18n\Translator;
use H4D\I18n\Translator\Adapters\GettextAdapter;

try
{
    // New Gettext adaptor instance (use .mo file located in ./data/es_ES/LC_MESSAGES directory with name "test")
    $adapter = new GettextAdapter('es_ES.UTF-8',
                                  [GettextAdapter::OPTION_TRANSLATIONS_DIRECTORY => __DIR__ . '/data',
                                   GettextAdapter::OPTION_TRANSLATIONS_DOMAIN => 'test']);

    // New translator instace
    $translator = new Translator($adapter);

    // Translate a simple string
    $translated = $translator->translate('Simple string.');
    printf('Translated string: %s' . PHP_EOL, $translated);

    // Translate a string with vars
    $translated = $translator->translate('Hello %s!', 'Pakito');
    printf('Translated string: %s' . PHP_EOL, $translated);

}
catch (\Exception $e)
{
    printf('EXCEPTION!!: %s'.PHP_EOL, $e->getMessage());
}

Al igual que con el adaptador de ficheros CSV se podrían capturar las cadenas sin traducción empleando las opciones __OPTION_LOG_UNTRANSLATED_STRING y OPTION_UNTRANSLATED_STRING_LOG_FILE__.

$adapter = new GettextAdapter('es_ES.UTF-8',
                              [GettextAdapter::OPTION_TRANSLATIONS_DIRECTORY => __DIR__ . '/data',
                               GettextAdapter::OPTION_TRANSLATIONS_DOMAIN => 'test',
                               GettextAdapter::OPTION_LOG_UNTRANSLATED_STRING => true,
                               GettextAdapter::OPTION_UNTRANSLATED_STRING_LOG_FILE => __DIR__
                                                                                      . '/unstranslated.txt']);

All versions of i18n with dependencies

PHP Build Version
Package Version
Requires php Version >=5.5.9
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package h4d/i18n contains the following files

Loading the files please wait ....