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àTipoDescrizione
localeComputedRef<SupportedLocale>Lingua corrente attiva
isLoadingComputedRef<boolean>True mentre le traduzioni vengono caricate
t(key: string, params?: InterpolationParams) => stringFunzione di traduzione con interpolazione
setLocale(locale: SupportedLocale) => Promise<void>Cambia la lingua corrente
translationsComputedRef<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().t o il composable i18n della propria app.
  • Esegue un cast as unknown as UseComponentI18nReturn necessario per compatibilita con il vincolo TranslationDictionary di @pzeta/vue-i18n, che non accetta number o string[]. Il cast e sicuro perche l'accesso alle chiavi avviene tramite stringhe tipizzate.
  • ComponentLocale contiene valori di tipo string, number e string[] (es. nomi giorni calendario).