Passa al contenuto principale

Mostrare il testo nella lingua della cornice

Chi installa il tuo widget può scegliere una lingua per la propria cornice nelle Impostazioni della cornice. Le date e i numeri del tuo widget vengono scritti in quella lingua senza che tu debba fare nulla. L’hook usePreferredLanguage dice al tuo widget qual è la lingua, così può mostrare in quella lingua anche le sue parole.

import { usePreferredLanguage } from "~lib/use-preferred-language";

export const Widget = () => {
const language = usePreferredLanguage();

return <div>{language}</div>;
};

language è uno tra "en", "fr", "de", "it", "es" e "ja". Una cornice lasciata su Automatica e l’anteprima dello Studio dei widget ti danno "en".

Date e numeri​

Per le date e i numeri non devi fare nulla. Non indicare la lingua in toLocaleDateString, toLocaleString o in un qualsiasi formattatore Intl, e il testo verrà scritto nella lingua della cornice. Quando passi delle opzioni, metti undefined al posto della lingua:

import { useScheduledDate } from "~lib/use-scheduled-date";

export const Widget = () => {
const scheduledDate = useScheduledDate();

return (
<div>
{scheduledDate.toLocaleDateString(undefined, {
weekday: "long",
day: "numeric",
month: "long",
})}
</div>
);
};

Indica una lingua, come "en-GB", solo quando vuoi proprio quella su tutte le cornici.

Le tue parole​

Prepara una traduzione di ogni testo che il tuo widget mostra e, per le lingue che non hai tradotto, ripiega sull’inglese:

import { usePreferredLanguage } from "~lib/use-preferred-language";

const GREETINGS: Record<string, string> = {
en: "Good morning",
fr: "Bonjour",
ja: "おはようございます",
};

export const Widget = () => {
const language = usePreferredLanguage();

return <h1>{GREETINGS[language] ?? GREETINGS.en}</h1>;
};