@matchain/matchid-sdk-react 0.1.30 → 0.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +552 -56
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +552 -56
- package/dist/index.mjs.map +1 -1
- package/example/src/App.tsx +13 -3
- package/example/src/config/index.ts +3 -0
- package/package.json +2 -1
- package/readme.md +29 -3
package/dist/index.js
CHANGED
|
@@ -841,7 +841,9 @@ var persistedState = (0, import_middleware.persist)(
|
|
|
841
841
|
setTheme: (theme) => set({ theme }),
|
|
842
842
|
setEndpoints: (endpoints) => set({ endpoints }),
|
|
843
843
|
address: "",
|
|
844
|
-
setAddress: (address) => set({ address })
|
|
844
|
+
setAddress: (address) => set({ address }),
|
|
845
|
+
locale: "en",
|
|
846
|
+
setLocale: (locale) => set({ locale })
|
|
845
847
|
}),
|
|
846
848
|
{ name: "match-local" }
|
|
847
849
|
);
|
|
@@ -890,6 +892,19 @@ var getAppid = () => {
|
|
|
890
892
|
return "";
|
|
891
893
|
}
|
|
892
894
|
};
|
|
895
|
+
var getLocale = () => {
|
|
896
|
+
try {
|
|
897
|
+
const store = localStore.getState();
|
|
898
|
+
const locale = store?.locale;
|
|
899
|
+
if (locale) {
|
|
900
|
+
return locale;
|
|
901
|
+
} else {
|
|
902
|
+
return "en";
|
|
903
|
+
}
|
|
904
|
+
} catch (e) {
|
|
905
|
+
return "en";
|
|
906
|
+
}
|
|
907
|
+
};
|
|
893
908
|
var getToken = () => {
|
|
894
909
|
try {
|
|
895
910
|
const store = localStore.getState();
|
|
@@ -938,6 +953,7 @@ var request = async (config) => {
|
|
|
938
953
|
if (token) {
|
|
939
954
|
instance.defaults.headers.common["Authorization"] = token;
|
|
940
955
|
}
|
|
956
|
+
instance.defaults.headers.common["Accept-Language"] = getLocale();
|
|
941
957
|
const { data } = await instance.request(config);
|
|
942
958
|
matchlog_default.log("api", data);
|
|
943
959
|
if (data.code == 401001) {
|
|
@@ -1158,9 +1174,6 @@ function truncateAddress(address) {
|
|
|
1158
1174
|
const end = address.slice(-2);
|
|
1159
1175
|
return `${start}...${end}`;
|
|
1160
1176
|
}
|
|
1161
|
-
function firstUpperCase(str) {
|
|
1162
|
-
return str.toString()[0].toUpperCase() + str.toString().slice(1);
|
|
1163
|
-
}
|
|
1164
1177
|
|
|
1165
1178
|
// src/store/useModalStore.ts
|
|
1166
1179
|
var import_zustand2 = require("zustand");
|
|
@@ -1549,6 +1562,7 @@ function useCopyClipboard(timeout = 500) {
|
|
|
1549
1562
|
}
|
|
1550
1563
|
|
|
1551
1564
|
// src/components/PasswordModal/index.tsx
|
|
1565
|
+
var import_react_intl = require("react-intl");
|
|
1552
1566
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1553
1567
|
function PasswordModal({
|
|
1554
1568
|
title,
|
|
@@ -1562,13 +1576,20 @@ function PasswordModal({
|
|
|
1562
1576
|
const [rePassword, setRePassword] = (0, import_react5.useState)("");
|
|
1563
1577
|
const [error, setError] = (0, import_react5.useState)("");
|
|
1564
1578
|
const { generateWallet } = useWallet();
|
|
1579
|
+
const intl = (0, import_react_intl.useIntl)();
|
|
1565
1580
|
const passwordError = (0, import_react5.useMemo)(() => {
|
|
1566
|
-
if (password.length < 6) return
|
|
1581
|
+
if (password.length < 6) return intl.formatMessage({
|
|
1582
|
+
id: "passwordMinError"
|
|
1583
|
+
}, {
|
|
1584
|
+
length: 6
|
|
1585
|
+
});
|
|
1567
1586
|
return "";
|
|
1568
1587
|
}, [password]);
|
|
1569
1588
|
const rePasswordError = (0, import_react5.useMemo)(() => {
|
|
1570
1589
|
if (rePassword != password) {
|
|
1571
|
-
return
|
|
1590
|
+
return intl.formatMessage({
|
|
1591
|
+
id: "passwordMatchError"
|
|
1592
|
+
});
|
|
1572
1593
|
}
|
|
1573
1594
|
return "";
|
|
1574
1595
|
}, [rePassword, password]);
|
|
@@ -1595,26 +1616,32 @@ function PasswordModal({
|
|
|
1595
1616
|
setIsSubmitting(false);
|
|
1596
1617
|
}
|
|
1597
1618
|
};
|
|
1598
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title ||
|
|
1619
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
1620
|
+
id: "passwordTitle"
|
|
1621
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "matchid-password-box", children: [
|
|
1599
1622
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "matchid-password-header", children: [
|
|
1600
1623
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PasswordRoundIcon, {}) }),
|
|
1601
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "matchid-password-header-content", children:
|
|
1624
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_intl.FormattedMessage, { id: "passwordTips" }) })
|
|
1602
1625
|
] }),
|
|
1603
1626
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "matchid-password-content", children: [
|
|
1604
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label: "
|
|
1627
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1605
1628
|
Input,
|
|
1606
1629
|
{
|
|
1607
|
-
placeholder:
|
|
1630
|
+
placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
|
|
1608
1631
|
maxLength: 32,
|
|
1609
1632
|
type: "password",
|
|
1610
1633
|
onChange: (e) => setPassword(e.target.value),
|
|
1611
1634
|
value: password
|
|
1612
1635
|
}
|
|
1613
1636
|
) }),
|
|
1614
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label:
|
|
1637
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Field, { label: intl.formatMessage({
|
|
1638
|
+
id: "rePassword"
|
|
1639
|
+
}), error: rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1615
1640
|
Input,
|
|
1616
1641
|
{
|
|
1617
|
-
placeholder:
|
|
1642
|
+
placeholder: intl.formatMessage({
|
|
1643
|
+
id: "rePasswordPlaceholder"
|
|
1644
|
+
}),
|
|
1618
1645
|
maxLength: 32,
|
|
1619
1646
|
onChange: (e) => setRePassword(e.target.value),
|
|
1620
1647
|
value: rePassword,
|
|
@@ -1631,7 +1658,7 @@ function PasswordModal({
|
|
|
1631
1658
|
size: "lg",
|
|
1632
1659
|
onClick: onContinue,
|
|
1633
1660
|
loading: isSubmitting,
|
|
1634
|
-
children: "
|
|
1661
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_intl.FormattedMessage, { id: "continue" })
|
|
1635
1662
|
}
|
|
1636
1663
|
)
|
|
1637
1664
|
] }) });
|
|
@@ -1639,6 +1666,7 @@ function PasswordModal({
|
|
|
1639
1666
|
|
|
1640
1667
|
// src/components/RecoveryModal/index.tsx
|
|
1641
1668
|
var import_react6 = require("react");
|
|
1669
|
+
var import_react_intl2 = require("react-intl");
|
|
1642
1670
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
1643
1671
|
function RecoveryModal({
|
|
1644
1672
|
title,
|
|
@@ -1651,8 +1679,13 @@ function RecoveryModal({
|
|
|
1651
1679
|
const [password, setPassword] = (0, import_react6.useState)("");
|
|
1652
1680
|
const { recoveryWallet } = useWallet();
|
|
1653
1681
|
const [error, setError] = (0, import_react6.useState)("");
|
|
1682
|
+
const intl = (0, import_react_intl2.useIntl)();
|
|
1654
1683
|
const passwordError = (0, import_react6.useMemo)(() => {
|
|
1655
|
-
if (password.length < 6) return
|
|
1684
|
+
if (password.length < 6) return intl.formatMessage({
|
|
1685
|
+
id: "passwordMinError"
|
|
1686
|
+
}, {
|
|
1687
|
+
length: 6
|
|
1688
|
+
});
|
|
1656
1689
|
return "";
|
|
1657
1690
|
}, [password]);
|
|
1658
1691
|
(0, import_react6.useEffect)(() => {
|
|
@@ -1675,15 +1708,17 @@ function RecoveryModal({
|
|
|
1675
1708
|
setIsSubmitting(false);
|
|
1676
1709
|
}
|
|
1677
1710
|
};
|
|
1678
|
-
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title ||
|
|
1711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
1712
|
+
id: "recoverTitle"
|
|
1713
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "matchid-password-box", children: [
|
|
1679
1714
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "matchid-password-header", children: [
|
|
1680
1715
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(PasswordRoundIcon, {}) }),
|
|
1681
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-header-content", children:
|
|
1716
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react_intl2.FormattedMessage, { id: "recoverTips" }) })
|
|
1682
1717
|
] }),
|
|
1683
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-content", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Field, { label: "
|
|
1718
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "matchid-password-content", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 ? passwordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
1684
1719
|
Input,
|
|
1685
1720
|
{
|
|
1686
|
-
placeholder:
|
|
1721
|
+
placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
|
|
1687
1722
|
maxLength: 32,
|
|
1688
1723
|
type: "password",
|
|
1689
1724
|
onChange: (e) => setPassword(e.target.value),
|
|
@@ -1699,7 +1734,7 @@ function RecoveryModal({
|
|
|
1699
1734
|
size: "lg",
|
|
1700
1735
|
onClick: onContinue,
|
|
1701
1736
|
loading: isSubmitting,
|
|
1702
|
-
children: "
|
|
1737
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react_intl2.FormattedMessage, { id: "continue" })
|
|
1703
1738
|
}
|
|
1704
1739
|
)
|
|
1705
1740
|
] }) });
|
|
@@ -1732,8 +1767,10 @@ var import_react9 = require("react");
|
|
|
1732
1767
|
|
|
1733
1768
|
// src/components/EmailModal/StepEmail.tsx
|
|
1734
1769
|
var import_react7 = require("react");
|
|
1770
|
+
var import_react_intl3 = require("react-intl");
|
|
1735
1771
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
1736
1772
|
function StepEmail(props) {
|
|
1773
|
+
const intl = (0, import_react_intl3.useIntl)();
|
|
1737
1774
|
const [emailVal, setEmailVal] = (0, import_react7.useState)("");
|
|
1738
1775
|
(0, import_react7.useEffect)(() => {
|
|
1739
1776
|
if (props.email) {
|
|
@@ -1747,17 +1784,21 @@ function StepEmail(props) {
|
|
|
1747
1784
|
props.onContinue(emailVal);
|
|
1748
1785
|
};
|
|
1749
1786
|
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "matchid-email-email-box", children: [
|
|
1750
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field, { label:
|
|
1787
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field, { label: intl.formatMessage({
|
|
1788
|
+
id: "emailAddress"
|
|
1789
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
1751
1790
|
Input,
|
|
1752
1791
|
{
|
|
1753
|
-
placeholder:
|
|
1792
|
+
placeholder: intl.formatMessage({
|
|
1793
|
+
id: "emailAddressPlaceholder"
|
|
1794
|
+
}),
|
|
1754
1795
|
onChange: (e) => setEmailVal(e.target.value),
|
|
1755
1796
|
value: emailVal
|
|
1756
1797
|
}
|
|
1757
1798
|
) }),
|
|
1758
1799
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Button, { disabled: !canContinue, style: {
|
|
1759
1800
|
marginTop: "64px"
|
|
1760
|
-
}, onClick: onContinue, size: "lg", block: true, highlight: true, children: "
|
|
1801
|
+
}, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_intl3.FormattedMessage, { id: "continue" }) })
|
|
1761
1802
|
] });
|
|
1762
1803
|
}
|
|
1763
1804
|
|
|
@@ -1769,15 +1810,19 @@ var EMAIL_INTERVAL = 60;
|
|
|
1769
1810
|
var EMAIL_CODE_LENGTH = 6;
|
|
1770
1811
|
|
|
1771
1812
|
// src/components/EmailModal/StepVerify.tsx
|
|
1813
|
+
var import_react_intl4 = require("react-intl");
|
|
1772
1814
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
1773
1815
|
function StepVerify(props) {
|
|
1816
|
+
const intl = (0, import_react_intl4.useIntl)();
|
|
1774
1817
|
const { getLoginEmailCode, loginByEmail } = useUserInfo();
|
|
1775
1818
|
const [error, setError] = (0, import_react8.useState)("");
|
|
1776
1819
|
const [code, setCode] = (0, import_react8.useState)("");
|
|
1777
1820
|
const [sending, setSending] = (0, import_react8.useState)(false);
|
|
1778
1821
|
const [submitting, setSubmitting] = (0, import_react8.useState)(false);
|
|
1779
1822
|
const sendTimeRef = (0, import_react8.useRef)(0);
|
|
1780
|
-
const [sendBtnText, setSendBtnText] = (0, import_react8.useState)(
|
|
1823
|
+
const [sendBtnText, setSendBtnText] = (0, import_react8.useState)(intl.formatMessage({
|
|
1824
|
+
id: "send"
|
|
1825
|
+
}));
|
|
1781
1826
|
const intervalTime = EMAIL_INTERVAL;
|
|
1782
1827
|
const codeLength = EMAIL_CODE_LENGTH;
|
|
1783
1828
|
const intervalRef = (0, import_react8.useRef)(null);
|
|
@@ -1795,14 +1840,18 @@ function StepVerify(props) {
|
|
|
1795
1840
|
sendTimeRef.current--;
|
|
1796
1841
|
setSendBtnText(`${sendTimeRef.current}s`);
|
|
1797
1842
|
if (sendTimeRef.current <= 0) {
|
|
1798
|
-
setSendBtnText(
|
|
1843
|
+
setSendBtnText(intl.formatMessage({
|
|
1844
|
+
id: "Resend"
|
|
1845
|
+
}));
|
|
1799
1846
|
clearInterval(intervalRef.current);
|
|
1800
1847
|
setSending(false);
|
|
1801
1848
|
}
|
|
1802
1849
|
}, 1e3);
|
|
1803
1850
|
} catch (err) {
|
|
1804
1851
|
console.error("Send email error", err);
|
|
1805
|
-
setError(
|
|
1852
|
+
setError(intl.formatMessage({
|
|
1853
|
+
id: "sendCodeErrorTip"
|
|
1854
|
+
}, { error: err.message }));
|
|
1806
1855
|
setSending(false);
|
|
1807
1856
|
}
|
|
1808
1857
|
};
|
|
@@ -1843,13 +1892,17 @@ function StepVerify(props) {
|
|
|
1843
1892
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(EmailLineIcon, {}) }),
|
|
1844
1893
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
|
|
1845
1894
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
|
|
1846
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-tips", children:
|
|
1895
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react_intl4.FormattedMessage, { id: "sendEmailTips" }) })
|
|
1847
1896
|
] })
|
|
1848
1897
|
] }),
|
|
1849
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Field, { label:
|
|
1898
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Field, { label: intl.formatMessage({
|
|
1899
|
+
id: "verificationCode"
|
|
1900
|
+
}), error, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
1850
1901
|
Input,
|
|
1851
1902
|
{
|
|
1852
|
-
placeholder:
|
|
1903
|
+
placeholder: intl.formatMessage({
|
|
1904
|
+
id: "codePlaceholder"
|
|
1905
|
+
}),
|
|
1853
1906
|
maxLength: codeLength,
|
|
1854
1907
|
onChange: (e) => setCode(e.target.value),
|
|
1855
1908
|
value: code,
|
|
@@ -1872,11 +1925,12 @@ function StepVerify(props) {
|
|
|
1872
1925
|
)
|
|
1873
1926
|
}
|
|
1874
1927
|
) }),
|
|
1875
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: "
|
|
1928
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react_intl4.FormattedMessage, { id: "continue" }) })
|
|
1876
1929
|
] });
|
|
1877
1930
|
}
|
|
1878
1931
|
|
|
1879
1932
|
// src/components/EmailModal/index.tsx
|
|
1933
|
+
var import_react_intl5 = require("react-intl");
|
|
1880
1934
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
1881
1935
|
function EmailModal({
|
|
1882
1936
|
isOpen = false,
|
|
@@ -1887,6 +1941,7 @@ function EmailModal({
|
|
|
1887
1941
|
}) {
|
|
1888
1942
|
const [step, setStep] = (0, import_react9.useState)("input");
|
|
1889
1943
|
const [emailVal, setEmailVal] = (0, import_react9.useState)("");
|
|
1944
|
+
const intl = (0, import_react_intl5.useIntl)();
|
|
1890
1945
|
(0, import_react9.useEffect)(() => {
|
|
1891
1946
|
if (!isOpen) {
|
|
1892
1947
|
setStep("input");
|
|
@@ -1899,7 +1954,9 @@ function EmailModal({
|
|
|
1899
1954
|
isOpen,
|
|
1900
1955
|
width,
|
|
1901
1956
|
onClose,
|
|
1902
|
-
title:
|
|
1957
|
+
title: intl.formatMessage({
|
|
1958
|
+
id: "email"
|
|
1959
|
+
}),
|
|
1903
1960
|
onBack: step == "verify" ? () => setStep("input") : onBack,
|
|
1904
1961
|
children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
|
|
1905
1962
|
setEmailVal(email);
|
|
@@ -1942,6 +1999,7 @@ function Popover({
|
|
|
1942
1999
|
|
|
1943
2000
|
// src/components/LoginBox/index.tsx
|
|
1944
2001
|
var import_react11 = require("react");
|
|
2002
|
+
var import_react_intl6 = require("react-intl");
|
|
1945
2003
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
1946
2004
|
var RecommendItem = ({
|
|
1947
2005
|
icon,
|
|
@@ -1996,16 +2054,17 @@ function LoginBox({
|
|
|
1996
2054
|
const [emailOpen, setEmailOpen] = (0, import_react11.useState)(false);
|
|
1997
2055
|
const { login } = useUserInfo();
|
|
1998
2056
|
const [showWallet, setShowWallet] = (0, import_react11.useState)(false);
|
|
2057
|
+
const intl = (0, import_react_intl6.useIntl)();
|
|
1999
2058
|
const methodMap = {
|
|
2000
2059
|
wallet: {
|
|
2001
2060
|
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(WalletIcon, {}),
|
|
2002
|
-
name: "
|
|
2061
|
+
name: intl.formatMessage({ id: "wallet" }),
|
|
2003
2062
|
onClick: () => setShowWallet(!showWallet),
|
|
2004
2063
|
type: "wallet"
|
|
2005
2064
|
},
|
|
2006
2065
|
email: {
|
|
2007
2066
|
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(EmailIcon, {}),
|
|
2008
|
-
name: "
|
|
2067
|
+
name: intl.formatMessage({ id: "email" }),
|
|
2009
2068
|
onClick: () => {
|
|
2010
2069
|
setEmailOpen(true);
|
|
2011
2070
|
}
|
|
@@ -2115,7 +2174,7 @@ function LoginBox({
|
|
|
2115
2174
|
);
|
|
2116
2175
|
}) }),
|
|
2117
2176
|
methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "matchid-login-other", children: [
|
|
2118
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-login-other-text", children:
|
|
2177
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_intl6.FormattedMessage, { id: "otherLoginMethods" }) }),
|
|
2119
2178
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "matchid-login-method-box", children: methods.map((m) => {
|
|
2120
2179
|
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2121
2180
|
"div",
|
|
@@ -2149,6 +2208,7 @@ function LoginBox({
|
|
|
2149
2208
|
var import_react13 = require("react");
|
|
2150
2209
|
|
|
2151
2210
|
// src/components/LoginPanel/index.tsx
|
|
2211
|
+
var import_react_intl7 = require("react-intl");
|
|
2152
2212
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2153
2213
|
function LoginPanel({
|
|
2154
2214
|
header,
|
|
@@ -2158,8 +2218,8 @@ function LoginPanel({
|
|
|
2158
2218
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-login-panel", children: [
|
|
2159
2219
|
header ? header : /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-login-panel-header", children: [
|
|
2160
2220
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
|
|
2161
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-title", children:
|
|
2162
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-subtilte", children:
|
|
2221
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_intl7.FormattedMessage, { id: "loginTitle" }) }),
|
|
2222
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_intl7.FormattedMessage, { id: "loginTips" }) })
|
|
2163
2223
|
] }),
|
|
2164
2224
|
onClose && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(CloseRoundIcon, {}) })
|
|
2165
2225
|
] }),
|
|
@@ -2215,6 +2275,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
|
2215
2275
|
}
|
|
2216
2276
|
|
|
2217
2277
|
// src/components/UserPopover/index.tsx
|
|
2278
|
+
var import_react_intl8 = require("react-intl");
|
|
2218
2279
|
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2219
2280
|
function UserContent() {
|
|
2220
2281
|
const { logout, address, username } = useUserInfo();
|
|
@@ -2249,6 +2310,7 @@ function UserContent() {
|
|
|
2249
2310
|
};
|
|
2250
2311
|
const [usernameOpen, setUsernameOpen] = (0, import_react12.useState)(false);
|
|
2251
2312
|
const [copied, setCopied] = useCopyClipboard();
|
|
2313
|
+
const intl = (0, import_react_intl8.useIntl)();
|
|
2252
2314
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "matchid-user-popover-content", children: [
|
|
2253
2315
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "matchid-user-popover-list", children: [
|
|
2254
2316
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserItem, { onClick: () => {
|
|
@@ -2257,9 +2319,11 @@ function UserContent() {
|
|
|
2257
2319
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserDivider, {}),
|
|
2258
2320
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserItem, { onClick: () => {
|
|
2259
2321
|
setUsernameOpen(true);
|
|
2260
|
-
}, icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username ||
|
|
2322
|
+
}, icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
|
|
2323
|
+
id: "setUsername"
|
|
2324
|
+
}) })
|
|
2261
2325
|
] }),
|
|
2262
|
-
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { onClick: onLogout, loading: logouting, children: "
|
|
2326
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_intl8.FormattedMessage, { id: "disconnect" }) }),
|
|
2263
2327
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
|
|
2264
2328
|
setUsernameOpen(false);
|
|
2265
2329
|
}, onSuccess: () => {
|
|
@@ -2275,6 +2339,7 @@ function UserPopover({
|
|
|
2275
2339
|
}
|
|
2276
2340
|
|
|
2277
2341
|
// src/components/LoginButton/index.tsx
|
|
2342
|
+
var import_react_intl9 = require("react-intl");
|
|
2278
2343
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2279
2344
|
function LoginButton({
|
|
2280
2345
|
loginRender,
|
|
@@ -2286,6 +2351,7 @@ function LoginButton({
|
|
|
2286
2351
|
popoverGap = 20,
|
|
2287
2352
|
...props
|
|
2288
2353
|
}) {
|
|
2354
|
+
const intl = (0, import_react_intl9.useIntl)();
|
|
2289
2355
|
const { isLogin, username } = useUserInfo();
|
|
2290
2356
|
const [loginOpen, setLoginOpen] = (0, import_react13.useState)(false);
|
|
2291
2357
|
if (!isLogin) {
|
|
@@ -2293,13 +2359,15 @@ function LoginButton({
|
|
|
2293
2359
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(LoginModal, { methods, recommendMethods, isOpen: loginOpen, onClose: () => setLoginOpen(false) }),
|
|
2294
2360
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
|
|
2295
2361
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(UnLoginIcon_default, {}),
|
|
2296
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: "
|
|
2362
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_intl9.FormattedMessage, { id: "login" }) })
|
|
2297
2363
|
] })
|
|
2298
2364
|
] });
|
|
2299
2365
|
}
|
|
2300
2366
|
return loginRender ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx_runtime51.Fragment, { children: loginRender }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
|
|
2301
2367
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(LoginIcon_default, {}),
|
|
2302
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: username ? truncateAddress(username) : "MatchID
|
|
2368
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
|
|
2369
|
+
id: "user"
|
|
2370
|
+
}) })
|
|
2303
2371
|
] }) });
|
|
2304
2372
|
}
|
|
2305
2373
|
|
|
@@ -2328,6 +2396,7 @@ function InfoRoundIcon({
|
|
|
2328
2396
|
}
|
|
2329
2397
|
|
|
2330
2398
|
// src/components/UsernameModal/index.tsx
|
|
2399
|
+
var import_react_intl10 = require("react-intl");
|
|
2331
2400
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
2332
2401
|
var ValidItem = ({
|
|
2333
2402
|
success = false,
|
|
@@ -2381,11 +2450,18 @@ function UsernameModal({
|
|
|
2381
2450
|
setIsSubmitting(false);
|
|
2382
2451
|
}
|
|
2383
2452
|
};
|
|
2384
|
-
|
|
2385
|
-
|
|
2453
|
+
const intl = (0, import_react_intl10.useIntl)();
|
|
2454
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
2455
|
+
id: username ? "editUsernameTitle" : "setUsernameTitle"
|
|
2456
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "matchid-username-box", children: [
|
|
2457
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Field, { label: intl.formatMessage({
|
|
2458
|
+
id: "username"
|
|
2459
|
+
}), error, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
2386
2460
|
Input,
|
|
2387
2461
|
{
|
|
2388
|
-
placeholder:
|
|
2462
|
+
placeholder: intl.formatMessage({
|
|
2463
|
+
id: "usernamePlaceholder"
|
|
2464
|
+
}),
|
|
2389
2465
|
onChange: (e) => {
|
|
2390
2466
|
setVal(e.target.value);
|
|
2391
2467
|
setError("");
|
|
@@ -2398,17 +2474,21 @@ function UsernameModal({
|
|
|
2398
2474
|
ValidItem,
|
|
2399
2475
|
{
|
|
2400
2476
|
success: isValid,
|
|
2401
|
-
text:
|
|
2477
|
+
text: intl.formatMessage({
|
|
2478
|
+
id: "usernameValidError"
|
|
2479
|
+
})
|
|
2402
2480
|
}
|
|
2403
2481
|
),
|
|
2404
|
-
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ValidItem, { success: isLength, text:
|
|
2482
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
|
|
2483
|
+
id: "usernameLengthError"
|
|
2484
|
+
}) })
|
|
2405
2485
|
] }),
|
|
2406
2486
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
|
|
2407
2487
|
marginTop: "64px"
|
|
2408
|
-
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: "
|
|
2488
|
+
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_intl10.FormattedMessage, { id: "confirm" }) }),
|
|
2409
2489
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Button, { style: {
|
|
2410
2490
|
marginTop: "24px"
|
|
2411
|
-
}, onClick: props.onClose, size: "lg", block: true, children:
|
|
2491
|
+
}, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_intl10.FormattedMessage, { id: "nextTime" }) })
|
|
2412
2492
|
] }) });
|
|
2413
2493
|
}
|
|
2414
2494
|
|
|
@@ -2437,6 +2517,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
|
|
|
2437
2517
|
var walletSigningImage = "data:image/png;base64,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";
|
|
2438
2518
|
|
|
2439
2519
|
// src/components/SOLModal/index.tsx
|
|
2520
|
+
var import_react_intl11 = require("react-intl");
|
|
2440
2521
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
2441
2522
|
function WalletContent({
|
|
2442
2523
|
onSuccess,
|
|
@@ -2634,7 +2715,12 @@ function SOLModal({
|
|
|
2634
2715
|
onSuccess,
|
|
2635
2716
|
...props
|
|
2636
2717
|
}) {
|
|
2637
|
-
|
|
2718
|
+
const intl = (0, import_react_intl11.useIntl)();
|
|
2719
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
2720
|
+
id: type == "bind" ? "bindWith" : "loginWith"
|
|
2721
|
+
}, {
|
|
2722
|
+
name: "SOL"
|
|
2723
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_wallet_adapter_react.ConnectionProvider, { endpoint: (0, import_web3.clusterApiUrl)("devnet"), children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_wallet_adapter_react.WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_wallet_adapter_react_ui.WalletModalProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(WalletContent, { onSuccess, type }) }) }) }) });
|
|
2638
2724
|
}
|
|
2639
2725
|
|
|
2640
2726
|
// src/context/BusinessProvider.tsx
|
|
@@ -2817,7 +2903,8 @@ function useInit({
|
|
|
2817
2903
|
theme,
|
|
2818
2904
|
appid,
|
|
2819
2905
|
events,
|
|
2820
|
-
endpoints
|
|
2906
|
+
endpoints,
|
|
2907
|
+
locale
|
|
2821
2908
|
}) {
|
|
2822
2909
|
const {
|
|
2823
2910
|
setAppid,
|
|
@@ -2826,7 +2913,9 @@ function useInit({
|
|
|
2826
2913
|
setMid,
|
|
2827
2914
|
token,
|
|
2828
2915
|
setOverview,
|
|
2829
|
-
setTheme
|
|
2916
|
+
setTheme,
|
|
2917
|
+
setLocale,
|
|
2918
|
+
locale: realLocale
|
|
2830
2919
|
} = useLocalStore_default();
|
|
2831
2920
|
const overviewLoadingRef = (0, import_react17.useRef)(false);
|
|
2832
2921
|
const searchParams = new URLSearchParams(window.location.search);
|
|
@@ -2841,6 +2930,9 @@ function useInit({
|
|
|
2841
2930
|
(0, import_react17.useEffect)(() => {
|
|
2842
2931
|
setEndpoints(realEndpoints);
|
|
2843
2932
|
}, [realEndpoints]);
|
|
2933
|
+
(0, import_react17.useEffect)(() => {
|
|
2934
|
+
setLocale(locale || "en");
|
|
2935
|
+
}, [locale]);
|
|
2844
2936
|
(0, import_react17.useEffect)(() => {
|
|
2845
2937
|
if (matchToken) {
|
|
2846
2938
|
const tokenData = JSON.parse(atob(matchToken));
|
|
@@ -2913,26 +3005,429 @@ function useInit({
|
|
|
2913
3005
|
return {
|
|
2914
3006
|
loadOverview,
|
|
2915
3007
|
login,
|
|
2916
|
-
endpoints: realEndpoints
|
|
3008
|
+
endpoints: realEndpoints,
|
|
3009
|
+
locale: realLocale
|
|
2917
3010
|
};
|
|
2918
3011
|
}
|
|
2919
3012
|
|
|
2920
3013
|
// src/MatchContext.tsx
|
|
2921
3014
|
var import_react_query = require("@tanstack/react-query");
|
|
3015
|
+
var import_react_intl12 = require("react-intl");
|
|
3016
|
+
|
|
3017
|
+
// src/i18n/en.json
|
|
3018
|
+
var en_default = {
|
|
3019
|
+
email: "Email",
|
|
3020
|
+
emailAddress: "Email Address",
|
|
3021
|
+
emailAddressPlaceholder: "Enter Your Email Address",
|
|
3022
|
+
continue: "Continue",
|
|
3023
|
+
send: "Send",
|
|
3024
|
+
resend: "Resend",
|
|
3025
|
+
sendCodeErrorTip: "Failed to send code: {error}",
|
|
3026
|
+
sendEmailTips: "We have sent a verification code to your email",
|
|
3027
|
+
verificationCode: "Verification Code",
|
|
3028
|
+
codePlaceholder: "Enter the code",
|
|
3029
|
+
wallet: "Wallet",
|
|
3030
|
+
otherLoginMethods: "Other login methods",
|
|
3031
|
+
login: "Login",
|
|
3032
|
+
user: "User",
|
|
3033
|
+
loginTitle: "Log in / Sign up",
|
|
3034
|
+
loginTips: "You can use the following methods",
|
|
3035
|
+
passwordMinError: "Password must be at least {length} characters",
|
|
3036
|
+
passwordMatchError: "The password you entered twice do not match",
|
|
3037
|
+
passwordTitle: "Set Password",
|
|
3038
|
+
passwordTips: "Please set the wallet password that will be used to recover the wallet",
|
|
3039
|
+
password: "Password",
|
|
3040
|
+
passwordPlaceholder: "Enter Your Password",
|
|
3041
|
+
rePassword: "Re Password",
|
|
3042
|
+
rePasswordPlaceholder: "Re Enter the Password",
|
|
3043
|
+
recoverTitle: "Recover Wallet",
|
|
3044
|
+
recoverTips: "Please enter your password to recover your wallet",
|
|
3045
|
+
bindWith: "Bind with {name} Wallet",
|
|
3046
|
+
loginWith: "Login with {name} Wallet",
|
|
3047
|
+
editUsernameTitle: "Edit User Name",
|
|
3048
|
+
setUsernameTitle: "Set User Name",
|
|
3049
|
+
username: "User Name",
|
|
3050
|
+
usernamePlaceholder: "Enter Your User Name",
|
|
3051
|
+
usernameValidError: "Name can be composed of numbers and letters as well as characters",
|
|
3052
|
+
usernameLengthError: "No less than 2 characters",
|
|
3053
|
+
confirm: "Confirm",
|
|
3054
|
+
nextTime: "Next time",
|
|
3055
|
+
setUsername: "Set a User Name",
|
|
3056
|
+
disconnect: "Disconnect"
|
|
3057
|
+
};
|
|
3058
|
+
|
|
3059
|
+
// src/i18n/zh.json
|
|
3060
|
+
var zh_default = {
|
|
3061
|
+
email: "\u90AE\u7BB1",
|
|
3062
|
+
emailAddress: "\u90AE\u7BB1\u5730\u5740",
|
|
3063
|
+
emailAddressPlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u90AE\u7BB1\u5730\u5740",
|
|
3064
|
+
continue: "\u7EE7\u7EED",
|
|
3065
|
+
send: "\u53D1\u9001",
|
|
3066
|
+
resend: "\u91CD\u65B0\u53D1\u9001",
|
|
3067
|
+
sendCodeErrorTip: "\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25\uFF1A{error}",
|
|
3068
|
+
sendEmailTips: "\u6211\u4EEC\u5DF2\u5411\u60A8\u7684\u90AE\u7BB1\u53D1\u9001\u9A8C\u8BC1\u7801",
|
|
3069
|
+
verificationCode: "\u9A8C\u8BC1\u7801",
|
|
3070
|
+
codePlaceholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
|
|
3071
|
+
wallet: "\u94B1\u5305",
|
|
3072
|
+
otherLoginMethods: "\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F",
|
|
3073
|
+
login: "\u767B\u5F55",
|
|
3074
|
+
user: "\u7528\u6237",
|
|
3075
|
+
loginTitle: "\u767B\u5F55 / \u6CE8\u518C",
|
|
3076
|
+
loginTips: "\u60A8\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u65B9\u5F0F\u767B\u5F55",
|
|
3077
|
+
passwordMinError: "\u5BC6\u7801\u5FC5\u987B\u81F3\u5C11\u5305\u542B {length} \u4E2A\u5B57\u7B26",
|
|
3078
|
+
passwordMatchError: "\u4E24\u6B21\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u4E00\u81F4",
|
|
3079
|
+
passwordTitle: "\u8BBE\u7F6E\u5BC6\u7801",
|
|
3080
|
+
passwordTips: "\u8BF7\u8BBE\u7F6E\u7528\u4E8E\u6062\u590D\u94B1\u5305\u7684\u94B1\u5305\u5BC6\u7801",
|
|
3081
|
+
password: "\u5BC6\u7801",
|
|
3082
|
+
passwordPlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u5BC6\u7801",
|
|
3083
|
+
rePassword: "\u786E\u8BA4\u5BC6\u7801",
|
|
3084
|
+
rePasswordPlaceholder: "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
|
|
3085
|
+
recoverTitle: "\u6062\u590D\u94B1\u5305",
|
|
3086
|
+
recoverTips: "\u8BF7\u8F93\u5165\u60A8\u7684\u5BC6\u7801\u4EE5\u6062\u590D\u94B1\u5305",
|
|
3087
|
+
bindWith: "\u7ED1\u5B9A {name} \u94B1\u5305",
|
|
3088
|
+
loginWith: "\u4F7F\u7528 {name} \u94B1\u5305\u767B\u5F55",
|
|
3089
|
+
editUsernameTitle: "\u4FEE\u6539\u7528\u6237\u540D",
|
|
3090
|
+
setUsernameTitle: "\u8BBE\u7F6E\u7528\u6237\u540D",
|
|
3091
|
+
username: "\u7528\u6237\u540D",
|
|
3092
|
+
usernamePlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u7528\u6237\u540D",
|
|
3093
|
+
usernameValidError: "\u7528\u6237\u540D\u53EF\u4EE5\u7531\u6570\u5B57\u3001\u5B57\u6BCD\u548C\u5B57\u7B26\u7EC4\u6210",
|
|
3094
|
+
usernameLengthError: "\u7528\u6237\u540D\u4E0D\u5F97\u5C11\u4E8E 2 \u4E2A\u5B57\u7B26",
|
|
3095
|
+
confirm: "\u786E\u8BA4",
|
|
3096
|
+
nextTime: "\u4E0B\u6B21\u518D\u8BF4",
|
|
3097
|
+
setUsername: "\u8BBE\u7F6E\u7528\u6237\u540D",
|
|
3098
|
+
disconnect: "\u65AD\u5F00\u8FDE\u63A5"
|
|
3099
|
+
};
|
|
3100
|
+
|
|
3101
|
+
// src/i18n/tw.json
|
|
3102
|
+
var tw_default = {
|
|
3103
|
+
email: "\u90F5\u7BB1",
|
|
3104
|
+
emailAddress: "\u90F5\u7BB1\u5730\u5740",
|
|
3105
|
+
emailAddressPlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u90F5\u7BB1\u5730\u5740",
|
|
3106
|
+
continue: "\u7E7C\u7E8C",
|
|
3107
|
+
send: "\u767C\u9001",
|
|
3108
|
+
resend: "\u91CD\u65B0\u767C\u9001",
|
|
3109
|
+
sendCodeErrorTip: "\u767C\u9001\u9A57\u8B49\u78BC\u5931\u6557\uFF1A{error}",
|
|
3110
|
+
sendEmailTips: "\u6211\u5011\u5DF2\u5411\u60A8\u7684\u90F5\u7BB1\u767C\u9001\u9A57\u8B49\u78BC",
|
|
3111
|
+
verificationCode: "\u9A57\u8B49\u78BC",
|
|
3112
|
+
codePlaceholder: "\u8ACB\u8F38\u5165\u9A57\u8B49\u78BC",
|
|
3113
|
+
wallet: "\u9322\u5305",
|
|
3114
|
+
otherLoginMethods: "\u5176\u4ED6\u767B\u5165\u65B9\u5F0F",
|
|
3115
|
+
login: "\u767B\u5165",
|
|
3116
|
+
user: "\u7528\u6236",
|
|
3117
|
+
loginTitle: "\u767B\u5165 / \u8A3B\u518A",
|
|
3118
|
+
loginTips: "\u60A8\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u65B9\u5F0F\u767B\u5165",
|
|
3119
|
+
passwordMinError: "\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u5305\u542B {length} \u500B\u5B57\u7B26",
|
|
3120
|
+
passwordMatchError: "\u5169\u6B21\u8F38\u5165\u7684\u5BC6\u78BC\u4E0D\u4E00\u81F4",
|
|
3121
|
+
passwordTitle: "\u8A2D\u7F6E\u5BC6\u78BC",
|
|
3122
|
+
passwordTips: "\u8ACB\u8A2D\u7F6E\u7528\u65BC\u6062\u5FA9\u9322\u5305\u7684\u5BC6\u78BC",
|
|
3123
|
+
password: "\u5BC6\u78BC",
|
|
3124
|
+
passwordPlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u5BC6\u78BC",
|
|
3125
|
+
rePassword: "\u78BA\u8A8D\u5BC6\u78BC",
|
|
3126
|
+
rePasswordPlaceholder: "\u8ACB\u518D\u6B21\u8F38\u5165\u5BC6\u78BC",
|
|
3127
|
+
recoverTitle: "\u6062\u5FA9\u9322\u5305",
|
|
3128
|
+
recoverTips: "\u8ACB\u8F38\u5165\u60A8\u7684\u5BC6\u78BC\u4EE5\u6062\u5FA9\u9322\u5305",
|
|
3129
|
+
bindWith: "\u7D81\u5B9A {name} \u9322\u5305",
|
|
3130
|
+
loginWith: "\u4F7F\u7528 {name} \u9322\u5305\u767B\u5165",
|
|
3131
|
+
editUsernameTitle: "\u4FEE\u6539\u7528\u6236\u540D",
|
|
3132
|
+
setUsernameTitle: "\u8A2D\u7F6E\u7528\u6236\u540D",
|
|
3133
|
+
username: "\u7528\u6236\u540D",
|
|
3134
|
+
usernamePlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u7528\u6236\u540D",
|
|
3135
|
+
usernameValidError: "\u7528\u6236\u540D\u53EF\u4EE5\u7531\u6578\u5B57\u3001\u5B57\u6BCD\u548C\u5B57\u7B26\u7D44\u6210",
|
|
3136
|
+
usernameLengthError: "\u7528\u6236\u540D\u4E0D\u5F97\u5C11\u65BC 2 \u500B\u5B57\u7B26",
|
|
3137
|
+
confirm: "\u78BA\u8A8D",
|
|
3138
|
+
nextTime: "\u4E0B\u6B21\u518D\u8AAA",
|
|
3139
|
+
setUsername: "\u8A2D\u7F6E\u7528\u6236\u540D",
|
|
3140
|
+
disconnect: "\u65B7\u958B\u9023\u63A5"
|
|
3141
|
+
};
|
|
3142
|
+
|
|
3143
|
+
// src/i18n/fr.json
|
|
3144
|
+
var fr_default = {
|
|
3145
|
+
email: "Email",
|
|
3146
|
+
emailAddress: "Adresse Email",
|
|
3147
|
+
emailAddressPlaceholder: "Entrez votre adresse email",
|
|
3148
|
+
continue: "Continuer",
|
|
3149
|
+
send: "Envoyer",
|
|
3150
|
+
resend: "Renvoyer",
|
|
3151
|
+
sendCodeErrorTip: "\xC9chec de l'envoi du code : {error}",
|
|
3152
|
+
sendEmailTips: "Un code de v\xE9rification a \xE9t\xE9 envoy\xE9 \xE0 votre email",
|
|
3153
|
+
verificationCode: "Code de v\xE9rification",
|
|
3154
|
+
codePlaceholder: "Entrez le code",
|
|
3155
|
+
wallet: "Portefeuille",
|
|
3156
|
+
otherLoginMethods: "Autres m\xE9thodes de connexion",
|
|
3157
|
+
login: "Connexion",
|
|
3158
|
+
user: "Utilisateur",
|
|
3159
|
+
loginTitle: "Connexion / Inscription",
|
|
3160
|
+
loginTips: "Vous pouvez utiliser les m\xE9thodes suivantes",
|
|
3161
|
+
passwordMinError: "Le mot de passe doit contenir au moins {length} caract\xE8res",
|
|
3162
|
+
passwordMatchError: "Les mots de passe ne correspondent pas",
|
|
3163
|
+
passwordTitle: "D\xE9finir un mot de passe",
|
|
3164
|
+
passwordTips: "Veuillez d\xE9finir le mot de passe pour restaurer le portefeuille",
|
|
3165
|
+
password: "Mot de passe",
|
|
3166
|
+
passwordPlaceholder: "Entrez votre mot de passe",
|
|
3167
|
+
rePassword: "Confirmer le mot de passe",
|
|
3168
|
+
rePasswordPlaceholder: "Ressaisissez le mot de passe",
|
|
3169
|
+
recoverTitle: "Restaurer le portefeuille",
|
|
3170
|
+
recoverTips: "Entrez votre mot de passe pour restaurer le portefeuille",
|
|
3171
|
+
bindWith: "Lier avec le portefeuille {name}",
|
|
3172
|
+
loginWith: "Connexion avec le portefeuille {name}",
|
|
3173
|
+
editUsernameTitle: "Modifier le nom d'utilisateur",
|
|
3174
|
+
setUsernameTitle: "D\xE9finir un nom d'utilisateur",
|
|
3175
|
+
username: "Nom d'utilisateur",
|
|
3176
|
+
usernamePlaceholder: "Entrez votre nom d'utilisateur",
|
|
3177
|
+
usernameValidError: "Le nom peut contenir des lettres, chiffres et caract\xE8res",
|
|
3178
|
+
usernameLengthError: "Le nom doit comporter au moins 2 caract\xE8res",
|
|
3179
|
+
confirm: "Confirmer",
|
|
3180
|
+
nextTime: "La prochaine fois",
|
|
3181
|
+
setUsername: "D\xE9finir un nom d'utilisateur",
|
|
3182
|
+
disconnect: "D\xE9connecter"
|
|
3183
|
+
};
|
|
3184
|
+
|
|
3185
|
+
// src/i18n/ja.json
|
|
3186
|
+
var ja_default = {
|
|
3187
|
+
email: "\u30E1\u30FC\u30EB",
|
|
3188
|
+
emailAddress: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",
|
|
3189
|
+
emailAddressPlaceholder: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3190
|
+
continue: "\u7D9A\u3051\u308B",
|
|
3191
|
+
send: "\u9001\u4FE1",
|
|
3192
|
+
resend: "\u518D\u9001\u4FE1",
|
|
3193
|
+
sendCodeErrorTip: "\u30B3\u30FC\u30C9\u9001\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {error}",
|
|
3194
|
+
sendEmailTips: "\u78BA\u8A8D\u30B3\u30FC\u30C9\u3092\u30E1\u30FC\u30EB\u306B\u9001\u4FE1\u3057\u307E\u3057\u305F",
|
|
3195
|
+
verificationCode: "\u78BA\u8A8D\u30B3\u30FC\u30C9",
|
|
3196
|
+
codePlaceholder: "\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3197
|
+
wallet: "\u30A6\u30A9\u30EC\u30C3\u30C8",
|
|
3198
|
+
otherLoginMethods: "\u305D\u306E\u4ED6\u306E\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5",
|
|
3199
|
+
login: "\u30ED\u30B0\u30A4\u30F3",
|
|
3200
|
+
user: "\u30E6\u30FC\u30B6\u30FC",
|
|
3201
|
+
loginTitle: "\u30ED\u30B0\u30A4\u30F3 / \u767B\u9332",
|
|
3202
|
+
loginTips: "\u4EE5\u4E0B\u306E\u65B9\u6CD5\u3067\u30ED\u30B0\u30A4\u30F3\u3067\u304D\u307E\u3059",
|
|
3203
|
+
passwordMinError: "\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u6700\u4F4E {length} \u6587\u5B57\u5FC5\u8981\u3067\u3059",
|
|
3204
|
+
passwordMatchError: "\u5165\u529B\u3055\u308C\u305F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093",
|
|
3205
|
+
passwordTitle: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8A2D\u5B9A",
|
|
3206
|
+
passwordTips: "\u30A6\u30A9\u30EC\u30C3\u30C8\u5FA9\u5143\u7528\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3207
|
+
password: "\u30D1\u30B9\u30EF\u30FC\u30C9",
|
|
3208
|
+
passwordPlaceholder: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3209
|
+
rePassword: "\u30D1\u30B9\u30EF\u30FC\u30C9\u78BA\u8A8D",
|
|
3210
|
+
rePasswordPlaceholder: "\u518D\u5EA6\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3211
|
+
recoverTitle: "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u5FA9\u5143",
|
|
3212
|
+
recoverTips: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u5FA9\u5143\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3213
|
+
bindWith: "{name}\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u9023\u643A",
|
|
3214
|
+
loginWith: "{name}\u30A6\u30A9\u30EC\u30C3\u30C8\u3067\u30ED\u30B0\u30A4\u30F3",
|
|
3215
|
+
editUsernameTitle: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u7DE8\u96C6",
|
|
3216
|
+
setUsernameTitle: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u8A2D\u5B9A",
|
|
3217
|
+
username: "\u30E6\u30FC\u30B6\u30FC\u540D",
|
|
3218
|
+
usernamePlaceholder: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3219
|
+
usernameValidError: "\u540D\u524D\u306F\u6587\u5B57\u3001\u6570\u5B57\u3001\u8A18\u53F7\u3067\u69CB\u6210\u3067\u304D\u307E\u3059",
|
|
3220
|
+
usernameLengthError: "2\u6587\u5B57\u4EE5\u4E0A\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3221
|
+
confirm: "\u78BA\u8A8D",
|
|
3222
|
+
nextTime: "\u6B21\u56DE",
|
|
3223
|
+
setUsername: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u8A2D\u5B9A",
|
|
3224
|
+
disconnect: "\u5207\u65AD"
|
|
3225
|
+
};
|
|
3226
|
+
|
|
3227
|
+
// src/i18n/ko.json
|
|
3228
|
+
var ko_default = {
|
|
3229
|
+
email: "\uC774\uBA54\uC77C",
|
|
3230
|
+
emailAddress: "\uC774\uBA54\uC77C \uC8FC\uC18C",
|
|
3231
|
+
emailAddressPlaceholder: "\uC774\uBA54\uC77C \uC8FC\uC18C\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3232
|
+
continue: "\uACC4\uC18D\uD558\uAE30",
|
|
3233
|
+
send: "\uBCF4\uB0B4\uAE30",
|
|
3234
|
+
resend: "\uC7AC\uC804\uC1A1",
|
|
3235
|
+
sendCodeErrorTip: "\uCF54\uB4DC \uC804\uC1A1 \uC2E4\uD328: {error}",
|
|
3236
|
+
sendEmailTips: "\uC778\uC99D \uCF54\uB4DC\uB97C \uC774\uBA54\uC77C\uB85C \uBCF4\uB0C8\uC2B5\uB2C8\uB2E4",
|
|
3237
|
+
verificationCode: "\uC778\uC99D \uCF54\uB4DC",
|
|
3238
|
+
codePlaceholder: "\uCF54\uB4DC\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3239
|
+
wallet: "\uC9C0\uAC11",
|
|
3240
|
+
otherLoginMethods: "\uB2E4\uB978 \uB85C\uADF8\uC778 \uBC29\uBC95",
|
|
3241
|
+
login: "\uB85C\uADF8\uC778",
|
|
3242
|
+
user: "\uC0AC\uC6A9\uC790",
|
|
3243
|
+
loginTitle: "\uB85C\uADF8\uC778 / \uD68C\uC6D0\uAC00\uC785",
|
|
3244
|
+
loginTips: "\uB2E4\uC74C \uBC29\uBC95\uC73C\uB85C \uB85C\uADF8\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4",
|
|
3245
|
+
passwordMinError: "\uBE44\uBC00\uBC88\uD638\uB294 \uCD5C\uC18C {length}\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4",
|
|
3246
|
+
passwordMatchError: "\uB450 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",
|
|
3247
|
+
passwordTitle: "\uBE44\uBC00\uBC88\uD638 \uC124\uC815",
|
|
3248
|
+
passwordTips: "\uC9C0\uAC11 \uBCF5\uAD6C\uC5D0 \uC0AC\uC6A9\uD560 \uBE44\uBC00\uBC88\uD638\uB97C \uC124\uC815\uD558\uC138\uC694",
|
|
3249
|
+
password: "\uBE44\uBC00\uBC88\uD638",
|
|
3250
|
+
passwordPlaceholder: "\uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3251
|
+
rePassword: "\uBE44\uBC00\uBC88\uD638 \uD655\uC778",
|
|
3252
|
+
rePasswordPlaceholder: "\uBE44\uBC00\uBC88\uD638\uB97C \uB2E4\uC2DC \uC785\uB825\uD558\uC138\uC694",
|
|
3253
|
+
recoverTitle: "\uC9C0\uAC11 \uBCF5\uAD6C",
|
|
3254
|
+
recoverTips: "\uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD574 \uC9C0\uAC11\uC744 \uBCF5\uAD6C\uD558\uC138\uC694",
|
|
3255
|
+
bindWith: "{name} \uC9C0\uAC11\uACFC \uC5F0\uACB0",
|
|
3256
|
+
loginWith: "{name} \uC9C0\uAC11\uC73C\uB85C \uB85C\uADF8\uC778",
|
|
3257
|
+
editUsernameTitle: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC218\uC815",
|
|
3258
|
+
setUsernameTitle: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC124\uC815",
|
|
3259
|
+
username: "\uC0AC\uC6A9\uC790 \uC774\uB984",
|
|
3260
|
+
usernamePlaceholder: "\uC0AC\uC6A9\uC790 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694",
|
|
3261
|
+
usernameValidError: "\uC774\uB984\uC740 \uBB38\uC790, \uC22B\uC790 \uBC0F \uD2B9\uC218\uBB38\uC790\uB85C \uAD6C\uC131\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4",
|
|
3262
|
+
usernameLengthError: "\uC774\uB984\uC740 \uCD5C\uC18C 2\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4",
|
|
3263
|
+
confirm: "\uD655\uC778",
|
|
3264
|
+
nextTime: "\uB2E4\uC74C\uC5D0",
|
|
3265
|
+
setUsername: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC124\uC815",
|
|
3266
|
+
disconnect: "\uC5F0\uACB0 \uB04A\uAE30"
|
|
3267
|
+
};
|
|
3268
|
+
|
|
3269
|
+
// src/i18n/vi.json
|
|
3270
|
+
var vi_default = {
|
|
3271
|
+
email: "Email",
|
|
3272
|
+
emailAddress: "\u0110\u1ECBa ch\u1EC9 Email",
|
|
3273
|
+
emailAddressPlaceholder: "Nh\u1EADp \u0111\u1ECBa ch\u1EC9 Email c\u1EE7a b\u1EA1n",
|
|
3274
|
+
continue: "Ti\u1EBFp t\u1EE5c",
|
|
3275
|
+
send: "G\u1EEDi",
|
|
3276
|
+
resend: "G\u1EEDi l\u1EA1i",
|
|
3277
|
+
sendCodeErrorTip: "G\u1EEDi m\xE3 th\u1EA5t b\u1EA1i: {error}",
|
|
3278
|
+
sendEmailTips: "Ch\xFAng t\xF4i \u0111\xE3 g\u1EEDi m\xE3 x\xE1c minh \u0111\u1EBFn email c\u1EE7a b\u1EA1n",
|
|
3279
|
+
verificationCode: "M\xE3 x\xE1c minh",
|
|
3280
|
+
codePlaceholder: "Nh\u1EADp m\xE3",
|
|
3281
|
+
wallet: "V\xED",
|
|
3282
|
+
otherLoginMethods: "Ph\u01B0\u01A1ng th\u1EE9c \u0111\u0103ng nh\u1EADp kh\xE1c",
|
|
3283
|
+
login: "\u0110\u0103ng nh\u1EADp",
|
|
3284
|
+
user: "Ng\u01B0\u1EDDi d\xF9ng",
|
|
3285
|
+
loginTitle: "\u0110\u0103ng nh\u1EADp / \u0110\u0103ng k\xFD",
|
|
3286
|
+
loginTips: "B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng c\xE1c ph\u01B0\u01A1ng th\u1EE9c sau",
|
|
3287
|
+
passwordMinError: "M\u1EADt kh\u1EA9u ph\u1EA3i c\xF3 \xEDt nh\u1EA5t {length} k\xFD t\u1EF1",
|
|
3288
|
+
passwordMatchError: "Hai m\u1EADt kh\u1EA9u kh\xF4ng kh\u1EDBp",
|
|
3289
|
+
passwordTitle: "T\u1EA1o m\u1EADt kh\u1EA9u",
|
|
3290
|
+
passwordTips: "Vui l\xF2ng \u0111\u1EB7t m\u1EADt kh\u1EA9u \u0111\u1EC3 kh\xF4i ph\u1EE5c v\xED",
|
|
3291
|
+
password: "M\u1EADt kh\u1EA9u",
|
|
3292
|
+
passwordPlaceholder: "Nh\u1EADp m\u1EADt kh\u1EA9u c\u1EE7a b\u1EA1n",
|
|
3293
|
+
rePassword: "X\xE1c nh\u1EADn m\u1EADt kh\u1EA9u",
|
|
3294
|
+
rePasswordPlaceholder: "Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u",
|
|
3295
|
+
recoverTitle: "Kh\xF4i ph\u1EE5c v\xED",
|
|
3296
|
+
recoverTips: "Nh\u1EADp m\u1EADt kh\u1EA9u \u0111\u1EC3 kh\xF4i ph\u1EE5c v\xED",
|
|
3297
|
+
bindWith: "Li\xEAn k\u1EBFt v\u1EDBi v\xED {name}",
|
|
3298
|
+
loginWith: "\u0110\u0103ng nh\u1EADp b\u1EB1ng v\xED {name}",
|
|
3299
|
+
editUsernameTitle: "Ch\u1EC9nh s\u1EEDa t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3300
|
+
setUsernameTitle: "\u0110\u1EB7t t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3301
|
+
username: "T\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3302
|
+
usernamePlaceholder: "Nh\u1EADp t\xEAn ng\u01B0\u1EDDi d\xF9ng c\u1EE7a b\u1EA1n",
|
|
3303
|
+
usernameValidError: "T\xEAn ch\u1EC9 \u0111\u01B0\u1EE3c ch\u1EE9a ch\u1EEF, s\u1ED1 v\xE0 k\xFD t\u1EF1",
|
|
3304
|
+
usernameLengthError: "T\xEAn ph\u1EA3i d\xE0i \xEDt nh\u1EA5t 2 k\xFD t\u1EF1",
|
|
3305
|
+
confirm: "X\xE1c nh\u1EADn",
|
|
3306
|
+
nextTime: "L\u1EA7n sau",
|
|
3307
|
+
setUsername: "\u0110\u1EB7t t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3308
|
+
disconnect: "Ng\u1EAFt k\u1EBFt n\u1ED1i"
|
|
3309
|
+
};
|
|
3310
|
+
|
|
3311
|
+
// src/i18n/es.json
|
|
3312
|
+
var es_default = {
|
|
3313
|
+
email: "Correo",
|
|
3314
|
+
emailAddress: "Direcci\xF3n de correo",
|
|
3315
|
+
emailAddressPlaceholder: "Introduce tu direcci\xF3n de correo",
|
|
3316
|
+
continue: "Continuar",
|
|
3317
|
+
send: "Enviar",
|
|
3318
|
+
resend: "Reenviar",
|
|
3319
|
+
sendCodeErrorTip: "Error al enviar el c\xF3digo: {error}",
|
|
3320
|
+
sendEmailTips: "Hemos enviado un c\xF3digo de verificaci\xF3n a tu correo",
|
|
3321
|
+
verificationCode: "C\xF3digo de verificaci\xF3n",
|
|
3322
|
+
codePlaceholder: "Introduce el c\xF3digo",
|
|
3323
|
+
wallet: "Cartera",
|
|
3324
|
+
otherLoginMethods: "Otros m\xE9todos de inicio de sesi\xF3n",
|
|
3325
|
+
login: "Iniciar sesi\xF3n",
|
|
3326
|
+
user: "Usuario",
|
|
3327
|
+
loginTitle: "Iniciar sesi\xF3n / Registrarse",
|
|
3328
|
+
loginTips: "Puedes usar los siguientes m\xE9todos",
|
|
3329
|
+
passwordMinError: "La contrase\xF1a debe tener al menos {length} caracteres",
|
|
3330
|
+
passwordMatchError: "Las contrase\xF1as no coinciden",
|
|
3331
|
+
passwordTitle: "Establecer contrase\xF1a",
|
|
3332
|
+
passwordTips: "Configura la contrase\xF1a para recuperar tu cartera",
|
|
3333
|
+
password: "Contrase\xF1a",
|
|
3334
|
+
passwordPlaceholder: "Introduce tu contrase\xF1a",
|
|
3335
|
+
rePassword: "Confirmar contrase\xF1a",
|
|
3336
|
+
rePasswordPlaceholder: "Repite la contrase\xF1a",
|
|
3337
|
+
recoverTitle: "Recuperar cartera",
|
|
3338
|
+
recoverTips: "Introduce tu contrase\xF1a para recuperar la cartera",
|
|
3339
|
+
bindWith: "Vincular con la cartera {name}",
|
|
3340
|
+
loginWith: "Iniciar sesi\xF3n con la cartera {name}",
|
|
3341
|
+
editUsernameTitle: "Editar nombre de usuario",
|
|
3342
|
+
setUsernameTitle: "Establecer nombre de usuario",
|
|
3343
|
+
username: "Nombre de usuario",
|
|
3344
|
+
usernamePlaceholder: "Introduce tu nombre de usuario",
|
|
3345
|
+
usernameValidError: "El nombre puede contener letras, n\xFAmeros y caracteres",
|
|
3346
|
+
usernameLengthError: "El nombre debe tener al menos 2 caracteres",
|
|
3347
|
+
confirm: "Confirmar",
|
|
3348
|
+
nextTime: "La pr\xF3xima vez",
|
|
3349
|
+
setUsername: "Establecer nombre de usuario",
|
|
3350
|
+
disconnect: "Desconectar"
|
|
3351
|
+
};
|
|
3352
|
+
|
|
3353
|
+
// src/i18n/pt.json
|
|
3354
|
+
var pt_default = {
|
|
3355
|
+
email: "Email",
|
|
3356
|
+
emailAddress: "Endere\xE7o de Email",
|
|
3357
|
+
emailAddressPlaceholder: "Digite seu endere\xE7o de email",
|
|
3358
|
+
continue: "Continuar",
|
|
3359
|
+
send: "Enviar",
|
|
3360
|
+
resend: "Reenviar",
|
|
3361
|
+
sendCodeErrorTip: "Falha ao enviar c\xF3digo: {error}",
|
|
3362
|
+
sendEmailTips: "Enviamos um c\xF3digo de verifica\xE7\xE3o para seu email",
|
|
3363
|
+
verificationCode: "C\xF3digo de Verifica\xE7\xE3o",
|
|
3364
|
+
codePlaceholder: "Digite o c\xF3digo",
|
|
3365
|
+
wallet: "Carteira",
|
|
3366
|
+
otherLoginMethods: "Outros m\xE9todos de login",
|
|
3367
|
+
login: "Entrar",
|
|
3368
|
+
user: "Usu\xE1rio",
|
|
3369
|
+
loginTitle: "Entrar / Registrar",
|
|
3370
|
+
loginTips: "Voc\xEA pode usar os m\xE9todos abaixo",
|
|
3371
|
+
passwordMinError: "A senha deve ter pelo menos {length} caracteres",
|
|
3372
|
+
passwordMatchError: "As senhas digitadas n\xE3o coincidem",
|
|
3373
|
+
passwordTitle: "Definir Senha",
|
|
3374
|
+
passwordTips: "Configure uma senha para recuperar sua carteira",
|
|
3375
|
+
password: "Senha",
|
|
3376
|
+
passwordPlaceholder: "Digite sua senha",
|
|
3377
|
+
rePassword: "Confirmar Senha",
|
|
3378
|
+
rePasswordPlaceholder: "Digite a senha novamente",
|
|
3379
|
+
recoverTitle: "Recuperar Carteira",
|
|
3380
|
+
recoverTips: "Digite sua senha para recuperar a carteira",
|
|
3381
|
+
bindWith: "Vincular com Carteira {name}",
|
|
3382
|
+
loginWith: "Entrar com Carteira {name}",
|
|
3383
|
+
editUsernameTitle: "Editar Nome de Usu\xE1rio",
|
|
3384
|
+
setUsernameTitle: "Definir Nome de Usu\xE1rio",
|
|
3385
|
+
username: "Nome de Usu\xE1rio",
|
|
3386
|
+
usernamePlaceholder: "Digite seu nome de usu\xE1rio",
|
|
3387
|
+
usernameValidError: "O nome pode conter letras, n\xFAmeros e caracteres",
|
|
3388
|
+
usernameLengthError: "Deve ter no m\xEDnimo 2 caracteres",
|
|
3389
|
+
confirm: "Confirmar",
|
|
3390
|
+
nextTime: "Pr\xF3xima vez",
|
|
3391
|
+
setUsername: "Definir Nome de Usu\xE1rio",
|
|
3392
|
+
disconnect: "Desconectar"
|
|
3393
|
+
};
|
|
3394
|
+
|
|
3395
|
+
// src/i18n/index.ts
|
|
3396
|
+
var messages = {
|
|
3397
|
+
en: en_default,
|
|
3398
|
+
zh: zh_default,
|
|
3399
|
+
tw: tw_default,
|
|
3400
|
+
fr: fr_default,
|
|
3401
|
+
ja: ja_default,
|
|
3402
|
+
ko: ko_default,
|
|
3403
|
+
vi: vi_default,
|
|
3404
|
+
es: es_default,
|
|
3405
|
+
pt: pt_default
|
|
3406
|
+
};
|
|
3407
|
+
|
|
3408
|
+
// src/MatchContext.tsx
|
|
2922
3409
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
2923
3410
|
var queryClient = new import_react_query.QueryClient();
|
|
2924
3411
|
var MatchContext = (0, import_react18.createContext)(void 0);
|
|
2925
|
-
var MatchProvider = ({ children, appid, events, theme = "light", endpoints }) => {
|
|
2926
|
-
const { loadOverview, login, endpoints: realEndPoints } = useInit({
|
|
3412
|
+
var MatchProvider = ({ children, appid, events, theme = "light", endpoints, locale }) => {
|
|
3413
|
+
const { loadOverview, login, endpoints: realEndPoints, locale: realLocale } = useInit({
|
|
2927
3414
|
theme,
|
|
2928
3415
|
appid,
|
|
2929
3416
|
events,
|
|
2930
|
-
endpoints
|
|
3417
|
+
endpoints,
|
|
3418
|
+
locale
|
|
3419
|
+
});
|
|
3420
|
+
matchlog_default.log("config", {
|
|
3421
|
+
appid,
|
|
3422
|
+
theme,
|
|
3423
|
+
endpoints,
|
|
3424
|
+
locale,
|
|
3425
|
+
realLocale
|
|
2931
3426
|
});
|
|
2932
3427
|
useWalletInit({
|
|
2933
3428
|
refreshOverview: loadOverview
|
|
2934
3429
|
});
|
|
2935
|
-
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_query.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
3430
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_intl12.IntlProvider, { locale: realLocale, messages: messages[realLocale], children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_query.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
2936
3431
|
MatchContext.Provider,
|
|
2937
3432
|
{
|
|
2938
3433
|
value: {
|
|
@@ -2940,11 +3435,12 @@ var MatchProvider = ({ children, appid, events, theme = "light", endpoints }) =>
|
|
|
2940
3435
|
endpoints: realEndPoints,
|
|
2941
3436
|
events,
|
|
2942
3437
|
login,
|
|
2943
|
-
theme
|
|
3438
|
+
theme,
|
|
3439
|
+
locale: realLocale
|
|
2944
3440
|
},
|
|
2945
3441
|
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(context_default, { children })
|
|
2946
3442
|
}
|
|
2947
|
-
) });
|
|
3443
|
+
) }) });
|
|
2948
3444
|
};
|
|
2949
3445
|
var useMatch = () => {
|
|
2950
3446
|
const context = (0, import_react18.useContext)(MatchContext);
|