
- Création des fichiers de configuration pour ESLint, Prettier, et Tailwind CSS - Ajout de la configuration de l'éditeur avec .editorconfig - Mise en place de la structure de répertoires pour les composants, les pages, et les données - Intégration de la gestion des langues avec vue-i18n - Ajout de la configuration de Vite et des dépendances nécessaires - Création des fichiers de localisation pour l'anglais et le français - Ajout de la structure de base pour le portfolio avec des exemples de projets - Mise en place des composants de base pour l'interface utilisateur
35 lines
864 B
TypeScript
35 lines
864 B
TypeScript
import { useI18n as useVueI18n } from 'vue-i18n'
|
|
import { computed } from 'vue'
|
|
|
|
export function useI18n() {
|
|
const { locale, t, availableLocales } = useVueI18n()
|
|
|
|
const currentLocale = computed(() => locale.value)
|
|
|
|
const isEnglish = computed(() => locale.value === 'en')
|
|
const isFrench = computed(() => locale.value === 'fr')
|
|
|
|
const switchLocale = (newLocale: string) => {
|
|
if (availableLocales.includes(newLocale)) {
|
|
locale.value = newLocale
|
|
localStorage.setItem('locale', newLocale)
|
|
}
|
|
}
|
|
|
|
const toggleLocale = () => {
|
|
const newLocale = locale.value === 'en' ? 'fr' : 'en'
|
|
switchLocale(newLocale)
|
|
}
|
|
|
|
return {
|
|
t,
|
|
locale,
|
|
currentLocale,
|
|
isEnglish,
|
|
isFrench,
|
|
switchLocale,
|
|
toggleLocale,
|
|
availableLocales
|
|
}
|
|
}
|