Use o utilitário extendLocale para personalizar um locale existente sobrescrevendo propriedades ou mensagens específicas.
<script setup lang="ts">
import { en } from '@nitro/ui/locale'
const locale = extendLocale(en, {
code: 'en-AU',
messages: {
commandPalette: {
placeholder: 'Search a component...'
}
}
})
</script>
<template>
<NApp :locale="locale">
<NuxtPage />
</NApp>
</template>
Isso é útil quando você quer:
en-AU from en)extendLocale<M>(locale: Locale<M>, options: Partial<DefineLocaleOptions<DeepPartial<M>>>): Locale<M>
Estende um locale existente com as opções fornecidas, mesclando as mensagens em profundidade.
@nitro/ui/locale.'en-GB', 'fr-CA').Returns: A new Locale<M> object with the merged properties.
Aqui está um exemplo estendendo o locale em inglês para uma variante australiana:
<script setup lang="ts">
import { en } from '@nitro/ui/locale'
const locale = extendLocale(en, {
name: 'English (Australia)',
code: 'en-AU',
messages: {
colorMode: {
dark: 'Dark',
light: 'Light',
system: 'System'
},
selectMenu: {
search: 'Search…',
noData: 'No results found',
noMatch: 'No matching results'
}
}
})
</script>
<template>
<NApp :locale="locale">
<NuxtPage />
</NApp>
</template>
extendLocale usa mesclagem profunda, então você só precisa especificar as mensagens que quer sobrescrever. Todas as outras mensagens serão herdadas do locale base.