Nuxt i18n with lazy-loaded JSON files, localized routes, hreflang SEO tags, LanguageSwitcher component. Laravel SetLocale middleware, HasTranslations trait, API Resources and Controllers for projects/skills with Accept-Language support. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
21 lines
399 B
PHP
21 lines
399 B
PHP
<?php
|
|
|
|
namespace App\Traits;
|
|
|
|
use App\Models\Translation;
|
|
|
|
trait HasTranslations
|
|
{
|
|
public function getTranslated(string $keyField, ?string $lang = null): ?string
|
|
{
|
|
$lang = $lang ?? request()->attributes->get('locale', 'fr');
|
|
$key = $this->{$keyField};
|
|
|
|
if (!$key) {
|
|
return null;
|
|
}
|
|
|
|
return Translation::getTranslation($key, $lang);
|
|
}
|
|
}
|