Capítulo 85 de 108
Configura RTL em um projeto Vite: flag do CLI, atributos no index.html, DirectionProvider no main.tsx, e fonte via Fontsource (não next/font, já que não há SSR do Next).
npx shadcn@latest create --template vite --rtl: cria projeto com rtl: true em components.json.index.html: dir="rtl"/lang="ar" vão direto na tag <html> estática do arquivo, diferente do Next (que gera via JSX).@fontsource-variable/noto-sans-arabic instala a fonte localmente (sem depender do Google Fonts CDN em runtime).<html lang="ar" dir="rtl">
import { DirectionProvider } from "@/components/ui/direction"
createRoot(document.getElementById("root")!).render(
<StrictMode>
<DirectionProvider direction="rtl">
<App />
</DirectionProvider>
</StrictMode>
)
DirectionProvider envolvendo o app inteiro no entry point do Vite.@import "tailwindcss";
@import "tw-animate-css";
@import "shadcn/tailwind.css";
@import "@fontsource-variable/noto-sans-arabic";
@theme inline {
--font-sans: "Noto Sans Arabic Variable", sans-serif;
}
--font-sans via @theme inline do Tailwind v4.npm install @fontsource-variable/noto-sans-arabic é o pacote a instalar (troque por @fontsource-variable/noto-sans-hebrew para hebraico).npx shadcn@latest add <component> já aplica as transformações RTL automaticamente.dir/lang no index.html já são finais.