Download the PHP package codecollab/i18n without Composer
On this page you can find all versions of the php package codecollab/i18n. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download codecollab/i18n
More information about codecollab/i18n
Files in codecollab/i18n
Package i18n
Short Description Internationalization package of the CodeCollab project
License See the LICENSE file
Homepage https://github.com/CodeCollab/I18n
Informations about the package i18n
I18n
Internationalization package of the CodeCollab project
Requirements
PHP7+
Installation
Include the library in your project using composer:
{
"require-dev": {
"codecollab/i18n": "^1"
}
}
Usage
This library uses simple php files containing an array of translations based on key/value pairs. The array should be named $texts
.
The filename of the translations should be based on the language it targets, e.g. en_US.php
. An simple example of translations in a file:
<?php
$texts = [
'translation.title' => 'Translation',
'translation.description' => 'This is an example translation.',
'translation.variable.%' => 'Copyright %d Some Company',
];
To use translations in your application first create an instance of the translation class by passing the directory in which the translation files are and the language to translate to:
<?php
$translator = new \CodeCollab\I18n\FileTranslator('/path/to/translations', 'en_US');
echo $translator->translate('translation.title'); // Translation
echo $translator->translate('translation.variable.%', [2015]); // Copyright 2015 Some Company
Exceptions
When a translation file could not be found a \CodeCollab\I18n\UnsupportedLanguageException
will be thrown.
When loading a translation file it will be checked to ensure it has the correct format. if the file is not a valid translation file a \CodeCollab\I18n\InvalidFileException
will be thrown.
Interface
When using translators in your application always hint against the \CodeCollab\I18n\Translator
interface instead of the concrete implementation. This allows you to use different translation implementations later without having to change you classes.
Contributing
License
Security issues
If you found a security issue please contact directly by mail instead of using the issue tracker at [email protected]