panda / l10n
The Panda Localization Package.
Requires
- php: ^7.0
- panda/helpers: ^2.0
- symfony/http-foundation: ^3.0
Requires (Dev)
- phpunit/phpunit: ~5.7
This package is not auto-updated.
Last update: 2024-11-01 22:23:04 UTC
README
This is the localization package of the Panda Platform. It provides a simple translation structure and process for your code.
Installation
This package is part of the Panda Framework but it's also available as a single package.
Through the composer
Add the following line to your composer.json
file:
"panda/l10n": "^2.0"
Usage
The Translation class works using a given FileProcessor
for the translation files. It uses the FileProcessor
as a getter to get translations.
Each Processor can have its own implementation of handling files based on locale and packages.
Translator
The Translator interface can be used across the entire application. You have to define the application's FileProcessor
first and then you can load your translations freely.
Example:
use Panda\Localization\Translation\JsonProcessor; use Panda\Localization\Translator; // Initialize the desired processor $processor = new JsonProcessor('your_base_directory_for_translations'); // Initialize the Translator $translator = new Translator($processor); // Get a desired translation $translation = $translator->translate('translation-key', 'package-name', 'en_US', 'default-translation-value-if-empty');
JsonProcessor
When using the JsonProcessor
, the translation files should be in the given structure:
BASE_DIRECTORY/{locale}/{package}.json
If no package name is given (or an empty package name), the 'default' package will be used (default.json
).