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
672 B
PHP
27 lines
672 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Resources\ProjectResource;
|
|
use App\Models\Project;
|
|
|
|
class ProjectController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$projects = Project::with('skills')->ordered()->get();
|
|
|
|
return ProjectResource::collection($projects)
|
|
->additional(['meta' => ['lang' => app()->getLocale()]]);
|
|
}
|
|
|
|
public function show(string $slug)
|
|
{
|
|
$project = Project::with('skills')->where('slug', $slug)->firstOrFail();
|
|
|
|
return (new ProjectResource($project))
|
|
->additional(['meta' => ['lang' => app()->getLocale()]]);
|
|
}
|
|
}
|