2023-11-01 15:38:19 +01:00
|
|
|
<script setup lang="ts">
|
|
|
|
const { availableLocales, locale } = useI18n();
|
|
|
|
|
|
|
|
const localesLong: Record<string, string> = {
|
|
|
|
en: 'English',
|
|
|
|
es: 'Español',
|
|
|
|
fr: 'Français',
|
|
|
|
pt: 'Português',
|
|
|
|
ru: 'Русский',
|
2024-01-31 12:00:06 +02:00
|
|
|
uk: 'Українська',
|
2023-11-01 15:38:19 +01:00
|
|
|
zh: '中文',
|
2024-02-01 20:47:09 +07:00
|
|
|
vi: 'Tiếng Việt',
|
2023-11-01 15:38:19 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
const localeOptions = computed(() =>
|
|
|
|
availableLocales.map(locale => ({
|
|
|
|
label: localesLong[locale] ?? locale,
|
|
|
|
value: locale,
|
|
|
|
})),
|
|
|
|
);
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
|
|
<c-select
|
|
|
|
v-model:value="locale"
|
|
|
|
:options="localeOptions"
|
|
|
|
placeholder="Select a language"
|
|
|
|
w-100px
|
|
|
|
/>
|
|
|
|
</template>
|