# Vue: msg
URL: https://generaltranslation.com/it/docs/vue/reference/functions/msg.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Registra stringhe statiche a livello di modulo per risolverle in seguito. Riferimento API di msg.

`msg` contrassegna le stringhe sorgente per l&#39;estrazione senza leggere lo stato dell&#39;impostazione regionale né tradurle. Risolvi i valori registrati all&#39;interno di un componente con [`useMessages()`](/docs/vue/reference/composables/use-messages).

## Panoramica [#overview]

```ts
function msg<T extends string | readonly string[]>(message: T): T;
function msg<T extends string | readonly string[]>(
  message: T,
  options?: GTStringOptions
): T extends string ? string : string[];
```

Dichiara le stringhe registrate a livello di modulo:

```ts title="src/messages.ts"
import { msg } from 'gt-vue';

export const saved = msg('Your preferences are saved.', {
  $context: 'status message',
});
```

La chiamata può essere usata in sicurezza nei moduli client e server perché non utilizza un plugin né un runtime globale del browser.

## Parametri [#parameters]

| Parametro | Descrizione                                                              | Tipo                                                             | Facoltativo | Predefinito |
| --------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------- | ----------- | ----------- |
| `message` | Stringa sorgente statica o array readonly di stringhe sorgente statiche. | `string \| readonly string[]`                                    | No          | —           |
| `options` | Contesto codificato in ogni stringa sorgente.                            | [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) | Sì          | Nessuno     |

`$context` è l&#39;unica opzione supportata. Ogni chiamata e ogni elemento dell&#39;array devono poter essere rilevati staticamente dalla CLI.

## Come funziona [#how-it-works]

Senza `options`, `msg` restituisce invariata la stringa o l&#39;array originale. L&#39;estrattore registra comunque una chiamata statica e [`useMessages()`](/docs/vue/reference/composables/use-messages) può risolvere la stringa sorgente restituita.

Quando viene fornito un oggetto options, `msg` calcola un semplice hash `STRING` e vi aggiunge metadati opachi contenenti la sorgente e `$context`. [`useMessages()`](/docs/vue/reference/composables/use-messages) decodifica questi metadati, che hanno la precedenza sulle opzioni passate nel punto di risoluzione.

Per un array con opzioni, ogni elemento viene codificato in modo indipendente e viene restituito un nuovo `string[]`. `msg` non esegue ricerche nel catalogo, interpolazioni o elaborazioni ICU. Le parentesi graffe rimangono testo letterale.

## Valore restituito [#returns]

| Input                 | Tipo restituito       | Comportamento                                                      |
| --------------------- | --------------------- | ------------------------------------------------------------------ |
| Stringa senza opzioni | Tipo di input dedotto | Restituisce la stessa stringa sorgente.                            |
| Array senza opzioni   | Tipo di input dedotto | Restituisce lo stesso array di sola lettura.                       |
| Stringa con opzioni   | `string`              | Restituisce la stringa sorgente con metadati opachi per il lookup. |
| Array con opzioni     | `string[]`            | Restituisce un nuovo array di stringhe codificate.                 |

Non renderizzare direttamente un valore codificato. Passalo alla [`MessagesFunction`](/docs/vue/reference/types/messages-function) restituita da [`useMessages()`](/docs/vue/reference/composables/use-messages).

## Esempi [#examples]

Risolvi un messaggio registrato in un template Vue:

```vue title="src/StatusMessage.vue"
<script setup lang="ts">
import { msg, useMessages } from 'gt-vue';

const saved = msg('Your preferences are saved.', {
  $context: 'status message',
});
const m = useMessages();
</script>

<template>
  <p>{{ m(saved) }}</p>
</template>
```

Registra più messaggi indipendenti insieme:

```ts
const labels = msg(['Save', 'Cancel', 'Delete'] as const);
```

L&#39;interpolazione non viene applicata in nessuno dei due casi. Per i valori runtime all&#39;interno di contenuti avanzati, usa [`<T>`](/docs/vue/reference/components/t) e [`<Var>`](/docs/vue/reference/components/var).

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
