@extends("admin.layouts.app") @section("title", __("admin.config.languages.title")) @section("content") {{-- AI TRANSLATION - first on the page: the key and model every language's "Translate with AI" uses. Posts to the general-settings handler, which keeps the stored key when the field is left empty. --}} @php $aiKeySaved = trim((string) \App\Models\Setting::get('OpenAIApiKey', '')) !== ''; $currentModel = trim((string) \App\Models\Setting::get('OpenAIModel', '')) ?: \App\Services\AiTranslationService::DEFAULT_MODEL; $models = \App\Services\AiTranslationService::MODELS; if (! in_array($currentModel, $models, true)) { $models[] = $currentModel; } @endphp
{{ __('admin.config.languages.ai_settings') }} @if($aiKeySaved) {{ __('admin.config.languages.ai_key_saved') }} @else {{ __('admin.config.languages.ai_key_missing') }} @endif
@csrf
{{-- The stored key is never echoed back: blank means keep. --}}

{{ __('admin.config.languages.ai_settings_hint') }}

{{-- Tab navigation --}}
{{-- LANGUAGES TAB --}}
@foreach($languages as $lang) @endforeach
{{ __('admin.config.languages.flag') }} {{ __('common.table.code') }} {{ __('common.table.name') }} {{ __('admin.config.languages.native_name') }} {{ __('admin.config.languages.direction') }} {{ __('common.table.status') }} {{ __('admin.config.languages.progress') }} {{ __('common.table.actions') }}
@if($lang->flag_code) {{ $lang->code }} @else - @endif {{ $lang->code }} {{ $lang->name }} {{ $lang->native_name }} {{ strtoupper($lang->direction) }}
@csrf
@if($lang->is_default) {{ __('common.status.default') }} @endif
{{ $lang->translation_progress }}%
@if($lang->code !== 'en') {{ __('admin.config.languages.translate') }} @else {{ __('admin.config.languages.view_keys') }} @endif
{{ __('admin.config.languages.total_keys', ['count' => $totalKeys, 'active' => $languages->where('is_active', true)->count()]) }}
{{-- SETTINGS TAB --}} @endsection