Zephora UI

بومی‌سازی

هر رشته متنی داخلی رابط کاربری (دکمه‌های بستن، برچسب‌های صفحه‌بندی، اعلان‌های مرتب‌سازی، پرامپت‌های آپلود…) از طریق رجیستری locale resolve می‌شود. فقط en در باندل جاسازی شده است — هر زبان دیگر از بیرون (ماژول قابل import یا فایل JSON) بارگذاری و با addLocale ثبت می‌شود. همان رجیستری هم @zephora/react و هم @zephora/native را به کار می‌اندازد. en, tr.

بارگذاری یک locale

// 1) As a module (tree-shaken, typed):
import { addLocale } from "@zephora/react";
import { trLocale } from "@zephora/theme/locales/tr";
addLocale("tr", trLocale);

// 2) As JSON over the network (e.g. from your CDN):
const messages = await fetch("/locales/tr.json").then((r) => r.json());
addLocale("tr", messages);
// JSON dosyası pakette hazır: @zephora/theme/locales/tr.json

دموی زنده

locale را عوض کنید — برچسب‌های صفحه‌بندی و دکمه‌های dialog بی‌درنگ به‌روزرسانی می‌شوند.

انتخاب یک locale

// Web
<ZephoraConfigProvider locale="tr">...</ZephoraConfigProvider>

// React Native
<ZephoraProvider theme={lightTheme} locale="tr">...</ZephoraProvider>

ثبت یک locale سفارشی

addLocale پیام‌های شما را روی انگلیسی ادغام می‌کند، بنابراین تعریف‌های جزئی امن هستند. updateLocale یک مورد موجود را وصله می‌کند.

import { addLocale, updateLocale } from "@zephora/react";

addLocale("de", {
  intlLocale: "de",
  firstDayOfWeek: 1,
  close: "Schließen",
  cancel: "Abbrechen",
  confirm: "Bestätigen",
  loading: "Wird geladen…",
  pageOf: "Seite {page} von {count}",
});

updateLocale("de", { clear: "Leeren" });

خواندن رشته‌های متنی در کامپوننت‌های خودتان

import { useLocale, localeOption } from "@zephora/react";

function SaveBar() {
  const { t } = useLocale();
  return <Button>{t("apply")}</Button>;
}

// Outside React:
localeOption("cancel", "tr"); // "İptal"

locale‌های موجود

با 48 ترجمه آماده عرضه می‌شود. هر کدام یک ماژول مستقل است — فقط چیزی را که نیاز دارید import کنید (یا .json متناظر را fetch کنید).

کدزبانمسیر import
arالعربية (Arabic)@zephora/theme/locales/ar
azAzərbaycanca (Azerbaijani)@zephora/theme/locales/az
bgБългарски (Bulgarian)@zephora/theme/locales/bg
bnবাংলা (Bengali)@zephora/theme/locales/bn
caCatalà (Catalan)@zephora/theme/locales/ca
csČeština (Czech)@zephora/theme/locales/cs
daDansk (Danish)@zephora/theme/locales/da
deDeutsch (German)@zephora/theme/locales/de
elΕλληνικά (Greek)@zephora/theme/locales/el
esEspañol (Spanish)@zephora/theme/locales/es
etEesti (Estonian)@zephora/theme/locales/et
faفارسی (Persian)@zephora/theme/locales/fa
fiSuomi (Finnish)@zephora/theme/locales/fi
frFrançais (French)@zephora/theme/locales/fr
heעברית (Hebrew)@zephora/theme/locales/he
hiहिन्दी (Hindi)@zephora/theme/locales/hi
hrHrvatski (Croatian)@zephora/theme/locales/hr
huMagyar (Hungarian)@zephora/theme/locales/hu
hyՀայերեն (Armenian)@zephora/theme/locales/hy
idBahasa Indonesia (Indonesian)@zephora/theme/locales/id
isÍslenska (Icelandic)@zephora/theme/locales/is
itItaliano (Italian)@zephora/theme/locales/it
ja日本語 (Japanese)@zephora/theme/locales/ja
kaქართული (Georgian)@zephora/theme/locales/ka
kkҚазақша (Kazakh)@zephora/theme/locales/kk
ko한국어 (Korean)@zephora/theme/locales/ko
ltLietuvių (Lithuanian)@zephora/theme/locales/lt
lvLatviešu (Latvian)@zephora/theme/locales/lv
msBahasa Melayu (Malay)@zephora/theme/locales/ms
nlNederlands (Dutch)@zephora/theme/locales/nl
noNorsk bokmål (Norwegian)@zephora/theme/locales/no
plPolski (Polish)@zephora/theme/locales/pl
ptPortuguês (Portuguese)@zephora/theme/locales/pt
pt-brPortuguês do Brasil (Brazilian Portuguese)@zephora/theme/locales/pt-br
roRomână (Romanian)@zephora/theme/locales/ro
ruРусский (Russian)@zephora/theme/locales/ru
skSlovenčina (Slovak)@zephora/theme/locales/sk
slSlovenščina (Slovenian)@zephora/theme/locales/sl
srSrpski (Serbian)@zephora/theme/locales/sr
svSvenska (Swedish)@zephora/theme/locales/sv
swKiswahili (Swahili)@zephora/theme/locales/sw
taதமிழ் (Tamil)@zephora/theme/locales/ta
thไทย (Thai)@zephora/theme/locales/th
trTürkçe (Turkish)@zephora/theme/locales/tr
ukУкраїнська (Ukrainian)@zephora/theme/locales/uk
viTiếng Việt (Vietnamese)@zephora/theme/locales/vi
zh-cn简体中文 (Simplified Chinese)@zephora/theme/locales/zh-cn
zh-tw繁體中文 (Traditional Chinese)@zephora/theme/locales/zh-tw

مرجع پیام‌ها

مجموعه کامل کلیدها روی نوع ZephoraLocale قرار دارد — اکشن‌ها (close، cancel، confirm، clear…)، وضعیت‌های داده (loading، noData، emptyMessage)، رشته‌های فرم (showPassword، browseFiles، removeFile)، ناوبری (pageOf، nextPage، breadcrumb)، نمایش داده (sortAscending، selectAllRows، goToSlide) و تاریخ‌ها (prevMonth، chooseDate، firstDayOfWeek، intlLocale). Placeholder‌ها از سینتکس {param} استفاده می‌کنند که با t(key, params) درج می‌شود.