🌐 Add full i18n system frontend + API (Story 1.3)

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>
This commit is contained in:
2026-02-05 18:17:44 +01:00
parent bba6128236
commit 262242c7df
20 changed files with 472 additions and 77 deletions

View File

@@ -0,0 +1,26 @@
<?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')),
];
}
}