Config
useComponentI18n
Wrapper tipizzato di useI18n per i componenti interni della libreria.
Firma TypeScript
export function useComponentI18n(): UseComponentI18nReturn
export interface UseComponentI18nReturn {
readonly locale: ComputedRef<SupportedLocale>;
readonly isLoading: ComputedRef<boolean>;
t: (key: string, params?: InterpolationParams) => string;
setLocale: (locale: SupportedLocale) => Promise<void>;
readonly translations: ComputedRef<ComponentLocale>;
}
Parametri
Nessun parametro.
Valore di Ritorno
| Proprietà | Tipo | Descrizione |
|---|---|---|
locale | ComputedRef<SupportedLocale> | Lingua corrente attiva |
isLoading | ComputedRef<boolean> | True mentre le traduzioni vengono caricate |
t | (key: string, params?: InterpolationParams) => string | Funzione di traduzione con interpolazione |
setLocale | (locale: SupportedLocale) => Promise<void> | Cambia la lingua corrente |
translations | ComputedRef<ComponentLocale> | Oggetto traduzioni completo per la locale attiva |
Esempio
import { useComponentI18n } from '@pzeta/vue-components'
const { t, translations } = useComponentI18n()
// Traduzione semplice
const label = t('form.selectPlaceholder')
// Accesso diretto a strutture complesse (array, numeri)
const dayNames = translations.value.calendar.dayNames
const firstDayOfWeek = translations.value.calendar.firstDayOfWeek
Prerequisiti
Richiede @pzeta/vue-i18n configurato nell'applicazione con le traduzioni della libreria.
Note
- Questo composable e usato internamente dai componenti della libreria. Per uso applicativo preferire
useConfig().to il composable i18n della propria app. - Esegue un cast
as unknown as UseComponentI18nReturnnecessario per compatibilita con il vincoloTranslationDictionarydi@pzeta/vue-i18n, che non accettanumberostring[]. Il cast e sicuro perche l'accesso alle chiavi avviene tramite stringhe tipizzate. ComponentLocalecontiene valori di tipostring,numberestring[](es. nomi giorni calendario).