<script setup lang="ts"> import type { ElkTranslationStatus } from '~/types/translation-status' const { t, locale } = useI18n() const translationStatus: ElkTranslationStatus = await import('~/elk-translation-status.json').then(m => m.default) useHydratedHead({ title: () => `${t('settings.language.label')} | ${t('nav.settings')}`, }) const status = computed(() => { const entry = translationStatus.locales[locale.value] return t('settings.language.status', [entry.total, translationStatus.total, entry.percentage]) }) </script> <template> <MainContent back-on-small-screen> <template #title> <div text-lg font-bold flex items-center gap-2 @click="$scrollToTop"> <span>{{ $t('settings.language.label') }}</span> </div> </template> <div p6> <div space-y-2> <h2 py2 font-bold text-xl flex="~ gap-1" items-center> {{ $t('settings.language.display_language') }} </h2> <div>{{ status }}</div> <SettingsLanguage select-settings /> </div> <div mt4> <h2 font-bold text-xl flex="~ gap-1" items-center> {{ $t('settings.language.post_language') }} </h2> <SettingsItem v-if="currentUser" command large icon="i-ri:quill-pen-line" :text="$t('settings.language.post_language')" :description="$t('settings.account_settings.description')" :to="`https://${currentUser!.server}/settings/preferences/other`" external target="_blank" /> </div> <h2 py4 mt2 font-bold text-xl flex="~ gap-1" items-center> {{ $t('settings.language.translations.heading') }} </h2> <SettingsTranslations /> </div> </MainContent> </template>