chore(initial): ajout de la structure de base du projet avec Vite et Vue 3
- 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
This commit is contained in:
34
src/composables/useI18n.ts
Normal file
34
src/composables/useI18n.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
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
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user