1. Go to this page and download the library: Download bckp/translator-core library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bckp / translator-core example snippets
$catalogue = new Catalogue(new PluralProvider(), './path/to/cache', 'cs');
$catalogue->addFile('./path/to/locales/errors.cs.neon');
$catalogue->addFile('./path/to/locales/messages.cs.neon');
// Enable debug mode, disabled by default
$catalogue->setDebugMode(true);
$compiledCatalogue = $catalogue->compile();
$translator = new Translator($compiledCatalogue);
$translator->translate('errors.error.notFound'); // Will output "Soubor nenalezen"
$translator->translate(['messages.plural', 4]); // Will output "4 lidé"
$translator->translate('messages.withArgs', 'Honza', 'poledne'); // Will output "Ahoj, já jsem Honza, přeji krásné poledne"
$translator->translate('messages.withArgsRev', 'Honza', 'poledne'); // Will output "Krásné poledne, já jsem Honza"
$catalogue = new Catalogue(new PluralProvider(), './path/to/cache', 'cs');
$catalogue->addDynamic('errors', function(array &$messages, string $resource, string $locale){
$messages['common'] = 'Common error translation';
$messages['critical'] = $this->database->fetchAll('translations')->where('resource = ? and locale = ?', $resource, $locale);
});
$catalogue->addFile('./path/to/locales/messages.cs.neon');
// if you add new file errors.cs.neon, it will be overwritten by dynamic, as they is processed later
// Enable debug mode, disabled by default
$catalogue->setDebugMode(true);
// You can even add events for onCheck
// $timestamp contains timestamp of last file generation
// but remember, this will called only on debug mode!
$catalogue->addCheckCallback(function(int $timestamp){
if ($timestamp < $this->database->fetchSingle('select last_update from settings where caption = ?', 'translations')){
throw new BuilderException('rebuild
$catalogue = new Catalogue(new PluralProvider(), './path/to/cache', 'cs');
$catalogue->addFile('./path/to/locales/errors.cs.neon');
$catalogue->addFile('./path/to/locales/messages.cs.neon');
$provider = new TranslatorProvider(['cs','en']);
$provider->addCatalogue('cs', $catalogue);
$translator = $provider->getTranslator('cs');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.