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>
27 lines
852 B
PHP
27 lines
852 B
PHP
<?php
|
|
|
|
namespace App\Http\Resources;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
|
|
class ProjectResource extends JsonResource
|
|
{
|
|
public function toArray(Request $request): array
|
|
{
|
|
return [
|
|
'id' => $this->id,
|
|
'slug' => $this->slug,
|
|
'title' => $this->getTranslated('title_key'),
|
|
'description' => $this->getTranslated('description_key'),
|
|
'short_description' => $this->getTranslated('short_description_key'),
|
|
'image' => $this->image,
|
|
'url' => $this->url,
|
|
'github_url' => $this->github_url,
|
|
'date_completed' => $this->date_completed?->format('Y-m-d'),
|
|
'is_featured' => $this->is_featured,
|
|
'skills' => SkillResource::collection($this->whenLoaded('skills')),
|
|
];
|
|
}
|
|
}
|