first commit

This commit is contained in:
Sampanna Rimal
2024-08-27 17:48:06 +05:45
commit 53c0140f58
10839 changed files with 1125847 additions and 0 deletions

View File

@ -0,0 +1,55 @@
<?php
/*
* This file is part of the PHPFlasher package.
* (c) Younes KHOUBZA <younes.khoubza@gmail.com>
*/
namespace Flasher\Laravel\Translation;
use Flasher\Prime\Stamp\TranslationStamp;
use Flasher\Prime\Translation\TranslatorInterface;
use Illuminate\Translation\Translator as LaravelTranslator;
final class Translator implements TranslatorInterface
{
/**
* @var LaravelTranslator
*/
private $translator;
public function __construct(LaravelTranslator $translator)
{
$this->translator = $translator;
}
/**
* {@inheritdoc}
*/
public function translate($id, $parameters = array(), $locale = null)
{
$order = TranslationStamp::parametersOrder($parameters, $locale);
$parameters = $order['parameters'];
$locale = $order['locale'];
$translation = $this->translator->has('flasher::messages.'.$id, $locale)
? $this->translator->get('flasher::messages.'.$id, $parameters, $locale)
: ($this->translator->has('messages.'.$id, $locale)
? $this->translator->get('messages.'.$id, $parameters, $locale)
: $this->translator->get($id, $parameters, $locale));
if (!\is_string($translation)) {
return $id;
}
return $translation;
}
/**
* {@inheritdoc}
*/
public function getLocale()
{
return $this->translator->getLocale();
}
}