Control for changing the interface language.
Welcome back, Sam
Bienvenido de nuevo, Sam
أهلًا بك مجددًا، Sam
<div class="lsw lsw--en" lang="en" dir="auto">
<span class="lsw__chip" style="background:#F5C2E0;">en</span>
<p class="lsw__greet lsw__greet--en">Welcome back, Sam</p>
<p class="lsw__greet lsw__greet--es">Bienvenido de nuevo, Sam</p>
<p class="lsw__greet lsw__greet--ar">أهلًا بك مجددًا، Sam</p>
</div>
<style>
.lsw { font: 15px/1.6 system-ui, sans-serif; color: #241430; background: #FAF7F2; padding: 20px; border-radius: 12px; width: 300px; box-sizing: border-box; }
.lsw__chip { display: inline-block; font: 700 10px ui-monospace, monospace; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; margin-bottom: 12px; }
.lsw__greet { display: none; margin: 0; font-weight: 600; }
.lsw--en .lsw__greet--en, .lsw--es .lsw__greet--es, .lsw--ar .lsw__greet--ar { display: block; }
</style><div class="lswtw lswtw--en font-sans text-[15px] leading-7 text-[#241430] bg-[#FAF7F2] p-5 rounded-xl w-[300px] box-border" lang="en" dir="auto">
<span class="inline-block font-bold text-[10px] font-mono uppercase py-1 px-2.5 rounded-full mb-3" style="background:#F5C2E0;">en</span>
<p class="lswtw__greet lswtw__greet--en hidden m-0 font-semibold">Welcome back, Sam</p>
<p class="lswtw__greet lswtw__greet--es hidden m-0 font-semibold">Bienvenido de nuevo, Sam</p>
<p class="lswtw__greet lswtw__greet--ar hidden m-0 font-semibold">أهلًا بك مجددًا، Sam</p>
</div>
<style>
.lswtw--en .lswtw__greet--en, .lswtw--es .lswtw__greet--es, .lswtw--ar .lswtw__greet--ar { display: block; }
</style>export function LanguageSwitcher({
language = "en",
showFlag = true,
accent = "#F5C2E0",
userName = "Sam",
}) {
const greetings = {
en: `Welcome back, ${userName}`,
es: `Bienvenido de nuevo, ${userName}`,
ar: `\u0623\u0647\u0644\u0627\u064B \u0628\u0643 \u0645\u062C\u062F\u062F\u0627\u064B\u060C ${userName}`,
};
return (
<div lang={language} dir="auto" style={{ font: "15px/1.6 system-ui, sans-serif", color: "#241430", background: "#FAF7F2", padding: 20, borderRadius: 12, width: 300, boxSizing: "border-box" }}>
{showFlag && <span style={{ display: "inline-block", fontWeight: 700, fontSize: 10, textTransform: "uppercase", padding: "3px 9px", borderRadius: 999, marginBottom: 12, background: accent }}>{language}</span>}
<p style={{ margin: 0, fontWeight: 600 }}>{greetings[language]}</p>
</div>
);
}