Zephora UI

Τοπικοποίηση

Κάθε ενσωματωμένο κείμενο UI (κουμπιά κλεισίματος, ετικέτες σελιδοποίησης, ανακοινώσεις ταξινόμησης, προτροπές μεταφόρτωσης…) επιλύεται μέσω του μητρώου locale. Μόνο το en είναι ενσωματωμένο στο bundle — κάθε άλλη γλώσσα φορτώνεται από έξω (εισαγόμενο module ή αρχείο 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

Ζωντανό demo

Άλλαξε το 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" });

Ανάγνωση κειμένων στα δικά σου components

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

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

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

Διαθέσιμα locales

Έρχεται με 48 έτοιμες μεταφράσεις. Η καθεμία είναι ανεξάρτητο module — εισήγαγε μόνο ό,τι χρειάζεσαι (ή κάνε fetch το αντίστοιχο .json).

ΚωδικόςΓλώσσαΔιαδρομή εισαγωγής
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). Οι placeholders χρησιμοποιούν τη σύνταξη {param} που παρεμβάλλεται από το t(key, params).