{{-- Робота зі словами тексту: слово натискається просто в тексті, переклад вводиться в панелі поруч --}} @props([ 'text', 'text_id', 'languages', 'translationSources', 'language_from', 'language_to' => null, 'showTranslationButton' => true, ]) @php $sourceLanguage = $languages->firstWhere('id', (int) $language_from); $textDir = $sourceLanguage?->direction() ?? 'ltr'; $user = auth()->user(); $ownTranslation = $showTranslationButton ? $text->translations()->where('user_id', $user->id)->first() : null; $parserConfig = [ 'textId' => (int) $text_id, 'languageFrom' => (int) $language_from, 'languageTo' => $language_to ? (int) $language_to : null, 'languageIds' => $languages->pluck('id')->map(fn ($id) => (int) $id)->values(), 'translationLanguageLabels' => $languages->mapWithKeys(function ($language) { $key = 'app.language.translation_in.'.$language->name; return [(string) $language->id => \Illuminate\Support\Facades\Lang::has($key) ? __($key) : ($language->native_name ?: $language->name)]; }), 'sources' => $translationSources ->where('language_from_id', (int) $language_from) ->map(fn ($source) => ['id' => (string) $source->id, 'name' => $source->name]) ->values(), 'urls' => [ 'parse' => route('texts.parse'), 'words' => route('words.store'), 'wordTranslations' => route('word-translation.store'), 'sources' => route('translation-sources.store'), ], ]; @endphp
{{-- Усе в один рядок: пробіли між тегами стали б зайвими пробілами в тексті --}}